Re: [PATCH] iio:accel:kxsd9 fix missing mutex unlock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/13/2013 09:27 PM, Jonathan Cameron wrote:
From: Frank Zago <frank@xxxxxxxx>

This will leave a lock held after reading from the device, preventing
any further reads.

Signed-off-by: Frank Zago <frank@xxxxxxxx>
Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx>
---
I have reworked this from a patch sent to me by Frank and put it
into the correct format.

Frank, do you mind me adding your sign off on this. It's shorter
than your patch, but the effect is the same.  This approach of unlocking
before checking a return value is a common kernel idiom.

Jonathan

  drivers/iio/accel/kxsd9.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/drivers/iio/accel/kxsd9.c b/drivers/iio/accel/kxsd9.c
index d72118d1189c..12df91986dd2 100644
--- a/drivers/iio/accel/kxsd9.c
+++ b/drivers/iio/accel/kxsd9.c
@@ -112,6 +112,7 @@ static int kxsd9_read(struct iio_dev *indio_dev, u8 address)
  	mutex_lock(&st->buf_lock);
  	st->tx[0] = KXSD9_READ(address);
  	ret = spi_sync_transfer(st->us, xfers, ARRAY_SIZE(xfers));
+	mutex_unlock(&st->buf_lock);
  	if (ret)
  		return ret;
  	return (((u16)(st->rx[0])) << 8) | (st->rx[1] & 0xF0);

I think you'll need to hold the lock until you've actually read the data from the buffer.

- Lars

--
To unsubscribe from this list: send the line "unsubscribe linux-iio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux