]> git.droids-corp.org - dpdk.git/commitdiff
net/bnxt: release HWRM lock before returning
authorLance Richardson <lance.richardson@broadcom.com>
Mon, 4 Nov 2019 20:27:46 +0000 (15:27 -0500)
committerFerruh Yigit <ferruh.yigit@intel.com>
Fri, 8 Nov 2019 22:15:04 +0000 (23:15 +0100)
The function bnxt_vnic_rss_configure_thor() returns early when
all receive queues are stopped without releasing the hwrm
spinlock, which causes subsequent HWRM operations to hang. Fix
by ensuring that the lock is released before returning from
this function.

Fixes: 38412304b50a ("net/bnxt: enable RSS for thor-based controllers")
Cc: stable@dpdk.org
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
drivers/net/bnxt/bnxt_hwrm.c

index ab6cb1dc3c9c2a1f1c334041f8d2639d6c59a7f1..bb4dcf4b27af695d0fb7b9069b2ae409d9198ed1 100644 (file)
@@ -4337,8 +4337,10 @@ bnxt_vnic_rss_configure_thor(struct bnxt *bp, struct bnxt_vnic_info *vnic)
                        }
 
                        /* Return if no rings are active. */
-                       if (cnt == max_rings)
+                       if (cnt == max_rings) {
+                               HWRM_UNLOCK();
                                return 0;
+                       }
 
                        /* Add rx/cp ring pair to RSS table. */
                        rxr = rxqs[k]->rx_ring;