mirror of https://gitee.com/openkylin/linux.git
649ac63a9a
smbus functions return -ve on error, 0 on success. However,
__i2c_transfer() have a different return signature - -ve on error, or
number of buffers transferred (which may be zero or greater).
The upshot of this is that the sense of the test is reversed when using
the mux on a bus supporting the master_xfer method: we cache the value
and never retry if we fail to transfer any buffers, but if we succeed,
we clear the cached value.
Fix this by making mlxcpld_mux_reg_write() return a -ve error code for
all failure cases, just as was done in commit
|
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
i2c-arb-gpio-challenge.c | ||
i2c-demux-pinctrl.c | ||
i2c-mux-gpio.c | ||
i2c-mux-mlxcpld.c | ||
i2c-mux-pca954x.c | ||
i2c-mux-pca9541.c | ||
i2c-mux-pinctrl.c | ||
i2c-mux-reg.c |