All of lore.kernel.org
 help / color / mirror / Atom feed
From: Colin Guthrie <gmane@colin.guthr.ie>
To: linux-wireless@vger.kernel.org
Subject: [Regression] Problem with rfkill on 2.6.38
Date: Tue, 26 Apr 2011 15:00:38 +0100	[thread overview]
Message-ID: <ip6j66$o5f$1@dough.gmane.org> (raw)

Hi,

RFKILL used to work fine on 2.6.37 for me but I have a regression on .38.

wifi works fine generally, but after cycling RFKILL I have to reload the
various modules before it works again.

I can turn the machine on with wireless (+bluetooth) enabled and if I
hit the rfkill switch (Fn+F2 on my machine) both wifi and bt turn off as
they should.

If I turn it back on again however, both of the lights turn on briefly
but then the wifi one goes out and bt follows shortly thereafter. The
only way I can find to get wifi back is to reboot or:

[root@jimmy ~]# rmmod btusb
[root@jimmy ~]# rmmod bluetooth
[root@jimmy ~]# rmmod dell_laptop
[root@jimmy ~]# rmmod iwlagn
[root@jimmy ~]# rmmod iwlcore
[root@jimmy ~]# rmmod mac80211
[root@jimmy ~]# rmmod cfg80211
[root@jimmy ~]# rmmod rfkill
[root@jimmy ~]# lsmod | grep rfk
<press button to enable>
[root@jimmy ~]# modprobe iwlagn


The dmesg is below (it's short enough to just paste in-line). What
appears to happen is that when re-enabling it, it will automatically
re-kill it again.

On and working -> Turn off:

iwlagn 0000:0b:00.0: RF_KILL bit toggled to disable radio.
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_QOS_PARAM: enqueue_hcmd failed: -5
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_RXON: enqueue_hcmd failed: -5
iwlagn 0000:0b:00.0: Error setting new RXON (-5)
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_RXON_ASSOC: enqueue_hcmd failed: -5
wlan0: deauthenticating from 00:24:01:c5:4a:16 by local choice (reason=3)
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_REMOVE_STA: enqueue_hcmd failed: -5
iwlagn 0000:0b:00.0: Error removing station 00:24:01:c5:4a:16
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_RXON_ASSOC: enqueue_hcmd failed: -5
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_RXON: enqueue_hcmd failed: -5
iwlagn 0000:0b:00.0: Error setting new RXON (-5)
cfg80211: Calling CRDA to update world regulatory domain
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_RXON: enqueue_hcmd failed: -5
iwlagn 0000:0b:00.0: Error setting new RXON (-5)
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 1
[0xa5a5a5a2]
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 3
[0xa5a5a5a2]
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 4
[0xa5a5a5a2]
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 6
[0xa5a5a5a2]
cfg80211: World regulatory domain updated:
cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain,
max_eirp)
cfg80211:     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211:     (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
cfg80211: Calling CRDA for country: GB
cfg80211: Regulatory domain changed to country: GB
cfg80211:     (start_freq - end_freq @ bandwidth), (max_antenna_gain,
max_eirp)
cfg80211:     (2402000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:     (5170000 KHz - 5250000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:     (5250000 KHz - 5330000 KHz @ 40000 KHz), (N/A, 2000 mBm)
cfg80211:     (5490000 KHz - 5710000 KHz @ 40000 KHz), (N/A, 2700 mBm)
usb 4-2: USB disconnect, address 3



Turn back on:

iwlagn 0000:0b:00.0: RF_KILL bit toggled to enable radio.
usb 4-2: new full speed USB device using uhci_hcd and address 4
usb 4-2: New USB device found, idVendor=413c, idProduct=8126
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-2: Product: BCM2045
usb 4-2: Manufacturer: Broadcom Corp
ADDRCONF(NETDEV_UP): wlan0: link is not ready
iwlagn 0000:0b:00.0: RF_KILL bit toggled to disable radio.
<------------Problem here?
iwlagn 0000:0b:00.0: Not sending command - RF KILL
iwlagn 0000:0b:00.0: Error sending REPLY_RXON: enqueue_hcmd failed: -5
iwlagn 0000:0b:00.0: Error setting new RXON (-5)
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 1
[0xa5a5a5a2]
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 3
[0xa5a5a5a2]
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 4
[0xa5a5a5a2]
iwlagn 0000:0b:00.0: Failing on timeout while stopping DMA channel 6
[0xa5a5a5a2]
usb 4-2: USB disconnect, address 4



FWIW, I already mentioned this problem here:
https://www.mageia.org/pipermail/mageia-dev/20110421/004124.html

Another user using the same kernel with the same hardware cannot
reproduce, so not quite sure what's causing the issue.

iwlagn          : Intel Corporation|PRO/Wireless 4965 AG or AGN [Kedron]
Network Connection [NETWORK_OTHER] (vendor:8086 device:4229 subv:8086
subd:1101) (rev: 61)




I've been looking through the various commits that could come into play
(although I am sure there are others):

http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.38.y.git;a=commitdiff;h=3dd823e6b86407aed1a025041d8f1df77e43a9c8

http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.38.y.git;a=commitdiff;h=554d1d027b19265c4aa3f718b3126d2b86e09a08

http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.38.y.git;a=commitdiff;h=6cd0b1cb872b3bf9fc5de4536404206ab74bafdd


What is odd about the 3dd8 commit is that there is code that says:

        if (test_bit(STATUS_INT_ENABLED, &priv->status))
                iwl_enable_interrupts(priv);

I presume test_bit returns "true" if the bit is set? If so, then the
call, is a little strange as iwl_enable_interrupts sets the bit again.

So it's only enabled if it's already set? Perhaps test_bit returns 0
when it's already set?

172 static inline void iwl_enable_interrupts(struct iwl_priv *priv)
173 {
174         IWL_DEBUG_ISR(priv, "Enabling interrupts\n");
175         set_bit(STATUS_INT_ENABLED, &priv->status);
176         iwl_write32(priv, CSR_INT_MASK, priv->inta_mask);
177 }


But I'm no kernel hacker, so all this could be rubbish.


Cheers in advance for any insights!

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]


             reply	other threads:[~2011-04-26 15:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-26 14:00 Colin Guthrie [this message]
2011-04-28 11:40 ` [Regression] Problem with rfkill on 2.6.38 Stanislaw Gruszka
2011-05-09  8:36 ` Johannes Berg
2011-05-09 16:30   ` Colin Guthrie
2011-05-09 17:09   ` Colin Guthrie
2011-05-09 17:11     ` Matthew Garrett
2011-05-10  9:36       ` Colin Guthrie
2011-05-10  9:36         ` Colin Guthrie
2011-05-10 14:48         ` Keng-Yü Lin
2011-05-10 14:48           ` Keng-Yü Lin
2011-05-10 15:12           ` Colin Guthrie
2011-05-10 15:12             ` Colin Guthrie
2011-06-24 10:54           ` Colin Guthrie
2011-06-24 12:29             ` Keng-Yü Lin
2011-06-24 13:23               ` John W. Linville

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='ip6j66$o5f$1@dough.gmane.org' \
    --to=gmane@colin.guthr.ie \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.