Let's use Matthias CL. On Mon, Jul 15, 2019 at 4:17 PM Gwendal Grignou <gwendal@xxxxxxxxxxxx> wrote: > > Sorry for the original mistake. I upload a patch at > https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1702884. > > On Mon, Jul 15, 2019 at 1:04 PM Matthias Kaehlcke <mka@xxxxxxxxxxxx> wrote: > > > > Hi Benson, > > > > On Mon, Jul 15, 2019 at 12:55:57PM -0700, Benson Leung wrote: > > > Hi Matthias, > > > > > > On Mon, Jul 15, 2019 at 12:10:17PM -0700, Matthias Kaehlcke 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(-) > > > > > > > > diff --git a/drivers/iio/accel/cros_ec_accel_legacy.c b/drivers/iio/accel/cros_ec_accel_legacy.c > > > > index 46bb2e421bb9..27ca4a64dddf 100644 > > > > --- a/drivers/iio/accel/cros_ec_accel_legacy.c > > > > +++ b/drivers/iio/accel/cros_ec_accel_legacy.c > > > > @@ -206,7 +206,8 @@ static int cros_ec_accel_legacy_read(struct iio_dev *indio_dev, > > > > case IIO_CHAN_INFO_CALIBBIAS: > > > > /* Calibration not supported. */ > > > > *val = 0; > > > > - return IIO_VAL_INT; > > > > + ret = IIO_VAL_INT; > > > > + break; > > > > > > The value of ret is not used below this. It seems to be only used in > > > case IIO_CHAN_INFO_RAW. In fact, with your change, > > > there's no return value at all and we just reach the end of > > > cros_ec_accel_legacy_read. > > > > > > > default: > > > > return -EINVAL; > > > > } > > > > > > > I messed up. I was over-confident that a FROMLIST patch in our 4.19 > > kernel + this patch applying on upstream means that upstream uses the > > same code. I should have double-checked that the upstream context is > > actually the same. > > > > Sorry for the noise.