Patch "rapidio/rionet: fix deadlock on SMP" has been added to the 3.14-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
rapidio/rionet: fix deadlock on SMP
to the 3.14-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
rapidio-rionet-fix-deadlock-on-smp.patch
and it can be found in the queue-3.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
36915976eca58f2eefa040ba8f9939672564df61Mon Sep 17 00:00:00 2001
From: Aurelien Jacquiot <[email protected]>
Date: Tue, 22 Mar 2016 14:25:42 -0700
Subject: rapidio/rionet: fix deadlock on SMP
From: Aurelien Jacquiot <[email protected]>
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.
--- drivers/net/rionet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/rionet.c +2 -2
@@ -280,7 +280,7 @@ static void rionet_outb_msg_event(structstruct net_device *ndev = dev_id;struct rionet_private *rnet =netdev_priv (ndev); -spin_lock (&rnet->lock); +spin_lock (&rnet->tx_lock);if (netif_msg_intr (rnet)) printk(KERN_INFO
@@ -299,7 +299,7 @@ static void rionet_outb_msg_event(structif (rnet->tx_cnt <RIONET_TX_RING_SIZE )netif_wake_queue (ndev); -spin_unlock (&rnet->lock); +spin_unlock (&rnet->tx_lock); }static int rionet_open (struct net_device *ndev)
Patches currently in stable-queue which might be from [email protected] are
queue-3.14/rapidio-rionet-fix-deadlock-on-smp.patch