diff mbox

[Bug,#13846] Possible regression in rt61pci driver

Message ID 200908032217.19947.IvDoorn@gmail.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Ivo van Doorn Aug. 3, 2009, 8:17 p.m. UTC
Hi,

> On Sunday 02 August 2009, Rafael J. Wysocki wrote:
> > This message has been generated automatically as a part of a report
> > of recent regressions.
> >
> > The following bug entry is on the current list of known regressions
> > from 2.6.30.  Please verify if it still should be listed and let me know
> > (either way).
> >
> 
> The folks on the wireless project have concluded that the problem I reported is down to a hardware 
> problem when power saving is switched on on for my Belkin cardbus wireless adapter, so now I simply 
> turn power-saving off when wlan0 comes up. I did, however, ask whether anyone was going to fix the 
> fact that once power-saving turns the LEDs off, they never come back on again, but I haven't had an 
> answer. Is that a regression? I guess the answer is no, because power saving in the rt61pci driver 
> is feature that is new to 2.6.31. Should it be fixed? I think the answer is yes, but being unable 
> to do it myself, I probably don't have a vote :-)

Can't recall this issue was ever reported, but that might just be me having overlooked some emails
or have completely forgotten all about it. But here is a test patch to see if this helps in the issue,
it is not really correct for upstream, but if it works I can see if there is a better solution.

Thanks,

Ivo
---
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Chris Clayton Aug. 4, 2009, 4:04 p.m. UTC | #1
Thanks Ivo,

2009/8/3 Ivo van Doorn <ivdoorn@gmail.com>:
> Hi,
>
>> On Sunday 02 August 2009, Rafael J. Wysocki wrote:
>> > This message has been generated automatically as a part of a report
>> > of recent regressions.
>> >
>> > The following bug entry is on the current list of known regressions
>> > from 2.6.30.  Please verify if it still should be listed and let me know
>> > (either way).
>> >
>>
>> The folks on the wireless project have concluded that the problem I reported is down to a hardware
>> problem when power saving is switched on on for my Belkin cardbus wireless adapter, so now I simply
>> turn power-saving off when wlan0 comes up. I did, however, ask whether anyone was going to fix the
>> fact that once power-saving turns the LEDs off, they never come back on again, but I haven't had an
>> answer. Is that a regression? I guess the answer is no, because power saving in the rt61pci driver
>> is feature that is new to 2.6.31. Should it be fixed? I think the answer is yes, but being unable
>> to do it myself, I probably don't have a vote :-)
>
> Can't recall this issue was ever reported, but that might just be me having overlooked some emails
> or have completely forgotten all about it. But here is a test patch to see if this helps in the issue,
> it is not really correct for upstream, but if it works I can see if there is a better solution.
>
> Thanks,
>

I've tried the patch without success. The card doesn't seem to wake up
again when I attempt network activity after PS has activated.
(Actually, There are two assumptions I should check out here. Firstly,
the LEDS going out is a sign that PS has activated and secondly, that
the card should "wake up" if I attempt network activity after PS has
activated).

A cut and paste from the console window:

[chris:~]$ iwconfig
lo        no wireless extensions.

wmaster0  no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:"SKY28767"
          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:1F:33:80:09:44
          Bit Rate=1 Mb/s   Tx-Power=10 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=50/70  Signal level=-60 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

[chris:~]$ echo "waiting for leds to go out"
waiting for leds to go out
[chris:~]$ ping router
PING router.local.lan (192.168.0.1) from 192.168.0.30 : 56(84) bytes of data.
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
From laptop.local.lan (192.168.0.30): Destination Host Unreachable
^C
--- router.local.lan ping statistics ---
11 packets transmitted, 0 packets received, +9 errors, 100% packet loss
[chris:~]$

To get the card going again I had to physically remove and reinsert it.

Chris

> Ivo
> ---
> diff --git a/drivers/net/wireless/rt2x00/rt2x00config.c b/drivers/net/wireless/rt2x00/rt2x00config.c
> index 3845316..6fe70b1 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00config.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00config.c
> @@ -196,6 +196,12 @@ void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,
>         */
>        rt2x00dev->ops->lib->config(rt2x00dev, &libconf, ieee80211_flags);
>
> +       if (ieee80211_flags & IEEE80211_CONF_CHANGE_PS) {
> +               rt2x00led_led_activity(rt2x00dev, !(conf->flags & IEEE80211_CONF_PS));
> +               rt2x00leds_led_assoc(rt2x00dev, !(conf->flags & IEEE80211_CONF_PS));
> +               rt2x00leds_led_radio(rt2x00dev, !(conf->flags & IEEE80211_CONF_PS));
> +       }
> +
>        /*
>         * Some configuration changes affect the link quality
>         * which means we need to reset the link tuner.
>
diff mbox

Patch

diff --git a/drivers/net/wireless/rt2x00/rt2x00config.c b/drivers/net/wireless/rt2x00/rt2x00config.c
index 3845316..6fe70b1 100644
--- a/drivers/net/wireless/rt2x00/rt2x00config.c
+++ b/drivers/net/wireless/rt2x00/rt2x00config.c
@@ -196,6 +196,12 @@  void rt2x00lib_config(struct rt2x00_dev *rt2x00dev,
 	 */
 	rt2x00dev->ops->lib->config(rt2x00dev, &libconf, ieee80211_flags);
 
+	if (ieee80211_flags & IEEE80211_CONF_CHANGE_PS) {
+		rt2x00led_led_activity(rt2x00dev, !(conf->flags & IEEE80211_CONF_PS));
+		rt2x00leds_led_assoc(rt2x00dev, !(conf->flags & IEEE80211_CONF_PS));
+		rt2x00leds_led_radio(rt2x00dev, !(conf->flags & IEEE80211_CONF_PS));
+	}
+
 	/*
 	 * Some configuration changes affect the link quality
 	 * which means we need to reset the link tuner.