ow_temp: drop the lock around a call that can sleep

This is similar to what is done around other calls that lead to
own_command_wait() that can sleep.

Reviewed by:	imp
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D22107
This commit is contained in:
Andriy Gapon 2019-10-25 13:42:36 +00:00
parent ab0a202863
commit f17aea5366

View File

@ -143,7 +143,9 @@ ow_temp_event_thread(void *arg)
pause("owtstart", device_get_unit(sc->dev) * hz / 100); // 10ms stagger
mtx_lock(&sc->temp_lock);
sc->flags |= OW_TEMP_RUNNING;
mtx_unlock(&sc->temp_lock);
ow_temp_read_power_supply(sc->dev, &sc->parasite);
mtx_lock(&sc->temp_lock);
if (sc->parasite)
device_printf(sc->dev, "Running in parasitic mode unsupported\n");
while ((sc->flags & OW_TEMP_DONE) == 0) {