mirror of
https://github.com/opnsense/src.git
synced 2026-04-29 01:59:38 -04:00
Fix attach/detach methods
- Initialize lock before starting worker process
- Do not hold lock when destroying evdev. By that time ther should be no
other active code pathes that can access softc
This commit is contained in:
parent
6c968f71f7
commit
19de549b41
1 changed files with 4 additions and 3 deletions
|
|
@ -288,13 +288,13 @@ ft5406ts_attach(device_t dev)
|
|||
sc->sc_init_hook.ich_func = ft5406ts_init;
|
||||
sc->sc_init_hook.ich_arg = sc;
|
||||
|
||||
FT5406_LOCK_INIT(sc);
|
||||
|
||||
if (config_intrhook_establish(&sc->sc_init_hook) != 0) {
|
||||
device_printf(dev, "config_intrhook_establish failed\n");
|
||||
return (ENOMEM);
|
||||
}
|
||||
|
||||
FT5406_LOCK_INIT(sc);
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
|
@ -308,10 +308,11 @@ ft5406ts_detach(device_t dev)
|
|||
FT5406_LOCK(sc);
|
||||
if (sc->sc_worker)
|
||||
sc->sc_detaching = 1;
|
||||
wakeup(sc);
|
||||
FT5406_UNLOCK(sc);
|
||||
|
||||
if (sc->sc_evdev)
|
||||
evdev_free(sc->sc_evdev);
|
||||
FT5406_UNLOCK(sc);
|
||||
|
||||
FT5406_LOCK_DESTROY(sc);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue