2.6.27-rc3: IP: [<ffffffffa0038b77>] init_irq+0x18d/0x31c [ide_core]

Martin Michlmayr tbm at cyrius.com
Mon Aug 25 07:02:41 EDT 2008


* Larry Finger <Larry.Finger at lwfinger.net> [2008-08-21 12:57]:
> Do you have a git tree, or have you downloaded snapshots? If the
> former, a bisection would be useful.

I've bisected it down to this change: ide: set hwif->dev in ide_init_port_hw() (take 2)
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=c56c5648a3bd15ff14c50f284b261140cd5b5472

I cannot revert this from current git because there were too many
changes but when I go to 5b664cb235e97afbf34db9c4d77f08ebd725335e (a
random point that shows the oops) and apply the following (which is
basically a partial revert of the c56c5648a3bd15ff14c50f284b261140cd5b5472)
then it works:

--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -284,7 +284,6 @@ void ide_init_port_hw(ide_hwif_t *hwif, hw_regs_t *hw)
 	memcpy(&hwif->io_ports, &hw->io_ports, sizeof(hwif->io_ports));
 	hwif->irq = hw->irq;
 	hwif->chipset = hw->chipset;
-	hwif->dev = hw->dev;
 	hwif->gendev.parent = hw->parent ? hw->parent : hw->dev;
 	hwif->ack_intr = hw->ack_intr;
 }
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
index 65fc08b..187b7b1 100644
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -339,6 +339,8 @@ static ide_hwif_t *ide_hwif_configure(struct pci_dev *dev,
 
 	ide_init_port_hw(hwif, &hw);
 
+	hwif->dev = &dev->dev;
+
 	return hwif;
 }
 

-- 
Martin Michlmayr
http://www.cyrius.com/



More information about the linux-pcmcia mailing list