X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fusb%2Fcore%2Fdevices.c;fp=drivers%2Fusb%2Fcore%2Fdevices.c;h=2684e15b813b6cde3001c660aaeff7e8f097b04d;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=c0f37343a276ce551705065625f923ec13f7f629;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/drivers/usb/core/devices.c b/drivers/usb/core/devices.c index c0f37343a..2684e15b8 100644 --- a/drivers/usb/core/devices.c +++ b/drivers/usb/core/devices.c @@ -57,7 +57,6 @@ #include #include #include -#include #include #include "usb.h" @@ -571,7 +570,7 @@ static ssize_t usb_device_read(struct file *file, char __user *buf, size_t nbyte if (!access_ok(VERIFY_WRITE, buf, nbytes)) return -EFAULT; - mutex_lock(&usb_bus_list_lock); + down (&usb_bus_list_lock); /* print devices for all busses */ list_for_each_entry(bus, &usb_bus_list, bus_list) { /* recurse through all children of the root hub */ @@ -581,12 +580,12 @@ static ssize_t usb_device_read(struct file *file, char __user *buf, size_t nbyte ret = usb_device_dump(&buf, &nbytes, &skip_bytes, ppos, bus->root_hub, bus, 0, 0, 0); usb_unlock_device(bus->root_hub); if (ret < 0) { - mutex_unlock(&usb_bus_list_lock); + up(&usb_bus_list_lock); return ret; } total_written += ret; } - mutex_unlock(&usb_bus_list_lock); + up (&usb_bus_list_lock); return total_written; }