aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/chipidea/trace.h
diff options
context:
space:
mode:
authorThinh Nguyen2021-10-25 16:35:06 -0700
committerGreg Kroah-Hartman2021-11-17 15:01:55 +0100
commit63c4c320ccf77074ffe9019ac596603133c1b517 (patch)
tree1eea0c0df47232b2fc4cd54216f2a202272ac032 /drivers/usb/chipidea/trace.h
parentd74dc3e9f58c28689cef1faccf918e06587367d3 (diff)
usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer
The programming guide noted that the driver needs to verify if the link state is in U0 before executing the Start Transfer command. If it's not in U0, the driver needs to perform remote wakeup. This is not accurate. If the link state is in U1/U2, then the controller will not respond to link recovery request from DCTL.ULSTCHNGREQ. The Start Transfer command will trigger a link recovery if it is in U1/U2. A clarification will be added to the programming guide for all controller versions. The current implementation shouldn't cause any functional issue. It may occasionally report an invalid time out warning from failed link recovery request. The driver will still go ahead with the Start Transfer command if the remote wakeup fails. The new change only initiates remote wakeup where it is needed, which is when the link state is in L1/L2/U3. Fixes: c36d8e947a56 ("usb: dwc3: gadget: put link to U0 before Start Transfer") Cc: <stable@vger.kernel.org> Signed-off-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com> Link: https://lore.kernel.org/r/05b4a5fbfbd0863fc9b1d7af934a366219e3d0b4.1635204761.git.Thinh.Nguyen@synopsys.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/chipidea/trace.h')
0 files changed, 0 insertions, 0 deletions