aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorOliver Neukum <oneukum@suse.com>2016-01-21 15:18:47 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-02-03 13:29:12 -0800
commit7dd9cba5bb90ffa9c60c1533b715dc91c5082cd9 (patch)
treebb4a3865a2873a13a642352bff604c951459e873 /include/linux/device.h
parentusb: core: switch bus numbering to using idr (diff)
downloadlinux-dev-7dd9cba5bb90ffa9c60c1533b715dc91c5082cd9.tar.xz
linux-dev-7dd9cba5bb90ffa9c60c1533b715dc91c5082cd9.zip
usb: sysfs: make locking interruptible
232275a USB: fix substandard locking for the sysfs files introduced needed locking into sysfs operations on USB devices It, however, uses uninterruptible sleep and if the error handling is on extreme cases of sleep lengths of 10s of seconds are possible. Unless we are removing the device we should use interruptible sleep. Signed-off-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r--include/linux/device.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 6d6f1fec092f..2d0e6e541d52 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -958,6 +958,11 @@ static inline void device_lock(struct device *dev)
mutex_lock(&dev->mutex);
}
+static inline int device_lock_interruptible(struct device *dev)
+{
+ return mutex_lock_interruptible(&dev->mutex);
+}
+
static inline int device_trylock(struct device *dev)
{
return mutex_trylock(&dev->mutex);