Re: [Bugme-new] [Bug 15376] New: regression (oops) with usb in 2.6.33-rc8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Christophe,

Along with sending me dmesg with CONFIG_USB_DEBUG enabled against
2.6.33-r8, can you send me dmesg with this patch applied?  I think this
will avert the oops and let me see what's really going on with the
device.  I can wait until the weekend. :)

Sarah Sharp


diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c
index 9bc95fe..13ba115 100644
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -1437,6 +1437,7 @@ int usb_reset_configuration(struct usb_device *dev)
 	int			i, retval;
 	struct usb_host_config	*config;
 	struct usb_hcd *hcd = bus_to_hcd(dev->bus);
+	int			bad_config = 0;
 
 	if (dev->state == USB_STATE_SUSPENDED)
 		return -EHOSTUNREACH;
@@ -1452,6 +1453,30 @@ int usb_reset_configuration(struct usb_device *dev)
 	}
 
 	config = dev->actconfig;
+	printk(KERN_DEBUG "Dev in state %u.\n", dev->state);
+	printk(KERN_DEBUG "Config %u has %u interfaces.\n",
+			config->desc.bConfigurationValue,
+			config->desc.bNumInterfaces);
+	for (i = 0; i < config->desc.bNumInterfaces; i++) {
+		if (config->interface[i] == NULL) {
+			printk(KERN_DEBUG "config->interface[%i] is NULL.\n",
+					i);
+			bad_config = 1;
+			continue;
+		}
+		printk(KERN_DEBUG "Config %u intf %u has %u altsettings.\n",
+				config->desc.bConfigurationValue,
+				config->desc.bNumInterfaces,
+				config->interface[i]->num_altsetting);
+		if (config->interface[i]->altsetting == NULL) {
+			printk(KERN_DEBUG "interface %i "
+					"altsetting array is NULL.\n", i);
+			bad_config = 1;
+		}
+	}
+	if (bad_config)
+		return -EPIPE;
+
 	retval = 0;
 	mutex_lock(&hcd->bandwidth_mutex);
 	/* Make sure we have enough bandwidth for each alternate setting 0 */
-- 
1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux