rapidio/rionet: fix deadlock on SMP
authorAurelien Jacquiot <a-jacquiot@ti.com>
Tue, 22 Mar 2016 21:25:42 +0000 (14:25 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 30 Apr 2016 22:05:20 +0000 (00:05 +0200)
commite1962b0906c362efd496813d6704714200608eb9
tree5bd7f7d80b60118fbd30bae60e9b510fad62e1bc
parentb1bf6857ac304ee1c05cb3d804f70312e947887c
rapidio/rionet: fix deadlock on SMP

commit 36915976eca58f2eefa040ba8f9939672564df61 upstream.

Fix deadlocking during concurrent receive and transmit operations on SMP
platforms caused by the use of incorrect lock: on transmit 'tx_lock'
spinlock should be used instead of 'lock' which is used for receive
operation.

This fix is applicable to kernel versions starting from v2.15.

Signed-off-by: Aurelien Jacquiot <a-jacquiot@ti.com>
Signed-off-by: Alexandre Bounine <alexandre.bounine@idt.com>
Cc: Matt Porter <mporter@kernel.crashing.org>
Cc: Andre van Herk <andre.van.herk@prodrive-technologies.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/rionet.c