Commit abd2fdb4 authored by Ivo van Doorn's avatar Ivo van Doorn Committed by John W. Linville

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: default avatarIvo van Doorn <IvDoorn@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 98c8a60a
...@@ -435,11 +435,12 @@ static ssize_t rt2x00debug_read_##__name(struct file *file, \ ...@@ -435,11 +435,12 @@ static ssize_t rt2x00debug_read_##__name(struct file *file, \
if (index >= debug->__name.word_count) \ if (index >= debug->__name.word_count) \
return -EINVAL; \ return -EINVAL; \
\ \
index += (debug->__name.word_base / \
debug->__name.word_size); \
\
if (debug->__name.flags & RT2X00DEBUGFS_OFFSET) \ if (debug->__name.flags & RT2X00DEBUGFS_OFFSET) \
index *= debug->__name.word_size; \ index *= debug->__name.word_size; \
\ \
index += debug->__name.word_base; \
\
debug->__name.read(intf->rt2x00dev, index, &value); \ debug->__name.read(intf->rt2x00dev, index, &value); \
\ \
size = sprintf(line, __format, value); \ size = sprintf(line, __format, value); \
...@@ -476,11 +477,12 @@ static ssize_t rt2x00debug_write_##__name(struct file *file, \ ...@@ -476,11 +477,12 @@ static ssize_t rt2x00debug_write_##__name(struct file *file, \
size = strlen(line); \ size = strlen(line); \
value = simple_strtoul(line, NULL, 0); \ value = simple_strtoul(line, NULL, 0); \
\ \
index += (debug->__name.word_base / \
debug->__name.word_size); \
\
if (debug->__name.flags & RT2X00DEBUGFS_OFFSET) \ if (debug->__name.flags & RT2X00DEBUGFS_OFFSET) \
index *= debug->__name.word_size; \ index *= debug->__name.word_size; \
\ \
index += debug->__name.word_base; \
\
debug->__name.write(intf->rt2x00dev, index, value); \ debug->__name.write(intf->rt2x00dev, index, value); \
\ \
*offset += size; \ *offset += size; \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment