Issues with cros_ec and "spi: rockchip: check return value of dmaengine_prep_slave_sg"

Heiko Stuebner heiko at sntech.de
Fri Apr 1 16:52:19 PDT 2016


Hi Shawn,

it looks like commit ea9849113343 ("spi: rockchip: check return value of
dmaengine_prep_slave_sg") negatively affects the cros_ec spi backend.

During boot on the most recent mainline kernel I get:

[    1.025480] cros-ec-spi spi0.0: Chrome EC device registered
[    1.641636] input: cros_ec as /devices/platform/ff110000.spi/spi_master/spi0/spi0.0/ff110000.spi:ec at 0:keyboard-controller/input/input0
[    2.340214] cros-ec-spi spi0.0: EC failed to respond in time
[    2.357735] cros-ec-spi spi0.0: packet too long (249 bytes, expected 4)
[    2.470353] cros-ec-spi spi0.0: EC failed to respond in time
[    2.508495] cros-ec-spi spi0.0: packet too long (249 bytes, expected 4)
[    2.620176] cros-ec-spi spi0.0: EC failed to respond in time
[    2.637345] cros-ec-spi spi0.0: packet too long (249 bytes, expected 4)
[    2.750245] cros-ec-spi spi0.0: EC failed to respond in time
[    2.767519] cros-ec-spi spi0.0: packet too long (249 bytes, expected 4)

The cros-ec works ok after boot without further errors [aka keyboard
and everything working correctly] and I haven't been able to figure out
what goes wrong, but was able to bisect the issue down to the commit
mentioned above.

Reverting the patch silences the cros-ec again. I'll try to look into it
further, but maybe you also have an idea what might go wrong.


Heiko



More information about the Linux-rockchip mailing list