On Среда 07 января 2009 03:23:55 David Kilroy wrote: > Fix the warning reproduced below. > > We add to rx_list in interrupt context and remove elements in tasklet > context. While removing elements we need to prevent the interrupt > modifying the list. > > Note that commit 31afcef385bb8bf528c6fbe05b359af9f456f02a did not > preserve locking semantics on what is now orinoco_rx. > > This patch reinstates the locking semantics and ensures it covers > rx_list as well. [...] > --- a/drivers/net/wireless/orinoco/orinoco.c > +++ b/drivers/net/wireless/orinoco/orinoco.c > @@ -1613,6 +1613,16 @@ static void orinoco_rx_isr_tasklet(unsigned [...] > + if (orinoco_lock(priv, &flags) != 0) > + return; > this effectively serializes rx list processing with the rest of driver (specifically orinoco_interrupt) eliminating any benefit from doing it in separate tasklet. It is more simple and less confusing to just revert commit 31afcef385bb8bf528c6fbe05b359af9f456f02a then.
Attachment:
signature.asc
Description: This is a digitally signed message part.