mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 10:01:41 +00:00
ipw2100: fix rebooting hang with driver loaded
Add PCI .shutdown method so that we can disable the device during shutdown or reboot. Without this, the reboot doesn't work well on some platforms. This fixes http://bugzilla.intellinuxwireless.org/show_bug.cgi?id=2124 Tested-by: pablo <pablolm2005@gmail.com> Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
269ac5fd2d
commit
52ce3e9a7d
@ -6573,6 +6573,16 @@ static int ipw2100_resume(struct pci_dev *pci_dev)
|
||||
}
|
||||
#endif
|
||||
|
||||
static void ipw2100_shutdown(struct pci_dev *pci_dev)
|
||||
{
|
||||
struct ipw2100_priv *priv = pci_get_drvdata(pci_dev);
|
||||
|
||||
/* Take down the device; powers it off, etc. */
|
||||
ipw2100_down(priv);
|
||||
|
||||
pci_disable_device(pci_dev);
|
||||
}
|
||||
|
||||
#define IPW2100_DEV_ID(x) { PCI_VENDOR_ID_INTEL, 0x1043, 0x8086, x }
|
||||
|
||||
static struct pci_device_id ipw2100_pci_id_table[] __devinitdata = {
|
||||
@ -6636,6 +6646,7 @@ static struct pci_driver ipw2100_pci_driver = {
|
||||
.suspend = ipw2100_suspend,
|
||||
.resume = ipw2100_resume,
|
||||
#endif
|
||||
.shutdown = ipw2100_shutdown,
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user