[SCSIPORT]

- Fix a critical bug in interrupt sharing between scsiport miniports and other drivers which caused scsiport to mask the interrupts from other devices sitting behind it
- This commit and r57063 fixes bug 7231

svn path=/trunk/; revision=57064
This commit is contained in:
Cameron Gutman 2012-08-13 00:31:27 +00:00
parent ea21f990a2
commit 8288824381

View file

@ -4585,7 +4585,11 @@ ScsiPortIsr(IN PKINTERRUPT Interrupt,
return FALSE; return FALSE;
/* Call miniport's HwInterrupt routine */ /* Call miniport's HwInterrupt routine */
DeviceExtension->HwInterrupt(&DeviceExtension->MiniPortDeviceExtension); if (DeviceExtension->HwInterrupt(&DeviceExtension->MiniPortDeviceExtension) == FALSE)
{
/* This interrupt doesn't belong to us */
return FALSE;
}
/* If flag of notification is set - queue a DPC */ /* If flag of notification is set - queue a DPC */
if (DeviceExtension->InterruptData.Flags & SCSI_PORT_NOTIFICATION_NEEDED) if (DeviceExtension->InterruptData.Flags & SCSI_PORT_NOTIFICATION_NEEDED)