rt2x00: Fix RF offset
PATCH 1/1 rt2x00: Fix RF offset
The word_base is in bytes instead of word index number, this means that when using it, it should be transformed into a word index first.
Otherwise RF register reading will fail through debugfs since we would start reading 4 words starting with word 4 (which is the last valid word for RF).
Signed-off-by Ivo van Doorn <[email protected]>
---
drivers/net/wireless/rt2x00/rt2x00debug.c +6 -4
@@ -435,11 +435,12 @@ static ssize_t rt2x00debug_read_##__name(struct file *file, \if (index >= debug->__name.word_count) \return -EINVAL ; \ \ + index += (debug->__name.word_base / \ + debug->__name.word_size); \ + \if (debug->__name.flags &RT2X00DEBUGFS_OFFSET ) \ index *= debug->__name.word_size; \ \ - index += debug->__name.word_base; \ - \ debug->__name.read (intf->rt2x00dev, index, &value); \ \ size =sprintf (line, __format, value); \
@@ -476,11 +477,12 @@ static ssize_t rt2x00debug_write_##__name(struct file *file, \ size =strlen (line); \ value =simple_strtoul (line,NULL ,0 ); \ \ + index += (debug->__name.word_base / \ + debug->__name.word_size); \ + \if (debug->__name.flags &RT2X00DEBUGFS_OFFSET ) \ index *= debug->__name.word_size; \ \ - index += debug->__name.word_base; \ - \ debug->__name.write (intf->rt2x00dev, index, value); \ \ *offset += size; \