Re: [RESEND PATCH v2] usb: dwc3: gadget: Do link recovery for SS and SSP

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

 



Hi,

Thinh Nguyen wrote:
> The controller always supports link recovery for device in SS and SSP.
> Remove the speed limit check. Also, when the device is in RESUME or
> RESET state, it means the controller received the resume/reset request.
> The driver must send the link recovery to acknowledge the request. They
> are valid states for the driver to send link recovery.
>
> Fixes: 72246da40f37 ("usb: Introduce DesignWare USB3 DRD Driver")
> Fixes: ee5cd41c9117 ("usb: dwc3: Update speed checks for SuperSpeedPlus")
> Signed-off-by: Thinh Nguyen <thinhn@xxxxxxxxxxxx>
> ---
>
> Resend note -
>    This was on Felipe's next branch some time ago,
>    but it was lost somehow.
>
> Changes in v2 -
>    Added Fixes tags
>
>   drivers/usb/dwc3/gadget.c | 8 ++------
>   1 file changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
> index a9aba716bf80..3dcdde9080f5 100644
> --- a/drivers/usb/dwc3/gadget.c
> +++ b/drivers/usb/dwc3/gadget.c
> @@ -1712,7 +1712,6 @@ static int __dwc3_gadget_wakeup(struct dwc3 *dwc)
>   	u32			reg;
>   
>   	u8			link_state;
> -	u8			speed;
>   
>   	/*
>   	 * According to the Databook Remote wakeup request should
> @@ -1722,16 +1721,13 @@ static int __dwc3_gadget_wakeup(struct dwc3 *dwc)
>   	 */
>   	reg = dwc3_readl(dwc->regs, DWC3_DSTS);
>   
> -	speed = reg & DWC3_DSTS_CONNECTSPD;
> -	if ((speed == DWC3_DSTS_SUPERSPEED) ||
> -	    (speed == DWC3_DSTS_SUPERSPEED_PLUS))
> -		return 0;
> -
>   	link_state = DWC3_DSTS_USBLNKST(reg);
>   
>   	switch (link_state) {
> +	case DWC3_LINK_STATE_RESET:
>   	case DWC3_LINK_STATE_RX_DET:	/* in HS, means Early Suspend */
>   	case DWC3_LINK_STATE_U3:	/* in HS, means SUSPEND */
> +	case DWC3_LINK_STATE_RESUME:
>   		break;
>   	default:
>   		return -EINVAL;

Maybe this patch was lost somewhere. Let me know if there's any issue 
with this patch.

Thanks,
Thinh




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux