diff options
Diffstat (limited to 'drivers/scsi/gdth.c')
-rw-r--r-- | drivers/scsi/gdth.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c index c82523908c2e..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; |
@@ -4836,6 +4839,9 @@ static int __init gdth_isa_probe_one(ulong32 isa_bios) | |||
4836 | if (error) | 4839 | if (error) |
4837 | goto out_free_coal_stat; | 4840 | goto out_free_coal_stat; |
4838 | list_add_tail(&ha->list, &gdth_instances); | 4841 | list_add_tail(&ha->list, &gdth_instances); |
4842 | |||
4843 | scsi_scan_host(shp); | ||
4844 | |||
4839 | return 0; | 4845 | return 0; |
4840 | 4846 | ||
4841 | out_free_coal_stat: | 4847 | out_free_coal_stat: |
@@ -4963,6 +4969,9 @@ static int __init gdth_eisa_probe_one(ushort eisa_slot) | |||
4963 | if (error) | 4969 | if (error) |
4964 | goto out_free_coal_stat; | 4970 | goto out_free_coal_stat; |
4965 | list_add_tail(&ha->list, &gdth_instances); | 4971 | list_add_tail(&ha->list, &gdth_instances); |
4972 | |||
4973 | scsi_scan_host(shp); | ||
4974 | |||
4966 | return 0; | 4975 | return 0; |
4967 | 4976 | ||
4968 | out_free_ccb_phys: | 4977 | out_free_ccb_phys: |
@@ -5100,6 +5109,9 @@ static int __init gdth_pci_probe_one(gdth_pci_str *pcistr, int ctr) | |||
5100 | if (error) | 5109 | if (error) |
5101 | goto out_free_coal_stat; | 5110 | goto out_free_coal_stat; |
5102 | list_add_tail(&ha->list, &gdth_instances); | 5111 | list_add_tail(&ha->list, &gdth_instances); |
5112 | |||
5113 | scsi_scan_host(shp); | ||
5114 | |||
5103 | return 0; | 5115 | return 0; |
5104 | 5116 | ||
5105 | out_free_coal_stat: | 5117 | out_free_coal_stat: |