Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -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;					\