On 11/03/17(Sat) 16:39, Mark Kettenis wrote:
> The GL3521 USB 3 hub on the odroid XU4 returns empty vendor and
> product strings.  That makes us skip the lookup in our own tables and
> print a "vendor 0x05e3 pruduct 0x0616" string.  Not sure if that's
> intentional (can't think of a good reason).  If it isn't, I propose
> the diff below.

If you sure there's no problem in usbd_get_string() then I'd rather
change the function to return NULL if an empty string is found.

> 
> ok?
> 
> 
> Index: usb_subr.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/usb/usb_subr.c,v
> retrieving revision 1.131
> diff -u -p -r1.131 usb_subr.c
> --- usb_subr.c        19 Sep 2016 16:46:10 -0000      1.131
> +++ usb_subr.c        11 Mar 2017 15:12:08 -0000
> @@ -254,9 +254,9 @@ usbd_devinfo_vp(struct usbd_device *dev,
>               product = usbd_get_string(dev, udd->iProduct, p, pl);
>               usbd_trim_spaces(product);
>       } else {
> -             if (dev->vendor != NULL)
> +             if (dev->vendor != NULL && *dev->vendor)
>                       vendor = dev->vendor;
> -             if (dev->product != NULL)
> +             if (dev->product != NULL && *dev->product)
>                       product = dev->product;
>       }>  #ifdef USBVERBOSE
> 

Reply via email to