diff options
author | Juliet Kim <julietk@linux.vnet.ibm.com> | 2019-09-20 16:11:22 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-09-25 13:41:41 +0200 |
commit | b27507bb59ed504d7fa4d6a35f25a8cc39903b54 (patch) | |
tree | 1458033c8dbebf816988628968a4de18a290329b /mm/init-mm.c | |
parent | 5aafeb74b5bb65b34cc87c7623f9fa163a34fa3b (diff) | |
download | linux-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