On Fri, 2 Jan 2009, Mark Lord wrote: > Greg KH wrote: > .. > > Hm, care to run 'git bisect'? > .. > > No, thanks. But the number of USB core changes in 2.6.28 is rather small, > so I just ended up looking at each of them in more detail. > > 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 I have no idea what's going on with the 64-bit vs. 32-bit stuff, though. Alan Stern -- 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