diff options
author | Daniel Santos <daniel.santos@pobox.com> | 2014-01-05 17:39:26 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-13 13:48:01 -0800 |
commit | 4371c272186d393fbb401a743867a209f3e218ae (patch) | |
tree | 00fa2b086fec75f91b71125df1f30755407be847 /fs/nfs | |
parent | d12825478189af51a0feb66744700bfbee257a25 (diff) | |
download | lwn-4371c272186d393fbb401a743867a209f3e218ae.tar.gz lwn-4371c272186d393fbb401a743867a209f3e218ae.zip |
spidev: fix hang when transfer_one_message fails
commit e120cc0dcf2880a4c5c0a6cb27b655600a1cfa1d upstream.
This corrects a problem in spi_pump_messages() that leads to an spi
message hanging forever when a call to transfer_one_message() fails.
This failure occurs in my MCP2210 driver when the cs_change bit is set
on the last transfer in a message, an operation which the hardware does
not support.
Rationale
Since the transfer_one_message() returns an int, we must presume that it
may fail. If transfer_one_message() should never fail, it should return
void. Thus, calls to transfer_one_message() should properly manage a
failure.
Fixes: ffbbdd21329f3 (spi: create a message queueing infrastructure)
Signed-off-by: Daniel Santos <daniel.santos@pobox.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/nfs')
0 files changed, 0 insertions, 0 deletions