diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index ff263ece44a7..a213ada2d265 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -1451,9 +1451,9 @@ static void xprt_destroy(struct rpc_xprt *xprt) * is cleared. We use ->transport_lock to ensure the mod_timer() * can only run *before* del_time_sync(), never after. */ - spin_lock(&xprt->transport_lock); + spin_lock_bh(&xprt->transport_lock); del_timer_sync(&xprt->timer); - spin_unlock(&xprt->transport_lock); + spin_unlock_bh(&xprt->transport_lock); rpc_xprt_debugfs_unregister(xprt); rpc_destroy_wait_queue(&xprt->binding);