patch "staging: iio: ad7152: Fix deadlock in ad7152_write_raw_samp_freq()" added to staging-linus
Subsystems (5)
This is a note to let you know that I've just added the patch titled
staging: iio: ad7152: Fix deadlock in ad7152_write_raw_samp_freq()
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
Quoted 1 line
From
95264c8c6a9040e84edda883dbbe9d193c41f46cMon Sep 17 00:00:00 2001
From: Alexey Khoroshilov <[email protected]>
Date: Sat, 27 May 2017 01:53:04 +0300
Subject: staging: iio: ad7152: Fix deadlock in ad7152_write_raw_samp_freq()
ad7152_write_raw_samp_freq() is called by ad7152_write_raw() with chip->state_lock held. So, there is unavoidable deadlock when ad7152_write_raw_samp_freq() locks the mutex itself.
The patch removes unneeded locking.
Found by Linux Driver Verification project (linuxtesting.org).
IIO_CHAN_INFO_SAMP_FREQ attribute")
--- drivers/staging/iio/cdc/ad7152.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
drivers/staging/iio/cdc/ad7152.c +1 -5
@@ -231,16 +231,12 @@ static int ad7152_write_raw_samp_freq(struct device *dev, int val)if (i >=ARRAY_SIZE (ad7152_filter_rate_table)) i =ARRAY_SIZE (ad7152_filter_rate_table) -1 ; -mutex_lock (&chip->state_lock); ret =i2c_smbus_write_byte_data (chip->client,AD7152_REG_CFG2 ,AD7152_CFG2_OSR (i)); -if (ret <0 ) { -mutex_unlock (&chip->state_lock); +if (ret <0 )return ret; - } chip->filter_rate_setup = i; -mutex_unlock (&chip->state_lock);return ret; }
Signature · 1 line
2.13.1