[rt2x00-users] [PATCH 2/4] rt2x00: Move direct access to queue->entries to rt2x00queue.c

Ivo Van Doorn ivdoorn at gmail.com
Thu Aug 19 10:39:32 UTC 2010


On Thu, Aug 19, 2010 at 12:05 PM, Gertjan van Wingerde
<gwingerde at gmail.com> wrote:
> On 08/19/10 11:12, Ivo van Doorn wrote:
>> All access to queue->entries through the Q_INDEX/Q_INDEX_DONE
>> variables must be done using spinlock protection. It is best
>> to manage this completely from rt2x00queue.c.
>>
>> For safely looping through all entries in the queue, the function
>> rt2x00queue_for_each_entry is added which will walk from from a index
>> range in a safe manner.
>>
>> This also fixes rt2x00usb which walked the entries list from
>> 0 to length to kill each entry (killing entries must be done
>> from Q_INDEX_DONE to Q_INDEX to enforce TX status reporting to
>> occur in the correct order.
>>
>> Signed-off-by: IvDoorn at gmail.com>
>
> Still puzzled by the locking scheme, but since it is exactly as we had
> it before:

I have tested that this patch was not responsible for the hard-lock I
experienced
after applying the previous patch-series. So it might be suspicious,
but it doesn't
cause problems. :)

The other patches from the series will be investigated further by me
later, first I need
to fix some other issues (reassociating and disable/enable radio problems).

> Acked-by: Gertjan van Wingerde <gwingerde at gmail.com>

Thanks.

Ivo



More information about the users mailing list