Re: xhci driver fails and corrupt memory

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

 



Hmm, I just found out that my change to libusb is incompatible with
kernel versions < 3.3
How exactly Hans de Geode is going to proceed with this issue? I think
I saw a couple of emails about this, but I couldn't find the whole
thread.

> On Tue, 26 Jun 2012 11:47:57 +0400
> Igor Kuzmin <parafin@xxxxxxxxx> wrote:
> 
> > On Mon, 25 Jun 2012 13:26:45 -0700
> > Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> wrote:
> >   
> > > On Fri, Jun 22, 2012 at 03:36:53PM +0400, Igor Kuzmin wrote:  
> > > > Hello!
> > > > 
> > > > I'm software engineer at XIMEA (www.ximea.com) responsible for Linux
> > > > support for our products. We're using libusb-1.0 to handle our USB
> > > > cameras, everything works very stable with USB2 controllers, not so
> > > > good with XHCI (both with USB2 and USB3 devices).  
> > > 
> > > Does your libusb driver submit very large transfers?  We ran into an
> > > issue with libusb making assumptions about the short packet behavior
> > > that just isn't true under xHCI.
> > > 
> > > libusb breaks large transfers into smaller buffers because older kernels
> > > had a limit on how large each buffer could be.  Newer kernels now have a
> > > limit on the total size of all mapped usbfs buffers.  So libusb would
> > > break larger transfers into a couple of usbfs URB submissions, and usbfs
> > > would assume that a short packet would stop the queue long enough for it
> > > to cancel any URBs that were part of that transfer.  But that's not true
> > > under xHCI, so your application would see a short transfer completion
> > > followed by a canceled URB completion.
> > > 
> > > Basically, libusb just needs to be fixed to not break transfers into
> > > smaller chunks.  Hans de Geode volunteered to work on this.  
> > 
> > Yes, I stumbled into this issue, for the time being we patched libusb,
> > so that MAX_BULK_BUFFER_LENGTH is 1MB (that's exactly how big is the
> > transfers we submit, so no splitting). Without this change it just
> > doesn't work at all (there are some short transfers). Good to hear that
> > somebody is working on it, I submitted my patch to libusb's trac, but
> > had no response yet.
--
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