diff options
author | Neil Armstrong <narmstrong@baylibre.com> | 2015-10-09 13:47:41 (GMT) |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-10-22 14:26:22 (GMT) |
commit | 468a32082b04c7febccfcd55b06ecbc438fcddcc (patch) | |
tree | bc5227c0d5c385e296503562068ac5d162524d0b /drivers/firmware/memmap.c | |
parent | 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f (diff) | |
download | linux-468a32082b04c7febccfcd55b06ecbc438fcddcc.tar.xz |
spi: omap2-mcspi: disable other channels CHCONF_FORCE in prepare_message
Since the "Switch driver to use transfer_one" change, the cs_change
behavior has changed and a channel chip select can still be
asserted when changing channel from a previous last transfer in a
message having the cs_change attribute.
Since there is no sense having multiple chip select being asserted at the
same time, disable all the remaining forced chip selects in a the
prepare_message called right before a spi_transfer_one_message call.
It ignores the current channel configuration in order to keep the
possibility to leave the chip select asserted between messages.
It fixes this bug on a DM8168 SoC ES2.1 Soc and an OMAP4 ES2.1 SoC.
It was hanging all the other channels transfers when a CHCONF_FORCE
is present on the wrong channel.
Fixes: b28cb9414db9 ("spi: omap2-mcspi: Switch driver to use transfer_one")
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Michael Welling <mwelling@ieee.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'drivers/firmware/memmap.c')
0 files changed, 0 insertions, 0 deletions