Re: [PATCH v4 07/14] usb: usb3 ports do not support FEAT_C_ENABLE

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

 



On Fri, 31 Jan 2014, Dan Williams wrote:

> The port pm_runtime implementation unconditionally clears FEAT_C_ENABLE
> after clearing PORT_POWER, but the bit is reserved on usb3 hub ports.
> We expect khubd to be suspended at this time so we need to clear any
> errors for usb2 ports.

I'm not sure what you meant in that last sentence.  This is a _runtime_
suspend routine, not system suspend.  Therefore khubd will most
certainly be active.  We need to clear the C_ENABLE feature (for
non-SuperSpeed hubs) so that khubd won't see it and do away with the
attached device.

> --- a/drivers/usb/core/port.c
> +++ b/drivers/usb/core/port.c
> @@ -151,7 +151,8 @@ static int usb_port_runtime_suspend(struct device *dev)
>  	set_bit(port1, hub->busy_bits);
>  	retval = usb_hub_set_port_power(hdev, hub, port1, false);
>  	usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_CONNECTION);
> -	usb_clear_port_feature(hdev, port1,	USB_PORT_FEAT_C_ENABLE);
> +	if (!hub_is_superspeed(hdev))
> +		usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_ENABLE);
>  	clear_bit(port1, hub->busy_bits);
>  	usb_autopm_put_interface(intf);

Alan Stern

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




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

  Powered by Linux