netdev
[Top] [All Lists]

[PATCH] airo.c - don't clear FLAG_RADIO_DOWN on resume

To: achirica@xxxxxxx
Subject: [PATCH] airo.c - don't clear FLAG_RADIO_DOWN on resume
From: Michal Schmidt <xschmi00@xxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Aug 2004 00:25:06 +0200
Cc: netdev@xxxxxxxxxxx
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mozilla Thunderbird 0.7 (X11/20040615)
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
--- 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);
<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] airo.c - don't clear FLAG_RADIO_DOWN on resume, Michal Schmidt <=