On Wed, Apr 05, 2023 at 10:14:23PM +0200, Jan Kundrát wrote: > After upgrading from 5.16 to 6.1, our board with a MAX14830 started > producing lots of garbage data over UART. Bisection pointed out commit > 285e76fc049c as the culprit. That patch tried to replace hand-written > code which I added in 2b4bac48c1084 ("serial: max310x: Use batched reads > when reasonably safe") with the generic regmap infrastructure for > batched operations. > > Unfortunately, the `regmap_raw_read` and `regmap_raw_write` which were > used are actually functions which perform IO over *multiple* registers. > That's not what is needed for accessing these Tx/Rx FIFOs; the > appropriate functions are the `_noinc_` versions, not the `_raw_` ones. > > Fix this regression by using `regmap_noinc_read()` and > `regmap_noinc_write()` along with the necessary `regmap_config` setup; > with this patch in place, our board communicates happily again. Since > our board uses SPI for talking to this chip, the I2C part is completely > untested. > > Fixes: 285e76fc049c serial: max310x: use regmap methods for SPI batch operations Nit, please use the style that the documentation asks for here, which should look like: Fixes: 285e76fc049c ("serial: max310x: use regmap methods for SPI batch operations") otherwise our tools complain :( I'll go fix this up by hand... greg k-h