[rt2x00-users] [PATCH 1/8] rt2x00: Convert rt2x00 to use threaded interrupts

Ivo Van Doorn ivdoorn at gmail.com
Fri Jul 9 00:47:18 AEST 2010


On Thu, Jul 8, 2010 at 4:41 PM, Helmut Schaa
<helmut.schaa at googlemail.com> wrote:
> Am Donnerstag 08 Juli 2010 schrieb Ivo Van Doorn:
>> 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
>> callback handlers
>> are using dev_kfree_skb() without problems....
>>
>> >> Well that is actually the odd part, rt2800usb isn't complaining about
>> >> ieee80211_tx_status,
>> >> 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
>> because of
>> 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.
>
> Ok, should I rework/resend the whole series with this change?

A followup patch is good enough for now. I can merge the patches
when I push them to John.

Thanks,

Ivo




More information about the users mailing list