umodem(4): Clear stall at every open.
authorHans Petter Selasky <hselasky@FreeBSD.org>
Tue, 30 Aug 2022 14:01:43 +0000 (16:01 +0200)
committerHans Petter Selasky <hselasky@FreeBSD.org>
Tue, 30 Aug 2022 14:02:47 +0000 (16:02 +0200)
commit40e43b056df9aa2392f673fcacc72725c2201658
tree8a75e71c20a7e87a0f22645a85d02ea3ccb63aac
parentc00605751e40797de795944cb3c6dcc405136d8b
umodem(4): Clear stall at every open.

Some controllers like the XHCI(4) loose track of the data toggle value when
USB receive transfers are cancelled at close. This in turn can lead to to
data loss after the next open.

To avoid data loss, make sure both the receive and transmit data toggles
get reset, before trying to read or write any data.

Differential Revision: https://reviews.freebsd.org/D36391
Submitted by: Dave Baukus <daveb@spectralogic.com>
MFC after: 1 week
Sponsored by: NVIDIA Networking
sys/dev/usb/serial/umodem.c