[PATCH] USB speedtouch: handle usb_string failure

From: Duncan Sands (baldrick@wanadoo.fr)
Date: Fri Feb 28 2003 - 07:31:31 EST


 speedtouch.c | 12 ++++--------
 1 files changed, 4 insertions(+), 8 deletions(-)

diff -Nru a/drivers/usb/misc/speedtouch.c b/drivers/usb/misc/speedtouch.c
--- a/drivers/usb/misc/speedtouch.c Fri Feb 28 13:23:18 2003
+++ b/drivers/usb/misc/speedtouch.c Fri Feb 28 13:23:18 2003
@@ -892,7 +892,6 @@
         int ifnum = intf->altsetting->desc.bInterfaceNumber;
         struct udsl_instance_data *instance;
         unsigned char mac_str [13];
- unsigned char mac [6];
         int i, length;
         char *buf;
 
@@ -995,13 +994,10 @@
         instance->atm_dev->link_rate = 128 * 1000 / 424;
 
         /* set MAC address, it is stored in the serial number */
- usb_string (instance->usb_dev, instance->usb_dev->descriptor.iSerialNumber, mac_str, 13);
- for (i = 0; i < 6; i++)
- mac[i] = (hex2int (mac_str[i * 2]) * 16) + (hex2int (mac_str[i * 2 + 1]));
-
- dbg ("MAC is %02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-
- memcpy (instance->atm_dev->esi, mac, 6);
+ memset (instance->atm_dev->esi, 0, sizeof (instance->atm_dev->esi));
+ if (usb_string (dev, dev->descriptor.iSerialNumber, mac_str, sizeof (mac_str)) == 12)
+ for (i = 0; i < 6; i++)
+ instance->atm_dev->esi[i] = (hex2int (mac_str[i * 2]) * 16) + (hex2int (mac_str[i * 2 + 1]));
 
         /* device description */
         buf = instance->description;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Feb 28 2003 - 22:00:48 EST