[rt2x00-users] [PATCH 1/8] rt2x00: Convert rt2x00 to use threaded interrupts
helmut.schaa at googlemail.com
Fri Jul 9 00:41:37 AEST 2010
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?
More information about the users