Re: Problem when USB hub is inserted

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

 



On Thu, 27 May 2010, Alessio Sangalli wrote:

> On 05/27/2010 08:20 AM, Alan Stern wrote:
> 
> > Can you do a bisection search between those two kernels to find out
> > where the problems start to appear?
> 
> I was not able to do the bisect. Tomorrow I will try with a guy that is 
> much more expert than I am with git and I will see.

Okay, good luck.

> > I'm surprised you were able to get anything to work at all with that
> > code removed.  The qtd_copy_status() routine is where the driver
> > determines how many bytes were transferred between the computer and the
> > device.  Without it, the computer would think no data was getting
> > transferred.
> 
> After some further investigation, I have found that if I change:
> ehci-q.c qtd_copy_status() line 153:
> 
> ********
> if (likely (QTD_PID (token) != 2))
> 		urb->actual_length += length - QTD_LENGTH (token);
> ********
> int temp;
> ...
> if (likely (QTD_PID (token) != 2))
> 		temp = length - QTD_LENGTH (token);
> ********
> 
> (I used "temp" just to execute all the code, but not modify the value of 
> "urb->actual_length") the problem I have with interrupts disappears!!! 
> Again, read performance from a memory stick goes down 3 or 4 times.

Try running a test: Use usbmon to see what gets sent to and from the 
memory stick both with and without your change in place.  Instructions 
are in Documentation/usb/usbmon.txt.

> Any idea what could be that triggers this problem? Please note, the 
> problem is present only if I attach a hub; without hubs everything's 
> fine (but 2.6.19 was working even with hubs)

No, I have no idea.  Nor can I imagine why having a hub might make a 
difference.

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


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

  Powered by Linux