From: Ram Amrani Date: Mon, 20 Feb 2017 20:43:30 +0000 (+0200) Subject: qed: Release CQ resource under lock on failure X-Git-Tag: v4.1.12-93~2^2~177 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8172bae88e00e035b34af89d382b9b94826ba208;p=users%2Fjedix%2Flinux-maple.git qed: Release CQ resource under lock on failure Orabug: 25477939 The CQ resource pool is protected by a spin lock. When a CQ creation fails it now deallocates under that lock as well. Signed-off-by: Ram Amrani Signed-off-by: Yuval Mintz Signed-off-by: David S. Miller (cherry picked from commit 670dde55c6f182b8a159f0484be92b89d82107e1) Signed-off-by: Brian Maly --- diff --git a/drivers/net/ethernet/qlogic/qed/qed_roce.c b/drivers/net/ethernet/qlogic/qed/qed_roce.c index c3c8c5018e93..50fdcd3fa9b4 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_roce.c +++ b/drivers/net/ethernet/qlogic/qed/qed_roce.c @@ -948,7 +948,9 @@ static int qed_rdma_create_cq(void *rdma_cxt, err: /* release allocated icid */ + spin_lock_bh(&p_info->lock); qed_bmap_release_id(p_hwfn, &p_info->cq_map, returned_id); + spin_unlock_bh(&p_info->lock); DP_NOTICE(p_hwfn, "Create CQ failed, rc = %d\n", rc); return rc;