diff mbox

spi: fix __spi_pump_messages deadlock

Message ID 1463144312-23998-1-git-send-email-thomas.perrot@tupi.fr (mailing list archive)
State New, archived
Headers show

Commit Message

Thomas Perrot May 13, 2016, 12:58 p.m. UTC
The lock on the spi bus is never release at the end of call of the function
__spi_pump_messages.

Signed-off-by: Thomas Perrot <thomas.perrot@tupi.fr>
---
 drivers/spi/spi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Mark Brown May 13, 2016, 1:38 p.m. UTC | #1
On Fri, May 13, 2016 at 02:58:32PM +0200, Thomas Perrot wrote:
> The lock on the spi bus is never release at the end of call of the function
> __spi_pump_messages.

So how does this deadlock, in what situations does this trigger?  If
there were a deadlock that happened every single time we tried to
transfer messages I'd expect people would have noticed...
diff mbox

Patch

diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 0239b45..785080a 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -1192,7 +1192,7 @@  static void __spi_pump_messages(struct spi_master *master, bool in_kthread,
 	}
 
 out:
-	if (!bus_locked)
+	if (bus_locked)
 		mutex_unlock(&master->bus_lock_mutex);
 
 	/* Prod the scheduler in case transfer_one() was busy waiting */