forked from Minki/linux
cxgb4: Don't return EAGAIN when TCAM is full.
During hash filter programming, driver needs to return ENOSPC error intead of EAGAIN when TCAM is full. Signed-off-by: Vishal Kulkarni <vishal@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fcf9782573
commit
ed514fc561
@ -1722,12 +1722,13 @@ void hash_filter_rpl(struct adapter *adap, const struct cpl_act_open_rpl *rpl)
|
||||
break;
|
||||
|
||||
default:
|
||||
dev_err(adap->pdev_dev, "%s: filter creation PROBLEM; status = %u\n",
|
||||
__func__, status);
|
||||
if (status != CPL_ERR_TCAM_FULL)
|
||||
dev_err(adap->pdev_dev, "%s: filter creation PROBLEM; status = %u\n",
|
||||
__func__, status);
|
||||
|
||||
if (ctx) {
|
||||
if (status == CPL_ERR_TCAM_FULL)
|
||||
ctx->result = -EAGAIN;
|
||||
ctx->result = -ENOSPC;
|
||||
else
|
||||
ctx->result = -EINVAL;
|
||||
}
|
||||
|
@ -687,11 +687,8 @@ int cxgb4_tc_flower_replace(struct net_device *dev,
|
||||
|
||||
ret = ctx.result;
|
||||
/* Check if hw returned error for filter creation */
|
||||
if (ret) {
|
||||
netdev_err(dev, "%s: filter creation err %d\n",
|
||||
__func__, ret);
|
||||
if (ret)
|
||||
goto free_entry;
|
||||
}
|
||||
|
||||
ch_flower->tc_flower_cookie = cls->cookie;
|
||||
ch_flower->filter_id = ctx.tid;
|
||||
|
Loading…
Reference in New Issue
Block a user