w1: ds2438: fixing bug that would always get page0
[ Upstream commit 1f5e7518f0 ]
The purpose of the w1_ds2438_get_page function is to get the register
values at the page passed as the pageno parameter. However, the page0 was
hardcoded, such that the function always returned the page0 contents. Fixed
so that the function can retrieve any page.
Signed-off-by: Luiz Sampaio <sampaio.ime@gmail.com>
Link: https://lore.kernel.org/r/20210519223046.13798-5-sampaio.ime@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8e8d910e9a
commit
20c62caf2e
@@ -62,13 +62,13 @@ static int w1_ds2438_get_page(struct w1_slave *sl, int pageno, u8 *buf)
|
||||
if (w1_reset_select_slave(sl))
|
||||
continue;
|
||||
w1_buf[0] = W1_DS2438_RECALL_MEMORY;
|
||||
w1_buf[1] = 0x00;
|
||||
w1_buf[1] = (u8)pageno;
|
||||
w1_write_block(sl->master, w1_buf, 2);
|
||||
|
||||
if (w1_reset_select_slave(sl))
|
||||
continue;
|
||||
w1_buf[0] = W1_DS2438_READ_SCRATCH;
|
||||
w1_buf[1] = 0x00;
|
||||
w1_buf[1] = (u8)pageno;
|
||||
w1_write_block(sl->master, w1_buf, 2);
|
||||
|
||||
count = w1_read_block(sl->master, buf, DS2438_PAGE_SIZE + 1);
|
||||
|
||||
Reference in New Issue
Block a user