aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/misc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/misc')
-rw-r--r--drivers/usb/misc/ldusb.c2
-rw-r--r--drivers/usb/misc/trancevibrator.c4
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};
97MODULE_DEVICE_TABLE(usb, ld_usb_table); 99MODULE_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 }