libpayload: usb: handle situation with no free device address

Change-Id: I1308bdca90f1a09d980f384ee85552198a39b965
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Found-by: Coverity Scan #1260940
Reviewed-on: https://review.coreboot.org/18036
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
diff --git a/payloads/libpayload/drivers/usb/usb.c b/payloads/libpayload/drivers/usb/usb.c
index bfb697d..bb42f89 100644
--- a/payloads/libpayload/drivers/usb/usb.c
+++ b/payloads/libpayload/drivers/usb/usb.c
@@ -336,6 +336,8 @@
 		     int hubport, int hubaddr)
 {
 	int adr = get_free_address (controller);	// address to set
+	if (adr < 0)
+		return NULL;
 	dev_req_t dr;
 
 	memset (&dr, 0, sizeof (dr));