On Wed, Jul 27, 2005 at 10:19:44AM -0400, John W. Linville wrote: > Some PCI devices (e.g. 3c905B, 3c556B) lose all configuration > (including BARs) when transitioning from D3hot->D0. This leaves such > a device in an inaccessible state. The patch below causes the BARs > to be restored when enabling such a device, so that its driver will > be able to access it. > > The patch also adds pci_restore_bars as a new global symbol, and adds a > correpsonding EXPORT_SYMBOL_GPL for that. > > Signed-off-by: John W. Linville <[email protected]> > --- > Some firmware (e.g. Thinkpad T21) leaves devices in D3hot after a > (re)boot. Most drivers call pci_enable_device very early, so devices > left in D3hot that lose configuration during the D3hot->D0 transition > will be inaccessible to their drivers. Tested with the 3com 3c556B Hurricane mini-PCI card in the IBM A21P. Without this patch the 3c59x driver has not been able to read the MAC address of the card's EEPROM with ACPI enabled, now it works with and without ACPI support. This patch should settle at least some of the issues in http://bugzilla.kernel.org/show_bug.cgi?id=1188. Ralf - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- References:
- Re: [patch 2.6.12 (repost w/ corrected subject)] pci: restore BAR values in pci_enable_device_bars
- From: Ivan Kokshaysky <[email protected]>
- Re: [patch 2.6.12 (repost w/ corrected subject)] pci: restore BAR values in pci_enable_device_bars
- From: "David S. Miller" <[email protected]>
- Re: [patch 2.6.12 (repost w/ corrected subject)] pci: restore BAR values in pci_enable_device_bars
- From: Ivan Kokshaysky <[email protected]>
- Re: [patch 2.6.12 (repost w/ corrected subject)] pci: restore BAR values in pci_enable_device_bars
- From: "David S. Miller" <[email protected]>
- Re: [patch 2.6.12 (repost w/ corrected subject)] pci: restore BAR values in pci_enable_device_bars
- From: Ivan Kokshaysky <[email protected]>
- [patch 2.6.13-rc2] pci: restore BAR values from pci_set_power_state for D3hot->D0
- From: "John W. Linville" <[email protected]>
- Re: [patch 2.6.13-rc2] pci: restore BAR values from pci_set_power_state for D3hot->D0
- From: Greg KH <[email protected]>
- Re: [patch 2.6.13-rc2] pci: restore BAR values from pci_set_power_state for D3hot->D0
- From: "John W. Linville" <[email protected]>
- Re: [patch 2.6.13-rc2] pci: restore BAR values from pci_set_power_state for D3hot->D0
- From: "John W. Linville" <[email protected]>
- [patch 2.6.13-rc3] pci: restore BAR values after D3hot->D0 for devices that need it
- From: "John W. Linville" <[email protected]>
- Re: [patch 2.6.12 (repost w/ corrected subject)] pci: restore BAR values in pci_enable_device_bars
- Prev by Date: [patch 2.6.13-rc4] fix get_user_pages bug
- Next by Date: Re: 2.6.13-rc4 - kernel panic - BUG at net/ipv4/tcp_output.c:918
- Previous by thread: [patch 2.6.13-rc3] pci: restore BAR values after D3hot->D0 for devices that need it
- Next by thread: Re: [patch 2.6.13-rc3] pci: restore BAR values after D3hot->D0 for devices that need it
- Index(es):