Commit 96ab2dec authored by Roger Luethi's avatar Roger Luethi Committed by Linus Torvalds

[PATCH] via-rhine: Really call rhine_power_init()

Without this patch, mainline via-rhine cannot wake the chip if some other
driver puts it to D3. The problem has hit quite a few people already.

This is a fix for the heisenbug with via-rhine refusing to work
sometimes. Patch "[9/9] Restructure reset code" contained a change made
necessary by patch [8/9]. Mainline merged [8/9] for 2.6.8 and is still
missing the fix, while -mm got it with [9/9].

Jesper Juhl provided crucial test data when no one else was able to
reproduce the symptoms.
Signed-off-by: default avatarRoger Luethi <rl@hellgate.ch>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 2cbbd9f3
...@@ -748,6 +748,8 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, ...@@ -748,6 +748,8 @@ static int __devinit rhine_init_one(struct pci_dev *pdev,
} }
#endif /* USE_MMIO */ #endif /* USE_MMIO */
dev->base_addr = ioaddr; dev->base_addr = ioaddr;
rp = netdev_priv(dev);
rp->quirks = quirks;
rhine_power_init(dev); rhine_power_init(dev);
...@@ -792,10 +794,8 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, ...@@ -792,10 +794,8 @@ static int __devinit rhine_init_one(struct pci_dev *pdev,
dev->irq = pdev->irq; dev->irq = pdev->irq;
rp = netdev_priv(dev);
spin_lock_init(&rp->lock); spin_lock_init(&rp->lock);
rp->pdev = pdev; rp->pdev = pdev;
rp->quirks = quirks;
rp->mii_if.dev = dev; rp->mii_if.dev = dev;
rp->mii_if.mdio_read = mdio_read; rp->mii_if.mdio_read = mdio_read;
rp->mii_if.mdio_write = mdio_write; rp->mii_if.mdio_write = mdio_write;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment