summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@nokia.com>2009-09-27 11:52:54 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2009-09-27 11:52:54 +1000
commit96822ad68720bd1e59831a9c0918b49be983dbdd (patch)
treef8a6e9fe8c5ffde8daae4c91b38df5e99907b715 /include
parent1ae1d478a62ae3fdab9c294c9da1a2294d7a1eeb (diff)
i2c: Prevent priority inversion on top of bus lock
Low priority thread holding the i2c bus mutex could block higher priority threads to access the bus resulting in unacceptable latencies. Change the mutex type to rt_mutex preventing priority inversion. Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@nokia.com> Signed-off-by: Jean Delvare <khali@linux-fr.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/i2c.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/include/linux/i2c.h b/include/linux/i2c.h
index 57d41b0abce2..060fcf278458 100644
--- a/include/linux/i2c.h
+++ b/include/linux/i2c.h
@@ -338,8 +338,7 @@ struct i2c_adapter {
void *algo_data;
/* data fields that are valid for all devices */
- u8 level; /* nesting level for lockdep */
- struct mutex bus_lock;
+ struct rt_mutex bus_lock;
int timeout; /* in jiffies */
int retries;