summaryrefslogtreecommitdiffstats
path: root/mm/init-mm.c
diff options
context:
space:
mode:
authorJuliet Kim <julietk@linux.vnet.ibm.com>2019-09-20 16:11:22 -0400
committerDavid S. Miller <davem@davemloft.net>2019-09-25 13:41:41 +0200
commitb27507bb59ed504d7fa4d6a35f25a8cc39903b54 (patch)
tree1458033c8dbebf816988628968a4de18a290329b /mm/init-mm.c
parent5aafeb74b5bb65b34cc87c7623f9fa163a34fa3b (diff)
downloadlinux-b27507bb59ed504d7fa4d6a35f25a8cc39903b54.tar.bz2
net/ibmvnic: unlock rtnl_lock in reset so linkwatch_event can run
Commit a5681e20b541 ("net/ibmnvic: Fix deadlock problem in reset") made the change to hold the RTNL lock during a reset to avoid deadlock but linkwatch_event is fired during the reset and needs the RTNL lock. That keeps linkwatch_event process from proceeding until the reset is complete. The reset process cannot tolerate the linkwatch_event processing after reset completes, so release the RTNL lock during the process to allow a chance for linkwatch_event to run during reset. This does not guarantee that the linkwatch_event will be processed as soon as link state changes, but is an improvement over the current code where linkwatch_event processing is always delayed, which prevents transmissions on the device from being deactivated leading transmit watchdog timer to time-out. Release the RTNL lock before link state change and re-acquire after the link state change to allow linkwatch_event to grab the RTNL lock and run during the reset. Fixes: a5681e20b541 ("net/ibmnvic: Fix deadlock problem in reset") Signed-off-by: Juliet Kim <julietk@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'mm/init-mm.c')
0 files changed, 0 insertions, 0 deletions