Index: drivers/storage/scsiport/scsiport.c =================================================================== --- drivers/storage/scsiport/scsiport.c (revision 56807) +++ drivers/storage/scsiport/scsiport.c (working copy) @@ -2353,7 +2353,12 @@ /* If result is PCI_INVALID_VENDORID, then this device has no more "Functions" */ if (PciConfig.VendorID == PCI_INVALID_VENDORID) - break; + continue; + + if(busDataRead < (ULONG)PCI_COMMON_HDR_LENGTH) { + NeedPciAltInit = TRUE; + continue; + } sprintf (VendorIdString, "%04hx", PciConfig.VendorID); sprintf (DeviceIdString, "%04hx", PciConfig.DeviceID);