netdevsim: allow normal queue reset while down
Resetting queues while the device is down should be legal. Allow it, test it. Ideally we'd test this with a real device supporting devmem but I don't have access to such devices. Reviewed-by: Mina Almasry <almasrymina@google.com> Link: https://patch.msgid.link/20250206225638.1387810-5-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -645,8 +645,11 @@ nsim_queue_mem_alloc(struct net_device *dev, void *per_queue_mem, int idx)
|
||||
if (ns->rq_reset_mode > 3)
|
||||
return -EINVAL;
|
||||
|
||||
if (ns->rq_reset_mode == 1)
|
||||
if (ns->rq_reset_mode == 1) {
|
||||
if (!netif_running(ns->netdev))
|
||||
return -ENETDOWN;
|
||||
return nsim_create_page_pool(&qmem->pp, &ns->rq[idx]->napi);
|
||||
}
|
||||
|
||||
qmem->rq = nsim_queue_alloc();
|
||||
if (!qmem->rq)
|
||||
@@ -754,11 +757,6 @@ nsim_qreset_write(struct file *file, const char __user *data,
|
||||
return -EINVAL;
|
||||
|
||||
rtnl_lock();
|
||||
if (!netif_running(ns->netdev)) {
|
||||
ret = -ENETDOWN;
|
||||
goto exit_unlock;
|
||||
}
|
||||
|
||||
if (queue >= ns->netdev->real_num_rx_queues) {
|
||||
ret = -EINVAL;
|
||||
goto exit_unlock;
|
||||
|
||||
Reference in New Issue
Block a user