Re: FAILED: patch "[PATCH] usb: musb: da8xx: fix babble condition handling" failed to apply to 4.9-stable tree

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

 



Hi,

On Mon, Dec 18, 2017 at 12:41:16PM +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
> 
> The patch below does not apply to the 4.9-stable tree.
> If someone wants it applied there, or to any other stable or longterm
> tree, then please email the backport, including the original git commit
> id to <stable@xxxxxxxxxxxxxxx>.
> 
> thanks,
> 
> greg k-h
> 
> ------------------ original commit in Linus's tree ------------------
> 
> From bd3486ded7a0c313a6575343e6c2b21d14476645 Mon Sep 17 00:00:00 2001
> From: Bin Liu <b-liu@xxxxxx>
> Date: Tue, 5 Dec 2017 08:45:30 -0600
> Subject: [PATCH] usb: musb: da8xx: fix babble condition handling
> 
> When babble condition happens, the musb controller might automatically
> turns off VBUS. On DA8xx platform, the controller generates drvvbus
> interrupt for turning off VBUS along with the babble interrupt.
> 
> In this case, we should handle the babble interrupt first and recover
> from the babble condition.
> 
> This change ignores the drvvbus interrupt if babble interrupt is also
> generated at the same time, so the babble recovery routine works
> properly.
> 
> Cc: stable@xxxxxxxxxxxxxxx # v3.16+
> Signed-off-by: Bin Liu <b-liu@xxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> 
> diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
> index 0397606a211b..6c036de63272 100644
> --- a/drivers/usb/musb/da8xx.c
> +++ b/drivers/usb/musb/da8xx.c
> @@ -284,7 +284,15 @@ static irqreturn_t da8xx_musb_interrupt(int irq, void *hci)
>  			musb->xceiv->otg->state = OTG_STATE_A_WAIT_VRISE;
>  			portstate(musb->port1_status |= USB_PORT_STAT_POWER);
>  			del_timer(&musb->dev_timer);

This line causes the conflict. I have sent the new patch for the stable
trees.

Regards,
-Bin.

> -		} else {
> +		} else if (!(musb->int_usb & MUSB_INTR_BABBLE)) {
> +			/*
> +			 * When babble condition happens, drvvbus interrupt
> +			 * is also generated. Ignore this drvvbus interrupt
> +			 * and let babble interrupt handler recovers the
> +			 * controller; otherwise, the host-mode flag is lost
> +			 * due to the MUSB_DEV_MODE() call below and babble
> +			 * recovery logic will not be called.
> +			 */
>  			musb->is_active = 0;
>  			MUSB_DEV_MODE(musb);
>  			otg->default_a = 0;
> 



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]