diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2011-06-21 18:01:49 +0800 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-10-15 15:30:54 -0400 |
commit | bae47dcdf4c54f00ed8e9541151fc4f069231c02 (patch) | |
tree | d2dc7f0247d305cf6856f04ef8be8cb04f1647e8 | |
parent | 4c41042d1d4c29e596b31e2d14b26d2940fb24b4 (diff) | |
download | blackfin-for-spi.tar.gz |
spi/bfin_spi: respect cs_change even in last transferfor-spi
According to the definition of flag cs_change in spi.h, CS should stay
active in the last transfer of a message until the first transfer of
the next message if it's set. The Blackfin SPI driver was not checking
this before deactivating the CS.
Reported-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r-- | drivers/spi/spi-bfin5xx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi-bfin5xx.c b/drivers/spi/spi-bfin5xx.c index b8d25f2b7038a..c3eef7a1469ff 100644 --- a/drivers/spi/spi-bfin5xx.c +++ b/drivers/spi/spi-bfin5xx.c @@ -870,7 +870,7 @@ static void bfin_spi_pump_transfers(unsigned long data) message->actual_length += drv_data->len_in_bytes; /* Move to next transfer of this msg */ message->state = bfin_spi_next_transfer(drv_data); - if (drv_data->cs_change) + if (drv_data->cs_change && message->state != DONE_STATE) bfin_spi_cs_deactive(drv_data, chip); } |