diff options
Diffstat (limited to 'common/usb.c')
| -rw-r--r-- | common/usb.c | 19 | 
1 files changed, 13 insertions, 6 deletions
| diff --git a/common/usb.c b/common/usb.c index 335012798..5f4683152 100644 --- a/common/usb.c +++ b/common/usb.c @@ -681,7 +681,7 @@ int usb_string(struct usb_device *dev, int index, char *buf, size_t size)  		err = usb_string_sub(dev, 0, 0, tbuf);  		if (err < 0) {  			USB_PRINTF("error getting string descriptor 0 " \ -				   "(error=%x)\n", dev->status); +				   "(error=%lx)\n", dev->status);  			return -1;  		} else if (tbuf[0] < 4) {  			USB_PRINTF("string descriptor 0 too short\n"); @@ -1041,6 +1041,16 @@ struct usb_hub_device *usb_hub_allocate(void)  #define MAX_TRIES 5 +static inline char *portspeed(int portstatus) +{ +	if (portstatus & (1 << USB_PORT_FEAT_HIGHSPEED)) +		return "480 Mb/s"; +	else if (portstatus & (1 << USB_PORT_FEAT_LOWSPEED)) +		return "1.5 Mb/s"; +	else +		return "12 Mb/s"; +} +  static int hub_port_reset(struct usb_device *dev, int port,  			unsigned short *portstat)  { @@ -1064,8 +1074,7 @@ static int hub_port_reset(struct usb_device *dev, int port,  		USB_HUB_PRINTF("portstatus %x, change %x, %s\n",  				portstatus, portchange, -				portstatus & (1 << USB_PORT_FEAT_LOWSPEED) ? \ -						"Low Speed" : "High Speed"); +				portspeed(portstatus));  		USB_HUB_PRINTF("STAT_C_CONNECTION = %d STAT_CONNECTION = %d" \  			       "  USB_PORT_STAT_ENABLE %d\n", @@ -1111,9 +1120,7 @@ void usb_hub_port_connect_change(struct usb_device *dev, int port)  	portstatus = le16_to_cpu(portsts.wPortStatus);  	portchange = le16_to_cpu(portsts.wPortChange);  	USB_HUB_PRINTF("portstatus %x, change %x, %s\n", -			portstatus, portchange, -			portstatus&(1 << USB_PORT_FEAT_LOWSPEED) ? \ -						"Low Speed" : "High Speed"); +			portstatus, portchange, portspeed(portstatus));  	/* Clear the connection change status */  	usb_clear_port_feature(dev, port + 1, USB_PORT_FEAT_C_CONNECTION); |