rt2x00: correct address calc for queue private data
When calculating the offset to add to the queue entry base to get the individual entry's private data area the base address must be treated as a char * not a struct queue_entry so we can do byte oriented pointer arithmetic with it. Signed-off-by: Adam Baker <linux@baker-net.org.uk> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Родитель
16938a24ae
Коммит
231be4e92c
|
@ -160,7 +160,8 @@ static int rt2x00queue_alloc_entries(struct data_queue *queue,
|
|||
return -ENOMEM;
|
||||
|
||||
#define QUEUE_ENTRY_PRIV_OFFSET(__base, __index, __limit, __esize, __psize) \
|
||||
( (__base) + ((__limit) * (__esize)) + ((__index) * (__psize)) )
|
||||
( ((char *)(__base)) + ((__limit) * (__esize)) + \
|
||||
((__index) * (__psize)) )
|
||||
|
||||
for (i = 0; i < queue->limit; i++) {
|
||||
entries[i].flags = 0;
|
||||
|
|
Загрузка…
Ссылка в новой задаче