diff options
| author | Vincenzo Maffione <vmaffione@FreeBSD.org> | 2022-12-24 15:28:45 +0000 |
|---|---|---|
| committer | Vincenzo Maffione <vmaffione@FreeBSD.org> | 2022-12-24 15:28:45 +0000 |
| commit | b41818a28a6dba6d33076fbb789442308e57a124 (patch) | |
| tree | 55a99297d6534c1cf7ef16310a4f1091c4a7f4e5 /sys/dev/netmap | |
| parent | 3da494d3246e30a19d2107c8bb8a293ffd5a9da6 (diff) | |
Diffstat (limited to 'sys/dev/netmap')
| -rw-r--r-- | sys/dev/netmap/netmap_monitor.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/netmap/netmap_monitor.c b/sys/dev/netmap/netmap_monitor.c index e05313c1f792..9f94bed056a1 100644 --- a/sys/dev/netmap/netmap_monitor.c +++ b/sys/dev/netmap/netmap_monitor.c @@ -458,6 +458,9 @@ netmap_monitor_stop(struct netmap_adapter *na) struct netmap_zmon_list *z = &kring->zmon_list[t]; u_int j; + if (nm_monitor_none(kring)) + continue; + for (j = 0; j < kring->n_monitors; j++) { struct netmap_kring *mkring = kring->monitors[j]; @@ -470,6 +473,8 @@ netmap_monitor_stop(struct netmap_adapter *na) } kring->monitors[j] = NULL; } + kring->n_monitors = 0; + nm_monitor_dealloc(kring); if (!nm_is_zmon(na)) { /* we are the head of at most one list */ @@ -490,12 +495,7 @@ netmap_monitor_stop(struct netmap_adapter *na) z->prev = NULL; } - if (!nm_monitor_none(kring)) { - - kring->n_monitors = 0; - nm_monitor_dealloc(kring); - nm_monitor_restore_callbacks(kring); - } + nm_monitor_restore_callbacks(kring); } } } |
