On Wed, 21 Jan 2015 [email protected] wrote:
> From: Deepak Das <[email protected]>
>
> Currently if port power is turned off by user on hub port
> using USBDEVFS then port power is turned back ON
> by hub driver.
> This commit modifies hub reset logic in hub_port_connect() to prevent
> hub driver from turning back the port power ON if port is not owned
> by kernel.
>
> Signed-off-by: Deepak Das <[email protected]>
> ---
> drivers/usb/core/hub.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index b649fef..6f12de7 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -4657,9 +4657,13 @@ static void hub_port_connect(struct usb_hub *hub, int
> port1, u16 portstatus,
> if (!(portstatus & USB_PORT_STAT_CONNECTION) ||
> test_bit(port1, hub->removed_bits)) {
>
> - /* maybe switch power back on (e.g. root hub was reset) */
> + /*
> + * maybe switch power back on (e.g. root hub was reset)
> + * but only if the port isn't owned by someone else.
> + */
Minor issue: Multi-line comments should be formatted like this:
/*
* blah blah blah
* blah blah blah
*/
with all the '*' characters aligned vertically. See how it is done
elsewhere in the source file.
> if (hub_is_port_power_switchable(hub)
> - && !port_is_power_on(hub, portstatus))
> + && !port_is_power_on(hub, portstatus)
> + && !port_dev->port_owner)
> set_port_feature(hdev, port1, USB_PORT_FEAT_POWER);
>
> if (portstatus & USB_PORT_STAT_ENABLE)
Fix that and then repost the patch with:
Acked-by: Alan Stern <[email protected]>
Be sure to CC: Greg KH so he will see it and apply it.
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html