Re: the proper value of timeout of usb_control_msg

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

 



On Sun, 2 Jan 2011, vichy wrote:

> after studying the source again, I guess when timeout happen, the
> ehci_urb_done is called by end_unlink_async to screen out the previous
> commands.

By way of qh_completions.  That's right.

> Why I ask this question is I found something abnormal
> I purposely dump the the token of the qtd in timeout urb under
> qh_completions and it shows:
> (I set a bit when driver fail on wait_for_completion_timeout, and
> check this bit in qh_completions)
> 
> urb 84718200 toke 0x80000e00
> ehci -ehci.0: ehci_urb_done 1 urb 84718200 ep0out status -150 len 0/0
> usb 2-1: ifconfig timed out on ep0out len=0/0

Do you know which qtd this is?  A control transfer uses 3 qtds.

> The active bit is 0, and if I remember correctly this bit should be
> already set in qh_urb_transaction.

Yes.  But it isn't set in the dummy qtd.

> Meanwhile, I also add message as below:
> 			wmb ();
> 			dummy->hw_token = token;
> 			if(token != dummy->hw_token)
> 				printk("Not identy token=0x%x, dummy->hw_token=0x%x\n",token,
> dummy->hw_token);
> but i didn't see it in the log.
> 
> I also grep the source and I didn't find any place to clear this bit.

No, the hardware clears it automatically.

> Did I miss anything or I need to do more experiments?

Maybe.  Have you seen this email?

	http://marc.info/?l=linux-mips&m=129397158114595&w=2

People have been using USB on MIPS for a long time.  Why do you think 
you're seeing problems now?

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