diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-09-02 14:18:47 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-09-02 14:18:47 -0400 |
commit | 96f80219b738f84f90e449385bdede90f2910521 (patch) | |
tree | 85fcf944aee937dbd1c88df2b1d420a7498b1047 /include/linux/ide.h | |
parent | a1aee8622293138867e7dbd1dd214dfb34cd89d2 (diff) |
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 c56c5648a3bd15ff14c50f284b261140cd5b5472 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>
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r-- | include/linux/ide.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index fee4b157c533..1524829f73f2 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -1448,8 +1448,7 @@ static inline void ide_dump_identify(u8 *id) | |||
1448 | 1448 | ||
1449 | static inline int hwif_to_node(ide_hwif_t *hwif) | 1449 | static inline int hwif_to_node(ide_hwif_t *hwif) |
1450 | { | 1450 | { |
1451 | struct pci_dev *dev = to_pci_dev(hwif->dev); | 1451 | return hwif->dev ? dev_to_node(hwif->dev) : -1; |
1452 | return hwif->dev ? pcibus_to_node(dev->bus) : -1; | ||
1453 | } | 1452 | } |
1454 | 1453 | ||
1455 | static inline ide_drive_t *ide_get_paired_drive(ide_drive_t *drive) | 1454 | static inline ide_drive_t *ide_get_paired_drive(ide_drive_t *drive) |