Messages in this thread | | | Date | Mon, 15 Jul 2019 12:50:23 -0700 | From | Matthias Kaehlcke <> | Subject | Re: [PATCH] iio: cros_ec_accel_legacy: Always release lock when returning from _read() |
| |
On Mon, Jul 15, 2019 at 12:40:42PM -0700, Doug Anderson wrote: > Hi, > > On Mon, Jul 15, 2019 at 12:10 PM Matthias Kaehlcke <mka@chromium.org> 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@chromium.org> > > --- > > 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@collabora.com> > > 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.
Oops, I didn't realize that upstream doesn't have the mutex. In this case the entire patch as is with it's commit message doesn't make much sense.
| |