ide: fix hwif_to_node()

hwif_to_node() incorrectly assumes that hwif->dev always belongs to
a PCI device.  This results in ide-cs oopsing in init_irq() after
commit c56c5648a3 accidentally fixed
device tree registration for ide-cs.  Fix it by using dev_to_node().

Thanks to Martin Michlmayr and Larry Finger for help with debugging
the issue.

Reported-by: Martin Michlmayr <tbm@cyrius.com>
Tested-by: Martin Michlmayr <tbm@cyrius.com>
Cc: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2008-09-02 20:18:47 +02:00
parent a1aee86222
commit 96f80219b7
1 changed files with 1 additions and 2 deletions

View File

@ -1448,8 +1448,7 @@ static inline void ide_dump_identify(u8 *id)
static inline int hwif_to_node(ide_hwif_t *hwif) static inline int hwif_to_node(ide_hwif_t *hwif)
{ {
struct pci_dev *dev = to_pci_dev(hwif->dev); return hwif->dev ? dev_to_node(hwif->dev) : -1;
return hwif->dev ? pcibus_to_node(dev->bus) : -1;
} }
static inline ide_drive_t *ide_get_paired_drive(ide_drive_t *drive) static inline ide_drive_t *ide_get_paired_drive(ide_drive_t *drive)