rapidio/rionet: fix deadlock on SMP
authorAurelien Jacquiot <a-jacquiot@ti.com>
Tue, 22 Mar 2016 21:25:42 +0000 (14:25 -0700)
committerWilly Tarreau <w@1wt.eu>
Tue, 7 Jun 2016 08:42:47 +0000 (10:42 +0200)
commit7af534dea77d1c526b83a4105178e1a79da09811
tree1092e88286448a2bec2974f66253adecd915a62f
parentf6d033a30988b931df2dac378e5171fe8c2d3c8a
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>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/net/rionet.c