Hi, On Mon, Jul 15, 2019 at 12:10 PM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote: > > Before doing any actual work cros_ec_accel_legacy_read() acquires > a mutex, which is released at the end of the function. However for > 'calibbias' channels the function returns directly, without releasing > the lock. The next attempt to acquire the lock blocks forever. Instead > of an explicit return statement use the common return path, which > releases the lock. > > Fixes: 11b86c7004ef1 ("platform/chrome: Add cros_ec_accel_legacy driver") > Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx> > --- > drivers/iio/accel/cros_ec_accel_legacy.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) See also <https://lkml.kernel.org/r/39403a4c-bf7f-6a98-890c-57397fa66493@xxxxxxxxxxxxx> Actually, the "Fixes" tag is wrong here, though. The problem only exists because we have <https://crrev.com/c/1632659> in our tree, AKA ("FROMLIST: iio: cros_ec : Extend legacy support to ARM device"). Before that there was no mutex. For upstream purposes this could probably be squashed into the original patch. -Doug