* [patch] airo: fix resume
@ 2005-10-03 11:44 Michal Schmidt
2005-10-04 11:46 ` Jeff Garzik
0 siblings, 1 reply; 2+ messages in thread
From: Michal Schmidt @ 2005-10-03 11:44 UTC (permalink / raw)
To: Benjamin Reed; +Cc: Jeff Garzik, netdev
[-- Attachment #1: Type: text/plain, Size: 286 bytes --]
Cisco Aironet doesn't resume properly from swsusp, because the resume
method confuses a PM_EVENT_* for a PCI power state. It thinks that it is
resuming from PCI_D1 and doesn't do the necessary initialization of the
card.
Signed-off-by: Michal Schmidt <xschmi00@stud.feec.vutbr.cz>
[-- Attachment #2: airo-fix-resume.diff --]
[-- Type: text/plain, Size: 719 bytes --]
--- linux-vanilla/drivers/net/wireless/airo.c 2005-09-29 20:44:01.000000000 +0200
+++ linux-mich/drivers/net/wireless/airo.c 2005-10-01 15:07:34.000000000 +0200
@@ -5515,12 +5515,13 @@ static int airo_pci_resume(struct pci_de
struct net_device *dev = pci_get_drvdata(pdev);
struct airo_info *ai = dev->priv;
Resp rsp;
+ pci_power_t prev_state = pdev->current_state;
- pci_set_power_state(pdev, 0);
+ pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);
- pci_enable_wake(pdev, pci_choose_state(pdev, ai->power), 0);
+ pci_enable_wake(pdev, PCI_D0, 0);
- if (ai->power.event > 1) {
+ if (prev_state != PCI_D1) {
reset_card(dev, 0);
mpi_init_descriptors(ai);
setup_card(ai, dev->dev_addr, 0);
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-10-04 11:46 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-03 11:44 [patch] airo: fix resume Michal Schmidt
2005-10-04 11:46 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).