Skip to content

Commit 843bd7d

Browse files
arjunvynipadathdavem330
authored andcommitted
cxgb4: Setup FW queues before registering netdev
When NetworkManager is enabled, there are chances that interface up is called even before probe completes. This means we have not yet allocated the FW sge queues, hence rest of ingress queue allocation wont be proper. Fix this by calling setup_fw_sge_queues() before register_netdev(). Fixes: 0fbc81b ('chcr/cxgb4i/cxgbit/RDMA/cxgb4: Allocate resources dynamically for all cxgb4 ULD's') Signed-off-by: Arjun Vynipadath <[email protected]> Signed-off-by: Casey Leedom <[email protected]> Signed-off-by: Ganesh Goudar <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 2db9569 commit 843bd7d

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -841,8 +841,6 @@ static int setup_fw_sge_queues(struct adapter *adap)
841841

842842
err = t4_sge_alloc_rxq(adap, &s->fw_evtq, true, adap->port[0],
843843
adap->msi_idx, NULL, fwevtq_handler, NULL, -1);
844-
if (err)
845-
t4_free_sge_resources(adap);
846844
return err;
847845
}
848846

@@ -5739,6 +5737,13 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
57395737
if (err)
57405738
goto out_free_dev;
57415739

5740+
err = setup_fw_sge_queues(adapter);
5741+
if (err) {
5742+
dev_err(adapter->pdev_dev,
5743+
"FW sge queue allocation failed, err %d", err);
5744+
goto out_free_dev;
5745+
}
5746+
57425747
/*
57435748
* The card is now ready to go. If any errors occur during device
57445749
* registration we do not fail the whole card but rather proceed only
@@ -5787,10 +5792,10 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
57875792
cxgb4_ptp_init(adapter);
57885793

57895794
print_adapter_info(adapter);
5790-
setup_fw_sge_queues(adapter);
57915795
return 0;
57925796

57935797
out_free_dev:
5798+
t4_free_sge_resources(adapter);
57945799
free_some_resources(adapter);
57955800
if (adapter->flags & USING_MSIX)
57965801
free_msix_info(adapter);

0 commit comments

Comments
 (0)