From: Adam Baker <linux@baker-net.org.uk>
Date: Sun, 10 Feb 2008 21:48:19 +0000 (+0100)
Subject: rt2x00: correct address calc for queue private data
X-Git-Tag: firefly_0821_release~21615^2~530^2~47
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=231be4e92cc0398781e6acda0e3f8ea54a7fa10f;p=firefly-linux-kernel-4.4.55.git

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>
---

diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index fde64ea3f4ef..943afc9067b1 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -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;