summaryrefslogtreecommitdiff
path: root/drivers/ide/ide-scan-pci.c
diff options
context:
space:
mode:
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-10-21 13:09:18 +0200
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2017-10-21 13:09:18 +0200
commita2ab5fc41533c952706ebdfaa378bb746e535cc1 (patch)
tree9fb86bb4e9ecb67f7e651d284c2f12c6c5d4378f /drivers/ide/ide-scan-pci.c
parenta380f2edef65b2447a043251bb3c00a9d2153a8b (diff)
parent0e708fc602531b8355b5de6ea7c98f09129b223f (diff)
Merge branch 'pm-sleep' into pm-core
Diffstat (limited to 'drivers/ide/ide-scan-pci.c')
-rw-r--r--drivers/ide/ide-scan-pci.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/ide/ide-scan-pci.c b/drivers/ide/ide-scan-pci.c
index 86aa88aeb3a6..acf874800ca4 100644
--- a/drivers/ide/ide-scan-pci.c
+++ b/drivers/ide/ide-scan-pci.c
@@ -56,6 +56,7 @@ static int __init ide_scan_pcidev(struct pci_dev *dev)
{
struct list_head *l;
struct pci_driver *d;
+ int ret;
list_for_each(l, &ide_pci_drivers) {
d = list_entry(l, struct pci_driver, node);
@@ -63,10 +64,14 @@ static int __init ide_scan_pcidev(struct pci_dev *dev)
const struct pci_device_id *id =
pci_match_id(d->id_table, dev);
- if (id != NULL && d->probe(dev, id) >= 0) {
- dev->driver = d;
- pci_dev_get(dev);
- return 1;
+ if (id != NULL) {
+ pci_assign_irq(dev);
+ ret = d->probe(dev, id);
+ if (ret >= 0) {
+ dev->driver = d;
+ pci_dev_get(dev);
+ return 1;
+ }
}
}
}