usb: max-3421: Fix setting of I/O pins
[ Upstream commit a7efe3fc7cbe27c6eb2c2a3ab612194f8f800f4c ] To update the I/O pins, the registers are read/modified/written. The read operation incorrectly always read the first register. Although wrong, there wasn't any impact as all the output pins are always written, and the inputs are read only anyway. Fixes: 2d53139f3162 ("Add support for using a MAX3421E chip as a host driver.") Signed-off-by: Mark Tomlinson <mark.tomlinson@alliedtelesis.co.nz> Link: https://lore.kernel.org/r/20230207033337.18112-1-mark.tomlinson@alliedtelesis.co.nz Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
9dca64042d
commit
d9e1dae1e2
@ -1436,7 +1436,7 @@ max3421_spi_thread(void *dev_id)
|
||||
* use spi_wr_buf().
|
||||
*/
|
||||
for (i = 0; i < ARRAY_SIZE(max3421_hcd->iopins); ++i) {
|
||||
u8 val = spi_rd8(hcd, MAX3421_REG_IOPINS1);
|
||||
u8 val = spi_rd8(hcd, MAX3421_REG_IOPINS1 + i);
|
||||
|
||||
val = ((val & 0xf0) |
|
||||
(max3421_hcd->iopins[i] & 0x0f));
|
||||
|
Loading…
x
Reference in New Issue
Block a user