netpoll: make __netpoll_cleanup non-block
Like the previous patch, slave_disable_netpoll() and __netpoll_cleanup() may be called with read_lock() held too, so we should make them non-block, by moving the cleanup and kfree() to call_rcu_bh() callbacks. Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Cong Wang <amwang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
47be03a28c
commit
38e6bc185d
@@ -1257,9 +1257,7 @@ static inline void slave_disable_netpoll(struct slave *slave)
|
||||
return;
|
||||
|
||||
slave->np = NULL;
|
||||
synchronize_rcu_bh();
|
||||
__netpoll_cleanup(np);
|
||||
kfree(np);
|
||||
__netpoll_free_rcu(np);
|
||||
}
|
||||
static inline bool slave_dev_support_netpoll(struct net_device *slave_dev)
|
||||
{
|
||||
|
Reference in New Issue
Block a user