diff --git a/net/smc/smc_diag.c b/net/smc/smc_diag.c index 8ed2f6689b017098ff8e8a3c15b8104d69643437..ae0239ce4d5b530086237799ad67a18ff502d2e2 100644 --- a/net/smc/smc_diag.c +++ b/net/smc/smc_diag.c @@ -204,7 +204,7 @@ static int smc_diag_dump_proto(struct proto *prot, struct sk_buff *skb, int rc = 0, num = 0; struct sock *sk; - read_lock(&prot->h.smc_hash->lock); + read_lock_bh(&prot->h.smc_hash->lock); head = &prot->h.smc_hash->ht; if (hlist_empty(head)) goto out; @@ -222,7 +222,7 @@ static int smc_diag_dump_proto(struct proto *prot, struct sk_buff *skb, } out: - read_unlock(&prot->h.smc_hash->lock); + read_unlock_bh(&prot->h.smc_hash->lock); cb_ctx->pos[p_type] = num; return rc; }