Re: [PATCH v2 1/1] usb: core: notify disconnection when core detects disconnect

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

 



On Tue, Nov 04, 2014 at 10:46:11AM +0800, Peter Chen wrote:
> It is safe to call notify disconnect when the usb core
> thinks the device is disconnected.
> 
> This commit also fixes one bug found at below situation:
> we have not enabled usb wakeup, we do system suspend when
> there is an usb device at the port, after suspend, we plug out
> the usb device, then plug in device again. At that time,
> the nofity disconnect was not called at current code, as
> the controller doesn't know the usb device was disconnected
> during the suspend, but USB core knows the port has changed
> during that periods.
> 
> So to fix this problem, and let the usb core call notify disconnect.
> 
> Cc: 3.17+ <stable@xxxxxxxxxxxxxxx>
> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx>
> ---
> 
> Changes for v2:
> - Rebase on the newest usb-linus, and change "hcd->phy" to "hcd->usb_phy".
> 
>  drivers/usb/core/hub.c |    5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 65a8e50..00912a5 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -4624,9 +4624,8 @@ static void hub_port_connect(struct usb_hub *hub, int port1, u16 portstatus,
>  
>  	/* Disconnect any existing devices under this port */
>  	if (udev) {
> -		if (hcd->usb_phy && !hdev->parent &&
> -				!(portstatus & USB_PORT_STAT_CONNECTION))
> -			usb_phy_notify_disconnect(hcd->usb_phy, udev->speed);
> +		if (hcd->phy && !hdev->parent)

Why is this now hcd->phy and not hcd->usb_phy?

Did you test this?

And why does it need to go to stable?  Who has reported problems with
this?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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