Larry, > I'm chasing a problem with suspend/resume on rtl8187; however, in my testing, I > found that a simple "modprobe -r/modprobe" sequence fails, even though > unplugging/replugging the stick with or without a "modprobe -r" works just fine. Strange, since modprobe -r/rmmod should unregister the driver just as though it was unplugged, afaik. > I'm running into the WARN-ON at net/mac80211/tx.c:1184. The start of the > traceback is as follows: > > [<ffffffff8023afce>] warn_on_slowpath+0x58/0x7d > [<ffffffff803c8c3c>] ? pskb_expand_head+0xe6/0x156 > [<ffffffffa029dbff>] ? __ieee80211_tx+0x40/0x12a [mac80211] > [<ffffffffa029e98b>] ieee80211_master_start_xmit+0x41c/0x50d [mac80211] > [<ffffffffa029e8c5>] ? ieee80211_master_start_xmit+0x356/0x50d [mac80211] > [<ffffffff803cf0a4>] dev_hard_start_xmit+0x214/0x28f > [<ffffffff803dfb9b>] __qdisc_run+0xf3/0x1fe > [<ffffffff803cf584>] dev_queue_xmit+0x357/0x48f > > The last rtl8187 routine that was started was rtl8187_add_interface. From a > debugging message, I see that info->flags = 0x6B6B6B6B - the SLUB debugging > poison value. The WARN_ON then triggers because IEEE80211_TX_CTL_AMPDU is 0x40 which is set in 0x6b. The question is ... why are we trying to send a freed skb?? > If I interpret the traceback correctly, a workqueue has been > restarted without being properly initialized. Does the backtrace continue beyond what you pasted? > Is there any routine that needs to be called when shutting down that has been > missed? Just unregister_hw/free_hw ought to be fine, very strange. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part