commit: http://blackfin.uclinux.org/git/?p=linux-kernel;a=commitdiff;h=d6b4506f6abb6c1f8e2181ec4e825cedea682864
branch: http://blackfin.uclinux.org/git/?p=linux-kernel;a=shortlog;h=refs/heads/2010R1

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 5c11fcd..3971d9c 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