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

Reply via email to