[PATCH] USB speedtouch: don't open a connection if no firmware

From: Duncan Sands (baldrick@wanadoo.fr)
Date: Tue Apr 08 2003 - 02:26:43 EST


People using Alcatel's closed source firmware loader "speedmgmt" may need
to sleep longer before launching pppd.

--- redux-2.5/drivers/usb/misc/speedtch.c 2003-04-08 08:49:33.000000000 +0200
+++ bollux-2.5/drivers/usb/misc/speedtch.c 2003-04-04 13:44:11.000000000 +0200
@@ -816,9 +816,6 @@
                 return -ENODEV;
         }
 
- if (!instance->firmware_loaded)
- return -EAGAIN;
-
         if (vcc->qos.aal != ATM_AAL5) {
                 dbg ("unsupported ATM type %d!", vcc->qos.aal);
                 return -EINVAL;
@@ -933,6 +930,11 @@
         if (vcc->qos.aal != ATM_AAL5)
                 return -EINVAL;
 
+ if (!instance->firmware_loaded) {
+ dbg ("firmware not loaded!");
+ return -EAGAIN;
+ }
+
         down (&instance->serialize); /* vs self, udsl_atm_close */
 
         if (udsl_find_vcc (instance, vpi, vci)) {
@@ -967,13 +969,12 @@
 
         dbg ("Allocated new SARLib vcc 0x%p with vpi %d vci %d", new, vpi, vci);
 
- MOD_INC_USE_COUNT;
-
- if (instance->firmware_loaded)
- udsl_fire_receivers (instance);
+ udsl_fire_receivers (instance);
 
         dbg ("udsl_atm_open successful");
 
+ MOD_INC_USE_COUNT;
+
         return 0;
 }
 
@@ -1041,6 +1042,7 @@
                 int ret;
 
                 if ((ret = usb_set_interface (instance->usb_dev, 1, 1)) < 0) {
+ dbg ("usb_set_interface returned %d!", ret);
                         up (&instance->serialize);
                         return ret;
                 }
-
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 : Tue Apr 15 2003 - 22:00:14 EST