diff options
author | David S. Miller <davem@davemloft.net> | 2021-06-07 23:01:52 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-06-07 23:01:52 +0300 |
commit | 126285651b7f95282a0afe3a1b0221419b31d989 (patch) | |
tree | e5d547255814a5ed55b6b74be3155464598b39f2 /drivers/net/ethernet/intel/igc | |
parent | 9977d6f56bacc9784654be4d0f4d27b368f57f5b (diff) | |
parent | 3822d0670c9d4342794d73e0d0e615322b40438e (diff) | |
download | linux-126285651b7f95282a0afe3a1b0221419b31d989.tar.xz |
Merge ra.kernel.org:/pub/scm/linux/kernel/git/netdev/net
Bug fixes overlapping feature additions and refactoring, mostly.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel/igc')
-rw-r--r-- | drivers/net/ethernet/intel/igc/igc_main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index 2e71b006b660..3f6b6d4543a8 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -2214,15 +2214,19 @@ static int __igc_xdp_run_prog(struct igc_adapter *adapter, case XDP_PASS: return IGC_XDP_PASS; case XDP_TX: - return igc_xdp_xmit_back(adapter, xdp) < 0 ? - IGC_XDP_CONSUMED : IGC_XDP_TX; + if (igc_xdp_xmit_back(adapter, xdp) < 0) + goto out_failure; + return IGC_XDP_TX; case XDP_REDIRECT: - return xdp_do_redirect(adapter->netdev, xdp, prog) < 0 ? - IGC_XDP_CONSUMED : IGC_XDP_REDIRECT; + if (xdp_do_redirect(adapter->netdev, xdp, prog) < 0) + goto out_failure; + return 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: |