diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igc')
| -rw-r--r-- | drivers/net/ethernet/intel/igc/igc_main.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index 069471b7ffb0..f1adf154ec4a 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -2047,20 +2047,19 @@ static struct sk_buff *igc_xdp_run_prog(struct igc_adapter *adapter,  		break;  	case XDP_TX:  		if (igc_xdp_xmit_back(adapter, xdp) < 0) -			res = IGC_XDP_CONSUMED; -		else -			res = IGC_XDP_TX; +			goto out_failure; +		res = IGC_XDP_TX;  		break;  	case XDP_REDIRECT:  		if (xdp_do_redirect(adapter->netdev, xdp, prog) < 0) -			res = IGC_XDP_CONSUMED; -		else -			res = IGC_XDP_REDIRECT; +			goto out_failure; +		res = IGC_XDP_REDIRECT;  		break;  	default:  		bpf_warn_invalid_xdp_action(act);  		fallthrough;  	case XDP_ABORTED: +out_failure:  		trace_xdp_exception(adapter->netdev, prog, act);  		fallthrough;  	case XDP_DROP:  |