2009-11-10 15:48:06

by Luca Niccoli

[permalink] [raw]
Subject: Please backport [PATCH] rtl8187: Fix kernel oops when device is removed when LEDS enabled (Bugzilla #14539)

I'm running 2.6.31 (from debian source) and I experienced hard freezes
on removing the module or disconnecting the USB card.
The patch at [1] seems to have fixed the problem, so it would be nice
if it could be included in the 2.6.31 branch.
Note that I was not experiencing the freezes with the distribution
kernel, just with a self compiled one (without source modifications
though, only config).
Cheers,

Luca

(For further info please Cc: me)

[1]
http://marc.info/?l=linux-wireless&m=125731443329754&w=2


2009-11-10 16:33:38

by Luca Niccoli

[permalink] [raw]
Subject: Re: Please backport [PATCH] rtl8187: Fix kernel oops when device is removed when LEDS enabled (Bugzilla #14539)

2009/11/10 Larry Finger <[email protected]>:

> I'm too lazy to look for myself, and will ask here. How does Debian generate
> their source? Do they cherry pick patches from upstream? If so, then they pulled

They do, but with a very conservative approach.
I don't see anything relevant in the changelog [1]
OTOH, I use two out of kernel modules: fglrx and omnibook.
Neither of them seems to be related to this tough.
I can send my kernel config if you like.
Thanks,

Luca

[1]
http://packages.debian.org/changelogs/pool/main/l/linux-2.6/linux-2.6_2.6.31-1/changelog

2009-11-10 16:00:13

by John W. Linville

[permalink] [raw]
Subject: Re: Please backport [PATCH] rtl8187: Fix kernel oops when device is removed when LEDS enabled (Bugzilla #14539)

On Tue, Nov 10, 2009 at 04:47:50PM +0100, Luca Niccoli wrote:
> I'm running 2.6.31 (from debian source) and I experienced hard freezes
> on removing the module or disconnecting the USB card.
> The patch at [1] seems to have fixed the problem, so it would be nice
> if it could be included in the 2.6.31 branch.
> Note that I was not experiencing the freezes with the distribution
> kernel, just with a self compiled one (without source modifications
> though, only config).
> Cheers,
>
> Luca
>
> (For further info please Cc: me)
>
> [1]
> http://marc.info/?l=linux-wireless&m=125731443329754&w=2

This has already been sent with the proper tagging to make the stable
crew aware of it...

Thanks,

John

commit 37b12dd2b07b4d7dc222a5f7f88b25cec532b2aa
Author: Larry Finger <[email protected]>
Date: Wed Nov 4 00:00:25 2009 -0600

rtl8187: Fix kernel oops when device is removed when LEDS enabled

As reported by Rick Farina ([email protected]), removing the RTL8187
USB stick, or unloading the driver rtl8187 using rmmod will cause a
kernel oops. There are at least two forms of the failure, (1) BUG:
Scheduling while atomic, and (2) a fatal kernel page fault. This
problem is reported in Bugzilla #14539.

This problem does not occur for kernel 2.6.31, but does for 2.6.32-rc2,
thus it is technically a regression; however, bisection did not locate
any faulty patch. The fix was found by comparing the faulty code in
rtl8187 with p54usb. My interpretation is that the handling of work
queues in mac80211 changed enough to the LEDs to be unregistered
before tasks on the work queues are cancelled. Previously, these
actions could be done in either order.

(Herton Ronaldo Krzesinski <[email protected]> reports that the
code is the same in 2.6.31, so this may be a candidate for 2.6.31.x.
-- JWL)

Signed-off-by: Larry Finger <[email protected]>
Reported-by: Rick Farina <[email protected]>
Tested-by: Rick Farina <[email protected]>
Cc: [email protected]
Signed-off-by: John W. Linville <[email protected]>

--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2009-11-10 16:14:24

by Larry Finger

[permalink] [raw]
Subject: Re: Please backport [PATCH] rtl8187: Fix kernel oops when device is removed when LEDS enabled (Bugzilla #14539)

On 11/10/2009 09:47 AM, Luca Niccoli wrote:
> I'm running 2.6.31 (from debian source) and I experienced hard freezes
> on removing the module or disconnecting the USB card.
> The patch at [1] seems to have fixed the problem, so it would be nice
> if it could be included in the 2.6.31 branch.
> Note that I was not experiencing the freezes with the distribution
> kernel, just with a self compiled one (without source modifications
> though, only config).

I'm too lazy to look for myself, and will ask here. How does Debian generate
their source? Do they cherry pick patches from upstream? If so, then they pulled
in the changed behavior in mac80211 that triggered the bug. I ran more than 2000
insmod/rmmod cycles with vanilla 2.6.31 from Linus's tree without seeing a
single failure.

I will, however, send the patch to Greg K-H for inclusion in 2.6.31.Y.

Larry


2009-11-10 16:18:06

by Larry Finger

[permalink] [raw]
Subject: Re: Please backport [PATCH] rtl8187: Fix kernel oops when device is removed when LEDS enabled (Bugzilla #14539)

On 11/10/2009 09:55 AM, John W. Linville wrote:
> On Tue, Nov 10, 2009 at 04:47:50PM +0100, Luca Niccoli wrote:
>> I'm running 2.6.31 (from debian source) and I experienced hard freezes
>> on removing the module or disconnecting the USB card.
>> The patch at [1] seems to have fixed the problem, so it would be nice
>> if it could be included in the 2.6.31 branch.
>> Note that I was not experiencing the freezes with the distribution
>> kernel, just with a self compiled one (without source modifications
>> though, only config).
>> Cheers,
>>
>> Luca
>>
>> (For further info please Cc: me)
>>
>> [1]
>> http://marc.info/?l=linux-wireless&m=125731443329754&w=2
>
> This has already been sent with the proper tagging to make the stable
> crew aware of it...
>
> Thanks,
>
> John
>
> commit 37b12dd2b07b4d7dc222a5f7f88b25cec532b2aa
> Author: Larry Finger <[email protected]>
> Date: Wed Nov 4 00:00:25 2009 -0600
>
> rtl8187: Fix kernel oops when device is removed when LEDS enabled
>
> As reported by Rick Farina ([email protected]), removing the RTL8187
> USB stick, or unloading the driver rtl8187 using rmmod will cause a
> kernel oops. There are at least two forms of the failure, (1) BUG:
> Scheduling while atomic, and (2) a fatal kernel page fault. This
> problem is reported in Bugzilla #14539.
>
> This problem does not occur for kernel 2.6.31, but does for 2.6.32-rc2,
> thus it is technically a regression; however, bisection did not locate
> any faulty patch. The fix was found by comparing the faulty code in
> rtl8187 with p54usb. My interpretation is that the handling of work
> queues in mac80211 changed enough to the LEDs to be unregistered
> before tasks on the work queues are cancelled. Previously, these
> actions could be done in either order.
>
> (Herton Ronaldo Krzesinski <[email protected]> reports that the
> code is the same in 2.6.31, so this may be a candidate for 2.6.31.x.
> -- JWL)
>
> Signed-off-by: Larry Finger <[email protected]>
> Reported-by: Rick Farina <[email protected]>
> Tested-by: Rick Farina <[email protected]>
> Cc: [email protected]
> Signed-off-by: John W. Linville <[email protected]>

Additionally, that patch has just made it to mainline. It was not there until I
did a git pull this morning.

Larry