diff options
Diffstat (limited to 'drivers/net/ethernet/broadcom/asp2/bcmasp.c')
| -rw-r--r-- | drivers/net/ethernet/broadcom/asp2/bcmasp.c | 6 | 
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp.c b/drivers/net/ethernet/broadcom/asp2/bcmasp.c index 29b04a274d07..80245c65cc90 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp.c @@ -535,9 +535,6 @@ int bcmasp_netfilt_get_all_active(struct bcmasp_intf *intf, u32 *rule_locs,  	int j = 0, i;  	for (i = 0; i < NUM_NET_FILTERS; i++) { -		if (j == *rule_cnt) -			return -EMSGSIZE; -  		if (!priv->net_filters[i].claimed ||  		    priv->net_filters[i].port != intf->port)  			continue; @@ -547,6 +544,9 @@ int bcmasp_netfilt_get_all_active(struct bcmasp_intf *intf, u32 *rule_locs,  		    priv->net_filters[i - 1].wake_filter)  			continue; +		if (j == *rule_cnt) +			return -EMSGSIZE; +  		rule_locs[j++] = priv->net_filters[i].fs.location;  	}  |