ti: Remove rcu_read_lock() around XDP program invocation
[linux-2.6-microblaze.git] / drivers / net / ethernet / ti / cpsw_priv.c
index 5862f0a..ecc2a6b 100644 (file)
@@ -1328,13 +1328,9 @@ int cpsw_run_xdp(struct cpsw_priv *priv, int ch, struct xdp_buff *xdp,
        struct bpf_prog *prog;
        u32 act;
 
-       rcu_read_lock();
-
        prog = READ_ONCE(priv->xdp_prog);
-       if (!prog) {
-               ret = CPSW_XDP_PASS;
-               goto out;
-       }
+       if (!prog)
+               return CPSW_XDP_PASS;
 
        act = bpf_prog_run_xdp(prog, xdp);
        /* XDP prog might have changed packet data and boundaries */
@@ -1378,10 +1374,8 @@ int cpsw_run_xdp(struct cpsw_priv *priv, int ch, struct xdp_buff *xdp,
        ndev->stats.rx_bytes += *len;
        ndev->stats.rx_packets++;
 out:
-       rcu_read_unlock();
        return ret;
 drop:
-       rcu_read_unlock();
        page_pool_recycle_direct(cpsw->page_pool[ch], page);
        return ret;
 }