[rt2x00-users] [PATCH 1/8] rt2x00: Convert rt2x00 to use threaded interrupts
Ivo Van Doorn
ivdoorn at gmail.com
Thu Jul 8 14:33:36 UTC 2010
On Thu, Jul 8, 2010 at 3:58 PM, Helmut Schaa
<helmut.schaa at googlemail.com> wrote:
> Am Donnerstag 08 Juli 2010 schrieb Ivo Van Doorn:
>> >> > Any good ideas how to fix this?
>> >> Well we could either move USB callback handling to a bottom half as well,
>> >> but I am not sure how much work that would be. Otherwise we could do:
>> >> if (rt2x00_is_usb(rt2x00dev))
>> >> ieee80211_rx_irqsave()
>> >> else
>> >> ieee80211_rx_ni()
>> > That would be the quick'n'dirty solution ;)
>> > And we would need the same handling in rt2x00lib_txdone for ieee80211_tx_status
>> > and dev_kfree_skb_irq, right?
Well actually for SKBs, we should use dev_kfree_skb_any(). This is
safe in any context.
It is already used on most places, but oddly enough some of the URB
are using dev_kfree_skb() without problems....
>> Well that is actually the odd part, rt2800usb isn't complaining about
>> it only printed the error for the RX path..
> Strange ...
Well the TX path remained free of any error, but I guess that might be
the lack of WARN_ON statements which are present in the RX path. For now I guess
the usage of dev_kfree_skb_any and the if (rt2x00_is_usb()) usage
would solve the problem,
until we can decide if we need some bottom half handler for the USB
callback functions as well.
More information about the users