diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c
index 07c32276c527a3e8805a187bfba2990d4f189e28..3895697f85403804271d38e0f53395b4cc12d523 100644
--- a/net/xdp/xsk.c
+++ b/net/xdp/xsk.c
@@ -711,6 +711,7 @@ static int xsk_bind(struct socket *sock, struct sockaddr *addr, int addr_len)
 						   dev, qid);
 			if (err) {
 				xp_destroy(xs->pool);
+				xs->pool = NULL;
 				sockfd_put(sock);
 				goto out_unlock;
 			}