diff mbox series

[RFC] USB:XHCI:Adjust the log level of hub

Message ID 1616666652-37920-1-git-send-email-liulongfang@huawei.com
State New
Headers show
Series [RFC] USB:XHCI:Adjust the log level of hub | expand

Commit Message

liulongfang March 25, 2021, 10:04 a.m. UTC
When the number of ports of the hub is not between 1 and Maxports,
it will only exit the registration of the hub on the current controller,
but it will not affect the function of the controller itself. Its other
hubs can operate normally, so the log level here can be changed from
error to information.

Signed-off-by: Longfang Liu <liulongfang@huawei.com>
---
 drivers/usb/core/hub.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Comments

Greg KH March 25, 2021, 10:31 a.m. UTC | #1
On Thu, Mar 25, 2021 at 06:04:12PM +0800, Longfang Liu wrote:
> When the number of ports of the hub is not between 1 and Maxports,
> it will only exit the registration of the hub on the current controller,
> but it will not affect the function of the controller itself. Its other
> hubs can operate normally, so the log level here can be changed from
> error to information.
> 
> Signed-off-by: Longfang Liu <liulongfang@huawei.com>
> ---
>  drivers/usb/core/hub.c | 10 ++++------
>  1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index b1e14be..70294ad 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -1409,13 +1409,11 @@ static int hub_configure(struct usb_hub *hub,
>  		maxchild = min_t(unsigned, maxchild, USB_SS_MAXPORTS);
>  
>  	if (hub->descriptor->bNbrPorts > maxchild) {
> -		message = "hub has too many ports!";
> -		ret = -ENODEV;
> -		goto fail;
> +		dev_info(hub_dev, "hub has too many ports!\n");

Is this an error?  If so, report it as such, not as "information".

> +		return -ENODEV;
>  	} else if (hub->descriptor->bNbrPorts == 0) {
> -		message = "hub doesn't have any ports!";
> -		ret = -ENODEV;
> -		goto fail;
> +		dev_info(hub_dev, "hub doesn't have any ports!\n");

Same here.

What problem are you trying to solve here?

What hub do you have that has no ports, or too many, that you think
should still be able to work properly?

thanks,

greg k-h
Greg KH March 25, 2021, 1:59 p.m. UTC | #2
On Thu, Mar 25, 2021 at 09:33:53PM +0800, liulongfang wrote:
> On 2021/3/25 18:31, Greg KH wrote:
> > On Thu, Mar 25, 2021 at 06:04:12PM +0800, Longfang Liu wrote:
> >> When the number of ports of the hub is not between 1 and Maxports,
> >> it will only exit the registration of the hub on the current controller,
> >> but it will not affect the function of the controller itself. Its other
> >> hubs can operate normally, so the log level here can be changed from
> >> error to information.
> >>
> >> Signed-off-by: Longfang Liu <liulongfang@huawei.com>
> >> ---
> >>  drivers/usb/core/hub.c | 10 ++++------
> >>  1 file changed, 4 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> >> index b1e14be..70294ad 100644
> >> --- a/drivers/usb/core/hub.c
> >> +++ b/drivers/usb/core/hub.c
> >> @@ -1409,13 +1409,11 @@ static int hub_configure(struct usb_hub *hub,
> >>  		maxchild = min_t(unsigned, maxchild, USB_SS_MAXPORTS);
> >>  
> >>  	if (hub->descriptor->bNbrPorts > maxchild) {
> >> -		message = "hub has too many ports!";
> >> -		ret = -ENODEV;
> >> -		goto fail;
> >> +		dev_info(hub_dev, "hub has too many ports!\n");
> > 
> > Is this an error?  If so, report it as such, not as "information".
> > 
> >> +		return -ENODEV;
> >>  	} else if (hub->descriptor->bNbrPorts == 0) {
> >> -		message = "hub doesn't have any ports!";
> >> -		ret = -ENODEV;
> >> -		goto fail;
> >> +		dev_info(hub_dev, "hub doesn't have any ports!\n");
> > 
> > Same here.
> > 
> > What problem are you trying to solve here?
> > 
> > What hub do you have that has no ports, or too many, that you think
> > should still be able to work properly?
> > 
> > thanks,
> > 
> > greg k-h
> > .
> On our test platform, the xhci usb3 hub has no port.

Sounds like a broken device, why not fix that?

> when initializing the usb3 hub, an error will be reported
> because the port is 0, but in fact it will not affect
> the use of usb2, and the usb2 hub is working normally.

But you can not have a USB3 hub with no ports, isn't that against
against the USB spec?  How does this device pass the USB-IF
certification?

> thanks, therefore, in order to reduce the severity of the log,
> we hope to lower the level of this log.

You did not reduce the severity at all, everyone can still see it.

Please try fixing your hardware :)

thanks,

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index b1e14be..70294ad 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -1409,13 +1409,11 @@  static int hub_configure(struct usb_hub *hub,
 		maxchild = min_t(unsigned, maxchild, USB_SS_MAXPORTS);
 
 	if (hub->descriptor->bNbrPorts > maxchild) {
-		message = "hub has too many ports!";
-		ret = -ENODEV;
-		goto fail;
+		dev_info(hub_dev, "hub has too many ports!\n");
+		return -ENODEV;
 	} else if (hub->descriptor->bNbrPorts == 0) {
-		message = "hub doesn't have any ports!";
-		ret = -ENODEV;
-		goto fail;
+		dev_info(hub_dev, "hub doesn't have any ports!\n");
+		return -ENODEV;
 	}
 
 	/*