[rt2x00-users] Ralink rt73 USB Wireless adapter crashes kernel 2.6.37
Johannes Stezenbach
js at sig21.net
Fri Feb 4 03:54:23 EST 2011
On Thu, Feb 03, 2011 at 11:37:19AM +0000, Eric Fernandez wrote:
>
> After the kernel has been upgraded to kernel 2.6.37, I noticed random
> crashes which I did not have with kernel 2.6.36. The system freezes
> entirely, and sound loops for a few seconds. Only a hard reboot works.
I think a likely explanation is
http://article.gmane.org/gmane.linux.kernel.wireless.general/62926
Basically rt2x00usb_work_txdone() does
entry = rt2x00queue_get_entry(queue, Q_INDEX_DONE);
and rt2x00lib_txdone() eventually does
entry->skb = NULL;
rt2x00queue_index_inc(entry->queue, Q_INDEX_DONE);
So there is a window of opportunity where a second thread
(e.g. the watchdog) might work on the same entry and
suddenly has it's entry->skb disappear.
Maybe rt2x00lib_txdone() should do something to the effect of
if (!test_and_set_bit(ENTRY_BUSY, &entry->flags))
return;
?
> On restart, I do not see any message in the kernel log whatsoever,
> which makes the problem difficult to diagnose. Often, I need to unplug
> my wireless adapter to make it work again (gkrellm shos that it is
> trying to send packets to the router, but never downloads anything).
This seems to be another issue?
Johannes
More information about the users
mailing list