Skip to content

Commit

Permalink
cxgb4: Setup FW queues before registering netdev
Browse files Browse the repository at this point in the history
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]>
  • Loading branch information
arjunvynipadath authored and davem330 committed Mar 26, 2018
1 parent 2db9569 commit 843bd7d
Showing 1 changed file with 8 additions and 3 deletions.
11 changes: 8 additions & 3 deletions drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -841,8 +841,6 @@ static int setup_fw_sge_queues(struct adapter *adap)

err = t4_sge_alloc_rxq(adap, &s->fw_evtq, true, adap->port[0],
adap->msi_idx, NULL, fwevtq_handler, NULL, -1);
if (err)
t4_free_sge_resources(adap);
return err;
}

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

err = setup_fw_sge_queues(adapter);
if (err) {
dev_err(adapter->pdev_dev,
"FW sge queue allocation failed, err %d", err);
goto out_free_dev;
}

/*
* The card is now ready to go. If any errors occur during device
* registration we do not fail the whole card but rather proceed only
Expand Down Expand Up @@ -5787,10 +5792,10 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
cxgb4_ptp_init(adapter);

print_adapter_info(adapter);
setup_fw_sge_queues(adapter);
return 0;

out_free_dev:
t4_free_sge_resources(adapter);
free_some_resources(adapter);
if (adapter->flags & USING_MSIX)
free_msix_info(adapter);
Expand Down

0 comments on commit 843bd7d

Please sign in to comment.