Re: libusb broken on 2.6.28 x86_64 ?

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

 



Alan Stern wrote:
On Fri, 2 Jan 2009, Mark Lord wrote:
..
This patch, below, FIXES it for me, by undoing a change from 2.6.28.

Signed-off-by: Mark Lord <mlord@xxxxxxxxx>

--- old/drivers/usb/core/driver.c	2008-12-24 18:26:37.000000000 -0500
+++ linux/drivers/usb/core/driver.c	2009-01-02 04:34:11.000000000 -0500
@@ -279,9 +279,7 @@
 	 * altsetting means creating new endpoint device entries).
 	 * When either of these happens, defer the Set-Interface.
 	 */
-	if (intf->cur_altsetting->desc.bAlternateSetting == 0)
-		;	/* Already in altsetting 0 so skip Set-Interface */
-	else if (!error && intf->dev.power.status == DPM_ON)
+	if (!error && intf->dev.power.status == DPM_ON)
 		usb_set_interface(udev, intf->altsetting[0].
 				desc.bInterfaceNumber, 0);
 	else

For a proper fix, see

	http://bugzilla.kernel.org/show_bug.cgi?id=12301#c13

A corresponding patch has been posted to linux-usb here:

	http://marc.info/?l=linux-usb&m=123074111001861&w=2
..

Mmm.. too bad linux-kernel wasn't CC'd on that, or I might have
found the patch and saved some sleep.  Good to see that it has
been fixed down in a subsystem tree, though.

I have no idea what's going on with the 64-bit vs. 32-bit stuff, though.
..

Yeah, something is very broken somewhere, because the _compat ioctl()s
should really produce the same behaviour as the 64-bit ones.

Looking forward to seeing this regression fixed in mainline ASAP.

Cheers
--
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