Skip to content

Commit 97cbf3d

Browse files
spikehdavem330
authored andcommitted
bnxt_en: only set dev->queue_mgmt_ops if supported by FW
The queue API calls bnxt_hwrm_vnic_update() to stop/start the flow of packets, which can only properly flush the pipeline if FW indicates support. Add a macro BNXT_SUPPORTS_QUEUE_API that checks for the required flags and only set queue_mgmt_ops if true. Signed-off-by: David Wei <dw@davidwei.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent b9d2956 commit 97cbf3d

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

drivers/net/ethernet/broadcom/bnxt/bnxt.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15718,7 +15718,6 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1571815718
dev->stat_ops = &bnxt_stat_ops;
1571915719
dev->watchdog_timeo = BNXT_TX_TIMEOUT;
1572015720
dev->ethtool_ops = &bnxt_ethtool_ops;
15721-
dev->queue_mgmt_ops = &bnxt_queue_mgmt_ops;
1572215721
pci_set_drvdata(pdev, dev);
1572315722

1572415723
rc = bnxt_alloc_hwrm_resources(bp);
@@ -15899,6 +15898,8 @@ static int bnxt_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
1589915898

1590015899
if (BNXT_SUPPORTS_NTUPLE_VNIC(bp))
1590115900
bp->rss_cap |= BNXT_RSS_CAP_MULTI_RSS_CTX;
15901+
if (BNXT_SUPPORTS_QUEUE_API(bp))
15902+
dev->queue_mgmt_ops = &bnxt_queue_mgmt_ops;
1590215903

1590315904
rc = register_netdev(dev);
1590415905
if (rc)

drivers/net/ethernet/broadcom/bnxt/bnxt.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2451,6 +2451,9 @@ struct bnxt {
24512451
#define BNXT_SUPPORTS_MULTI_RSS_CTX(bp) \
24522452
(BNXT_PF(bp) && BNXT_SUPPORTS_NTUPLE_VNIC(bp) && \
24532453
((bp)->rss_cap & BNXT_RSS_CAP_MULTI_RSS_CTX))
2454+
#define BNXT_SUPPORTS_QUEUE_API(bp) \
2455+
(BNXT_PF(bp) && BNXT_SUPPORTS_NTUPLE_VNIC(bp) && \
2456+
((bp)->fw_cap & BNXT_FW_CAP_VNIC_RE_FLUSH))
24542457

24552458
u32 hwrm_spec_code;
24562459
u16 hwrm_cmd_seq;

0 commit comments

Comments
 (0)