diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c index ac343cd8ff3f..39a82bfb5caa 100644 --- a/net/xdp/xsk.c +++ b/net/xdp/xsk.c @@ -640,7 +640,7 @@ static int __xsk_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len if (sk_can_busy_loop(sk)) sk_busy_loop(sk, 1); /* only support non-blocking sockets */ - if (xsk_no_wakeup(sk)) + if (xs->zc && xsk_no_wakeup(sk)) return 0; pool = xs->pool;