All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] airo.c - don't clear FLAG_RADIO_DOWN on resume
@ 2004-08-12 22:25 Michal Schmidt
  0 siblings, 0 replies; only message in thread
From: Michal Schmidt @ 2004-08-12 22:25 UTC (permalink / raw)
  To: achirica; +Cc: netdev

[-- Attachment #1: Type: text/plain, Size: 743 bytes --]

Hello,

According to comments in airo.c the flag FLAG_RADIO_DOWN means:
   Radio disabled via "ifconfig ethX down".
airo_pci_resume clears this flag.
This causes a little problem I can reproduce on my IBM ThinkPad R40 with 
Cisco Aironet mini-PCI card (MPI350) with these steps:
1) ifup eth0 => card works OK, radio status LED indicator is on
2) ifdown eth0 => LED turns off
3) hibernate using swsuspend
4) resume from swsuspend
Result: interface eth0 is down, but the LED indicates that radio is on.
Expected result: interface eth0 is down, so the radio should be off.

I think that airo_pci_resume shouldn't mess with FLAG_RADIO_DOWN. I have 
removed the line and now everything works as expected. One-line patch 
attached.


Michal Schmidt

[-- Attachment #2: airo-resume-radio.patch --]
[-- Type: text/x-patch, Size: 485 bytes --]

--- linux-2.6.8-rc4-bk2/drivers/net/wireless/airo.c	2004-08-12 22:00:42.000000000 +0200
+++ linux-2.6.8-rc4-bk2-mich/drivers/net/wireless/airo.c	2004-08-12 22:09:15.000000000 +0200
@@ -5520,7 +5520,6 @@ static int airo_pci_resume(struct pci_de
 		mpi_init_descriptors(ai);
 		setup_card(ai, dev->dev_addr, 0);
 		clear_bit(FLAG_RADIO_OFF, &ai->flags);
-		clear_bit(FLAG_RADIO_DOWN, &ai->flags);
 		clear_bit(FLAG_PENDING_XMIT, &ai->flags);
 	} else {
 		OUT4500(ai, EVACK, EV_AWAKEN);

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-08-12 22:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-12 22:25 [PATCH] airo.c - don't clear FLAG_RADIO_DOWN on resume Michal Schmidt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.