Re: [PATCH] Downgrade "over-current change" message to dev_dbg

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

 



On Mon, 14 Feb 2011, Paul Bolle wrote:

> On a laptop I see these errors on (most) resumes:
>     hub 3-0:1.0: over-current change on port 1
>     hub 3-0:1.0: over-current change on port 2
> 
> The error message doesn't explain what action should be taken. Neither
> does the code surrounding this message. A quick look at the (large) USB
> specification didn't make it clear to me why this should be an error.
> All other over-current related messages in this file are at dev_dbg()
> level. There are no obvious other problems with USB after resume. I have
> no idea what an over-current change actually is, so it's just a guess
> that this message can be downgraded to dev_dbg() level.

"Over-current" means the device plugged into the hub's port is drawing 
more electrical current than it is allowed to.  "Over-current change" 
means that the over-current status has changed, i.e., at some point 
since the last time we looked at the hub, an over-current status 
existed.

In general not much can be done about over-current problems, other than 
unplugging the device that's drinking too much current.  In my 
experience these conditions are almost always very short-lived (a 
fraction of a second), in which case no recovery action is needed.

> Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx>
> ---
>  drivers/usb/core/hub.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index d041c68..17ed38a 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -3412,7 +3412,7 @@ static void hub_events(void)
>  			}
>  			
>  			if (portchange & USB_PORT_STAT_C_OVERCURRENT) {
> -				dev_err (hub_dev,
> +				dev_dbg (hub_dev,
>  					"over-current change on port %d\n",
>  					i);
>  				clear_port_feature(hdev, i,

I'm not sure.  It's true that this is almost always harmless, and the
corresponding statement for hub over-current rather than port
over-current is indeed dev_dbg.  On the other hand, it potentially
does indicate a genuine error condition.

Maybe we should delay for 500 ms and then check the port status again.  
It would make sense to log an error message if the over-current status
persists, otherwise dev_dbg would be fine.

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