--- x/drivers/net/netdevsim/netdev.c +++ y/drivers/net/netdevsim/netdev.c @@ -981,6 +981,7 @@ err_free_prev: while (i--) kfree(ns->rq[i]); kfree(ns->rq); + ns->rq = NULL; return -ENOMEM; } @@ -989,6 +990,8 @@ static void nsim_queue_uninit(struct net struct net_device *dev = ns->netdev; int i; + if (!ns->rq) + return; for (i = 0; i < dev->num_rx_queues; i++) nsim_queue_free(dev, ns->rq[i]);