commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=48389a69773f1a9edfdf7f1698c28a9432b3869b
branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/trunk

According to the definition of flag cs_change in spi.h, CS should keep active
in last transfer of a message till the first transfer of next message if flag
cs_change is set. This patch fix this bug in blackfin spi controller driver.

Signed-off-by: Sonic Zhang <[email protected]>
---
 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 c4daddf..10cd485 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);
 	}
 
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to