Re: XHCI, "brain-dead scanner", and microframe rounding

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

 



> 
> Any progress on this one?
> 
> Quite a bunch of people, that try to use a scanner on a xhci port gets
> bitten by this issue. Given, that modern haswell mainboards tend to only
> support xhci ports anymore, this is a real showstopper and kind of
> regression from users POV.
> 
> https://bugzilla.novell.com/show_bug.cgi?id=856794
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1102797
> 
> Would be nice to cc me on answers in order to relay results to other
> suffering people.
> 

To me it looked like the issue was fixes for several people by updating the system,
and I didn't follow up on this issue that much.

I'm stating to abandon the microframe interval theory and think this is related
to endpoint halting or toggle bit status.

checking the usbmon output it looks like scanner code regularly does a 
clear_feature[endpoint halt].

Many changes were done in 3.18 and 3.19-rc release regarding to how we handle 
halted and stopped endpoints, Can you test if that fixes your issues? 
preferably with a 3.19-rc kernel

If that still doesn't do it then you might be one hitting this issue in xchi.c:

/*
 * We might need to implement the config ep cmd in xhci 4.8.1 note:
 * The Reset Endpoint Command may only be issued to endpoints in the
 * Halted state. If software wishes reset the Data Toggle or Sequence
 * Number of an endpoint that isn't in the Halted state, then software
 * may issue a Configure Endpoint Command with the Drop and Add bits set
 * for the target endpoint. that is in the Stopped state.
 */
 
Which is not implemented yet

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