Title: [7750] branches/2009R1/drivers/spi/spi_bfin5xx.c: bug [#5647] - check in patch by Eduardo Tagle <[email protected]>
Revision
7750
Author
adamliyi
Date
2009-11-02 23:20:25 -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: branches/2009R1/drivers/spi/spi_bfin5xx.c (7749 => 7750)


--- branches/2009R1/drivers/spi/spi_bfin5xx.c	2009-11-03 04:13:11 UTC (rev 7749)
+++ branches/2009R1/drivers/spi/spi_bfin5xx.c	2009-11-03 04:20:25 UTC (rev 7750)
@@ -1027,6 +1027,10 @@
 
 	spin_lock_irqsave(&drv_data->lock, flags);
 	drv_data->locked = 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);
 	spin_unlock_irqrestore(&drv_data->lock, flags);
 #endif
 	return 0;
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to