diff options
| author | Xin LI <delphij@FreeBSD.org> | 2020-04-19 17:28:42 +0000 |
|---|---|---|
| committer | Xin LI <delphij@FreeBSD.org> | 2020-04-19 17:28:42 +0000 |
| commit | 5396856ee0e158a1505dce733aad4f9b42afafbb (patch) | |
| tree | 31fa9f13ad93c5df59a7336193685d5947990551 /sys/dev/evdev/evdev.c | |
| parent | 4574585e8ff4d500b3e0e5cc55eb07e087a59811 (diff) | |
Notes
Diffstat (limited to 'sys/dev/evdev/evdev.c')
| -rw-r--r-- | sys/dev/evdev/evdev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/evdev/evdev.c b/sys/dev/evdev/evdev.c index 6c087c32a00d..33e56e9f2c0a 100644 --- a/sys/dev/evdev/evdev.c +++ b/sys/dev/evdev/evdev.c @@ -358,7 +358,7 @@ evdev_register_mtx(struct evdev_dev *evdev, struct mtx *mtx) int evdev_unregister(struct evdev_dev *evdev) { - struct evdev_client *client; + struct evdev_client *client, *tmp; int ret; debugf(evdev, "%s: unregistered evdev provider: %s\n", evdev->ev_shortname, evdev->ev_name); @@ -368,7 +368,7 @@ evdev_unregister(struct evdev_dev *evdev) EVDEV_LOCK(evdev); evdev->ev_cdev->si_drv1 = NULL; /* Wake up sleepers */ - LIST_FOREACH(client, &evdev->ev_clients, ec_link) { + LIST_FOREACH_SAFE(client, &evdev->ev_clients, ec_link, tmp) { evdev_revoke_client(client); evdev_dispose_client(evdev, client); EVDEV_CLIENT_LOCKQ(client); |
