Re: [PATCH v1] usb: core: hub: improve port over-current alert msg

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

 



On Tue, Oct 05, 2021 at 05:16:44PM +0200, Flavio Suligoi wrote:
> At the moment the port over-current message is
> displayed only if the over-current condition is permanent.
> 
> But in case of permanent short-circuit or
> over-current, some USB power-distribution switches
> (such as the TPS20xx, etc.), after the over-current
> detection and the consequent shutdown, return
> in the normal state.

Please use the full 72 columns of the changelog text.


> 
> So, in these cases, the over-current error message
> never appears.
> 
> To overcome this problem, the "over-current condition"
> message is displayed even after some over-current events.
> 
> Signed-off-by: Flavio Suligoi <f.suligoi@xxxxxxx>
> ---
>  arch/arm64/boot/dts/Makefile | 1 +
>  drivers/usb/core/hub.c       | 5 +++--
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/Makefile b/arch/arm64/boot/dts/Makefile
> index 639e01a4d855..bf26ce60d78a 100644
> --- a/arch/arm64/boot/dts/Makefile
> +++ b/arch/arm64/boot/dts/Makefile
> @@ -8,6 +8,7 @@ subdir-y += amlogic
>  subdir-y += apm
>  subdir-y += apple
>  subdir-y += arm
> +subdir-y += asem
>  subdir-y += bitmain
>  subdir-y += broadcom
>  subdir-y += cavium

I do not think this change is part of this :(

> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 86658a81d284..ff6c8e0e2673 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -5577,7 +5577,8 @@ static void port_event(struct usb_hub *hub, int port1)
>  		msleep(100);	/* Cool down */
>  		hub_power_on(hub, true);
>  		hub_port_status(hub, port1, &status, &unused);
> -		if (status & USB_PORT_STAT_OVERCURRENT)
> +		if ((status & USB_PORT_STAT_OVERCURRENT) ||
> +		    !(port_dev->over_current_count % 15))

What is 15?

>  			dev_err(&port_dev->dev, "over-current condition\n");
>  	}
>  
> @@ -5738,7 +5739,7 @@ static void hub_event(struct work_struct *work)
>  			u16 status = 0;
>  			u16 unused;
>  
> -			dev_dbg(hub_dev, "over-current change\n");
> +			dev_info(hub_dev, "over-current change\n");

This is just going to be noisy, what can a user do with this?

thanks,

greg k-h



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

  Powered by Linux