[coreboot-gerrit] Change in coreboot[master]: libpayload: Add UNKNOWN_SPEED to usb_speed enum

Raul Rangel (Code Review) gerrit at coreboot.org
Fri Jul 13 23:17:04 CEST 2018


Raul Rangel has uploaded this change for review. ( https://review.coreboot.org/27476


Change subject: libpayload: Add UNKNOWN_SPEED to usb_speed enum
......................................................................

libpayload: Add UNKNOWN_SPEED to usb_speed enum

xhci_rh_port_speed return -1 if the port is disabled. The usb_speed enum
is unsigned so this results in a positive value which implies success.

Adding a -1 to the enum will make it signed so the >= 0 check will work
correctly.

BUG=b:76831439
TEST=verified on grunt that -1 is returned when port is disabled.

Change-Id: I98a373717d52dfb6ca4dcc53a00dc1b4c240a919
Signed-off-by: Raul E Rangel <rrangel at chromium.org>
---
M payloads/libpayload/drivers/usb/generic_hub.c
M payloads/libpayload/drivers/usb/xhci_rh.c
M payloads/libpayload/include/usb/usb.h
3 files changed, 8 insertions(+), 3 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/76/27476/1

diff --git a/payloads/libpayload/drivers/usb/generic_hub.c b/payloads/libpayload/drivers/usb/generic_hub.c
index 9f86705..89da934 100644
--- a/payloads/libpayload/drivers/usb/generic_hub.c
+++ b/payloads/libpayload/drivers/usb/generic_hub.c
@@ -170,7 +170,8 @@
 
 	const usb_speed speed = hub->ops->port_speed(dev, port);
 	if (speed >= 0) {
-		usb_debug("generic_hub: Success at port %d\n", port);
+		usb_debug("generic_hub: Success at port %d, speed: %d\n", port,
+			  speed);
 		if (hub->ops->reset_port)
 			mdelay(10); /* Reset recovery time
 				       (usb20 spec 7.1.7.5) */
diff --git a/payloads/libpayload/drivers/usb/xhci_rh.c b/payloads/libpayload/drivers/usb/xhci_rh.c
index d7ba82c..ddf6ce8 100644
--- a/payloads/libpayload/drivers/usb/xhci_rh.c
+++ b/payloads/libpayload/drivers/usb/xhci_rh.c
@@ -95,7 +95,7 @@
 				>> PORTSC_PORT_SPEED_START)
 			- 1;
 	} else {
-		return -1;
+		return UNKNOWN_SPEED;
 	}
 }
 
diff --git a/payloads/libpayload/include/usb/usb.h b/payloads/libpayload/include/usb/usb.h
index ef18926..79c4586 100644
--- a/payloads/libpayload/include/usb/usb.h
+++ b/payloads/libpayload/include/usb/usb.h
@@ -187,7 +187,11 @@
 } endpoint_t;
 
 typedef enum {
-	FULL_SPEED = 0, LOW_SPEED = 1, HIGH_SPEED = 2, SUPER_SPEED = 3,
+	UNKNOWN_SPEED = -1,
+	FULL_SPEED = 0,
+	LOW_SPEED = 1,
+	HIGH_SPEED = 2,
+	SUPER_SPEED = 3,
 } usb_speed;
 
 struct usbdev {

-- 
To view, visit https://review.coreboot.org/27476
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I98a373717d52dfb6ca4dcc53a00dc1b4c240a919
Gerrit-Change-Number: 27476
Gerrit-PatchSet: 1
Gerrit-Owner: Raul Rangel <rrangel at chromium.org>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180713/7dba07fd/attachment-0001.html>


More information about the coreboot-gerrit mailing list