diff options
-rw-r--r-- | drivers/scsi/stex.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index 96dcbac9545e..81dd3b740daf 100644 --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c | |||
@@ -1041,7 +1041,12 @@ static void stex_hard_reset(struct st_hba *hba) | |||
1041 | pci_read_config_byte(bus->self, PCI_BRIDGE_CONTROL, &pci_bctl); | 1041 | pci_read_config_byte(bus->self, PCI_BRIDGE_CONTROL, &pci_bctl); |
1042 | pci_bctl |= PCI_BRIDGE_CTL_BUS_RESET; | 1042 | pci_bctl |= PCI_BRIDGE_CTL_BUS_RESET; |
1043 | pci_write_config_byte(bus->self, PCI_BRIDGE_CONTROL, pci_bctl); | 1043 | pci_write_config_byte(bus->self, PCI_BRIDGE_CONTROL, pci_bctl); |
1044 | msleep(1); | 1044 | |
1045 | /* | ||
1046 | * 1 ms may be enough for 8-port controllers. But 16-port controllers | ||
1047 | * require more time to finish bus reset. Use 100 ms here for safety | ||
1048 | */ | ||
1049 | msleep(100); | ||
1045 | pci_bctl &= ~PCI_BRIDGE_CTL_BUS_RESET; | 1050 | pci_bctl &= ~PCI_BRIDGE_CTL_BUS_RESET; |
1046 | pci_write_config_byte(bus->self, PCI_BRIDGE_CONTROL, pci_bctl); | 1051 | pci_write_config_byte(bus->self, PCI_BRIDGE_CONTROL, pci_bctl); |
1047 | 1052 | ||