Stupid mail client sent my message mid-writing. Sorry.
What happens when you remove a last-non-CP210X device from the hub?

On Tue, Apr 7, 2015 at 10:39 PM, Tal Shorer <tal.sho...@gmail.com> wrote:
> Wild guess, you don't see the same behavior on your desktop machine
> because it's a different hcd that sets the return value.
> What happens when you
>
> On Tue, Apr 7, 2015 at 9:57 PM, Mark Enstone <mark.enst...@silabs.com> wrote:
>> linux-usb,
>>
>> Apologies if I've come at this the wrong way, I've read MAINTAINERS and 
>> usb-serial.txt to get your name.
>>
>>
>> Kernel 3.15 added logic to usb_serial_generic_read_bulk_callback() to 
>> resubmit read URBs in the general/default fail case (for failures other than 
>> urb->status = ENOENT, ECONNRESET, ESHUTDOWN. Also EPIPE).
>>
>> On Raspberry Pi, running a 3.18 kernel, I am seeing -EPROTO as the 
>> urb->status  in usb_serial_generic_read_bulk_callback()  when the last 
>> CP210X USB-UART device is removed from a hub (the hub remains attached to 
>> the Raspberry Pi).  ((removing a non-last CP210X from the hub, does not 
>> return EPROTO, does return one of the specifically identified errnos)).  The 
>> URB is retried, which fails again with EPROTO, is retried, fails in the same 
>> way again, etc. "forever".
>>
>> I am not seeing this same behavior on a similarly configured Dell Optiplex 
>> desktop.  Thus far, only on RPi.
>>
>>
>> Question: have you seen such behavior? Had you considered adding EPROTO to 
>> the list of urb->status errnos failed rather than retried?   If I do fail, 
>> rather than retry, the -EPROTO-failed URB, I get my expected results.  I do 
>> not know what the correct approach is, hoped you could opine:  should I add 
>> EPROTO as a "fail" rather than as a "retry" error in 
>> usb_serial_generic_read_bulk_callback() (this seems to fix my problem)?  Or 
>> should I investigate why/where the EPROTO is coming from vs. why it is not, 
>> say, ENOENT (it does not seem unreasonable to retry an EPROTO IFF EPROTO is 
>> considered transient, however my test case it seems to get "stuck at" 
>> EPROTO)?
>>
>> Thoughts appreciated, thank you,
>>
>> ~Mark
>>
>> Mark Enstone
>> "We are stuck with technology when what we really want is just stuff that 
>> works" --- DNA
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in
>> the body of a message to majord...@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to