diff options
author | Raju Rangoju | 2019-05-23 15:51:21 +0200 |
---|---|---|
committer | David S. Miller | 2019-05-23 18:36:14 +0200 |
commit | dcf10ec772ade4e9ba76f31c07dc1927b58eb4b4 (patch) | |
tree | bda089b1c08bef8dd0f0223eec72b1eb24644c99 /drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c | |
parent | Merge branch 'net-ll_temac-Fix-and-enable-multicast-support' (diff) | |
download | kernel-qcow2-linux-dcf10ec772ade4e9ba76f31c07dc1927b58eb4b4.tar.gz kernel-qcow2-linux-dcf10ec772ade4e9ba76f31c07dc1927b58eb4b4.tar.xz kernel-qcow2-linux-dcf10ec772ade4e9ba76f31c07dc1927b58eb4b4.zip |
cxgb4: use firmware API for validating filter spec
Adds support for validating hardware filter spec configured in firmware
before offloading exact match flows.
Use the new fw api FW_PARAM_DEV_FILTER_MODE_MASK to read the filter mode
and mask from firmware. If the api isn't supported, then fall-back to
older way of reading just the mode from indirect register.
Signed-off-by: Raju Rangoju <rajur@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c')
-rw-r--r-- | drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c index 0f0b3f4a039d..6232236d7abc 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c @@ -248,8 +248,9 @@ static int validate_filter(struct net_device *dev, u32 fconf, iconf; /* Check for unconfigured fields being used. */ - fconf = adapter->params.tp.vlan_pri_map; iconf = adapter->params.tp.ingress_config; + fconf = fs->hash ? adapter->params.tp.filter_mask : + adapter->params.tp.vlan_pri_map; if (unsupported(fconf, FCOE_F, fs->val.fcoe, fs->mask.fcoe) || unsupported(fconf, PORT_F, fs->val.iport, fs->mask.iport) || |