I have a PCI device powered from external source.
This device can be shut down without shuting the machine (surprise removal).

My device shares an IRQ with other devices (USB2 host controller and network card).
Uppon power down and before windows gets the chance to remove my driver I get an interrupt from other devices on my IRQ.
This causes access to my HW which is dead at this time ===> I get a PCI read timeout which causes Machine check and a blue screen.

Trying to rceive notifications of this removal does not work since it take a few miliseconds until my driver knows about the removal and in that time I get few interrupts from other devices.

Trying to change IRQ to a unique number does not work with ACPI and APIC.

Is there any solution for this (insane) scenario ???

I work with Windows server 2003.

Your help is appreciated.
Sharon Katz