Title: [7749] trunk/drivers/spi/spi_bfin5xx.c: bug [#5647] - check in patch by Eduardo Tagle <[email protected]>
Revision
7749
Author
adamliyi
Date
2009-11-02 23:13:11 -0500 (Mon, 02 Nov 2009)

Log Message

bug [#5647] - check in patch by Eduardo Tagle <[email protected]>

When the bus owner unlocks the spi bus, there may be pending messages on the queue from other spi devices. The messages will stay on the queue until a spi device requests another transfer and starts pumping the message queue. This patch schedules messages transfer when spi bus is released.

Modified Paths

Diff

Modified: trunk/drivers/spi/spi_bfin5xx.c (7748 => 7749)


--- trunk/drivers/spi/spi_bfin5xx.c	2009-11-03 03:14:38 UTC (rev 7748)
+++ trunk/drivers/spi/spi_bfin5xx.c	2009-11-03 04:13:11 UTC (rev 7749)
@@ -999,6 +999,11 @@
 	if (cs == drv_data->locked) {
 		drv_data->locked = 0;
 		ret = 0;
+
+		/* kick off transfer of all pending messeages */
+		if (drv_data->running && !drv_data->busy &&
+			!list_empty(&drv_data->queue))
+			queue_work(drv_data->workqueue, &drv_data->pump_messages);
 	} else
 		ret = -ENOLCK;
 	spin_unlock_irqrestore(&drv_data->lock, flags);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to