Comment 6 for bug 284664

Revision history for this message
cdarken (cata-en) wrote :

I have also a speedtouch 330 modem and when I boot with the latest kernel, I get the same error.
This is a confirmed problem of 2.6.27 kernel. I have tried this on gentoo also, and I was able to find a solution searching on the internet.
You can read the solution here: http://bugzilla.kernel.org/show_bug.cgi?id=11767

I used the patch given there and I can confirm that it works on kernel 2.6.27-3.

Again the patch, credit to Alan Stern, quoting from his post:

>> The problem is that the speetch driver calls usb_reset_device() without
>> defining pre_reset and post_reset methods. As a result, any interfaces
>> it claims during probe get disconnected.

>> Here's a minimal fix. It isn't entirely correct, but at least it
>> should get the driver working as well as it did before 2.6.27.

>> Alan Stern

Index: usb-2.6/drivers/usb/atm/speedtch.c
===================================================================
--- usb-2.6.orig/drivers/usb/atm/speedtch.c
+++ usb-2.6/drivers/usb/atm/speedtch.c
@@ -722,6 +722,16 @@ static void speedtch_atm_stop(struct usb
        flush_scheduled_work();
 }

+static int speedtch_pre_reset(struct usb_interface *intf)
+{
+ return 0;
+}
+
+static int speedtch_post_reset(struct usb_interface *intf)
+{
+ return 0;
+}
+

 /**********
 ** USB **
@@ -740,6 +750,8 @@ static struct usb_driver speedtch_usb_dr
        .name = speedtch_driver_name,
        .probe = speedtch_usb_probe,
        .disconnect = usbatm_usb_disconnect,
+ .pre_reset = speedtch_pre_reset,
+ .post_reset = speedtch_post_reset,
        .id_table = speedtch_usb_ids
 };

I hope we'll see this patch in the kernel that comes on the cd, because I think a lot of people use this modem, and it would be a shame not to let them enjoy the new release.