diff options
Diffstat (limited to 'drivers/usb/misc')
-rw-r--r-- | drivers/usb/misc/ldusb.c | 2 | ||||
-rw-r--r-- | drivers/usb/misc/trancevibrator.c | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/misc/ldusb.c b/drivers/usb/misc/ldusb.c index 8208496dfc63..c730d20eec66 100644 --- a/drivers/usb/misc/ldusb.c +++ b/drivers/usb/misc/ldusb.c | |||
@@ -61,6 +61,7 @@ | |||
61 | #define USB_DEVICE_ID_VERNIER_GOTEMP 0x0002 | 61 | #define USB_DEVICE_ID_VERNIER_GOTEMP 0x0002 |
62 | #define USB_DEVICE_ID_VERNIER_SKIP 0x0003 | 62 | #define USB_DEVICE_ID_VERNIER_SKIP 0x0003 |
63 | #define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004 | 63 | #define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004 |
64 | #define USB_DEVICE_ID_VERNIER_LCSPEC 0x0006 | ||
64 | 65 | ||
65 | #define USB_VENDOR_ID_MICROCHIP 0x04d8 | 66 | #define USB_VENDOR_ID_MICROCHIP 0x04d8 |
66 | #define USB_DEVICE_ID_PICDEM 0x000c | 67 | #define USB_DEVICE_ID_PICDEM 0x000c |
@@ -92,6 +93,7 @@ static struct usb_device_id ld_usb_table [] = { | |||
92 | { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP) }, | 93 | { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP) }, |
93 | { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS) }, | 94 | { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS) }, |
94 | { USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICDEM) }, | 95 | { USB_DEVICE(USB_VENDOR_ID_MICROCHIP, USB_DEVICE_ID_PICDEM) }, |
96 | { USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LCSPEC) }, | ||
95 | { } /* Terminating entry */ | 97 | { } /* Terminating entry */ |
96 | }; | 98 | }; |
97 | MODULE_DEVICE_TABLE(usb, ld_usb_table); | 99 | MODULE_DEVICE_TABLE(usb, ld_usb_table); |
diff --git a/drivers/usb/misc/trancevibrator.c b/drivers/usb/misc/trancevibrator.c index 67e2fc20eeeb..03368edf3f22 100644 --- a/drivers/usb/misc/trancevibrator.c +++ b/drivers/usb/misc/trancevibrator.c | |||
@@ -59,13 +59,14 @@ static ssize_t set_speed(struct device *dev, struct device_attribute *attr, | |||
59 | { | 59 | { |
60 | struct usb_interface *intf = to_usb_interface(dev); | 60 | struct usb_interface *intf = to_usb_interface(dev); |
61 | struct trancevibrator *tv = usb_get_intfdata(intf); | 61 | struct trancevibrator *tv = usb_get_intfdata(intf); |
62 | int temp, retval; | 62 | int temp, retval, old; |
63 | 63 | ||
64 | temp = simple_strtoul(buf, NULL, 10); | 64 | temp = simple_strtoul(buf, NULL, 10); |
65 | if (temp > 255) | 65 | if (temp > 255) |
66 | temp = 255; | 66 | temp = 255; |
67 | else if (temp < 0) | 67 | else if (temp < 0) |
68 | temp = 0; | 68 | temp = 0; |
69 | old = tv->speed; | ||
69 | tv->speed = temp; | 70 | tv->speed = temp; |
70 | 71 | ||
71 | dev_dbg(&tv->udev->dev, "speed = %d\n", tv->speed); | 72 | dev_dbg(&tv->udev->dev, "speed = %d\n", tv->speed); |
@@ -77,6 +78,7 @@ static ssize_t set_speed(struct device *dev, struct device_attribute *attr, | |||
77 | tv->speed, /* speed value */ | 78 | tv->speed, /* speed value */ |
78 | 0, NULL, 0, USB_CTRL_GET_TIMEOUT); | 79 | 0, NULL, 0, USB_CTRL_GET_TIMEOUT); |
79 | if (retval) { | 80 | if (retval) { |
81 | tv->speed = old; | ||
80 | dev_dbg(&tv->udev->dev, "retval = %d\n", retval); | 82 | dev_dbg(&tv->udev->dev, "retval = %d\n", retval); |
81 | return retval; | 83 | return retval; |
82 | } | 84 | } |