diff options
-rw-r--r-- | drivers/scsi/Kconfig | 2 | ||||
-rw-r--r-- | drivers/scsi/gdth.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index a5f0aaaf0dd4..a7a0813b24cb 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig | |||
@@ -722,7 +722,7 @@ config SCSI_FD_MCS | |||
722 | 722 | ||
723 | config SCSI_GDTH | 723 | config SCSI_GDTH |
724 | tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" | 724 | tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support" |
725 | depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API && PCI_LEGACY | 725 | depends on (ISA || EISA || PCI) && SCSI && ISA_DMA_API |
726 | ---help--- | 726 | ---help--- |
727 | Formerly called GDT SCSI Disk Array Controller Support. | 727 | Formerly called GDT SCSI Disk Array Controller Support. |
728 | 728 | ||
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c index 7079fef383ec..6d67f5c0eb8e 100644 --- a/drivers/scsi/gdth.c +++ b/drivers/scsi/gdth.c | |||
@@ -642,12 +642,15 @@ static void __init gdth_search_dev(gdth_pci_str *pcistr, ushort *cnt, | |||
642 | *cnt, vendor, device)); | 642 | *cnt, vendor, device)); |
643 | 643 | ||
644 | pdev = NULL; | 644 | pdev = NULL; |
645 | while ((pdev = pci_find_device(vendor, device, pdev)) | 645 | while ((pdev = pci_get_device(vendor, device, pdev)) |
646 | != NULL) { | 646 | != NULL) { |
647 | if (pci_enable_device(pdev)) | 647 | if (pci_enable_device(pdev)) |
648 | continue; | 648 | continue; |
649 | if (*cnt >= MAXHA) | 649 | if (*cnt >= MAXHA) { |
650 | pci_dev_put(pdev); | ||
650 | return; | 651 | return; |
652 | } | ||
653 | |||
651 | /* GDT PCI controller found, resources are already in pdev */ | 654 | /* GDT PCI controller found, resources are already in pdev */ |
652 | pcistr[*cnt].pdev = pdev; | 655 | pcistr[*cnt].pdev = pdev; |
653 | pcistr[*cnt].irq = pdev->irq; | 656 | pcistr[*cnt].irq = pdev->irq; |