USB: serial: ti_usb_3410_5052: Avoid goto in bulk in callback
Quoted 2 lines · Johan Hovold
Quoted 1 line · Ladislav Michl
On Mon, Dec 11, 2017 at 11:10:35AM +0100, Johan Hovold wrote:
[snip]
Quoted 7 lines
Quoted 7 lines
Quoted 6 lines
I'm afraid I don't consider this an improvement. I prefer using gotos for error paths, while keeping the success path out of the status switch.
Furthermore, this isn't functionally equivalent as we'd not longer log an error for
-EPIPE.
Quoted 6 lines
Quoted 2 lines
Yes, you are right... Now, shouldn't we react somehow to stalled endpoint? Tty side seems to be unaware of it.
Recovering from a stalled endpoint is a bit involved, so for now we typically just log an error an bail out (forcing the user to reopen the port). This seems to work well enough as this condition should be rare.
I just do not see this in code. I would expect pending tty I/O operation would fail once USB device errors out with -EPIPE, so tty side consumer gets notified about error. Either it is not there or I did not look hard enough :)
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
In fact, that
-EPIPEis already on my TODO list as we really should not be resubmitting URBs for a stalled endpoint in the first place. That in turn should allow for some clean up of this callback.Out of curiosity, how would be stalled endpoint reported?
Simply logging that the urb has been stopped along with the URB status (
-EPIPE) should be enough.
See above.
Quoted 1 line
Johan
Best regards,
ladis
---
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html