[coreboot-gerrit] New patch to review for coreboot: 0929b88 libpayload: usb: Detach unused USB devices

Marc Jones (marc.jones@se-eng.com) gerrit at coreboot.org
Tue Dec 16 23:36:07 CET 2014


Marc Jones (marc.jones at se-eng.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/7830

-gerrit

commit 0929b889e3227ad4fd684013dfafca53722aa657
Author: Shawn Nematbakhsh <shawnn at chromium.org>
Date:   Tue Apr 15 21:34:30 2014 -0700

    libpayload: usb: Detach unused USB devices
    
    If a payload decides not to use a USB device then the device can be
    detached. This prevents the device from interfering with normal
    operation on some platforms. Also, it aligns the behavior of
    usb_generic_init with class-specific init functions such as
    usb_msc_init, which will detach unsupported devices.
    
    BUG=None
    TEST=Manual on Squawks. Test recovery boot w/ USB 2.0 media, verify
    that media boots and no babble error is encountered.
    BRANCH=rambi
    
    Change-Id: I8fb30951d273e4144cda214a30a2e86df90f2c1c
    Original-Change-Id: Iee522344558749603defb2966e18765aa195dae2
    Signed-off-by: Shawn Nematbakhsh <shawnn at chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/195401
    Reviewed-by: Aaron Durbin <adurbin at chromium.org>
    (cherry picked from commit f7778ace68c9bee8dfab2b263e5dd054fc50c3bb)
    Signed-off-by: Marc Jones <marc.jones at se-eng.com>
---
 payloads/libpayload/drivers/usb/usb.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/payloads/libpayload/drivers/usb/usb.c b/payloads/libpayload/drivers/usb/usb.c
index eb23760..25bd954 100644
--- a/payloads/libpayload/drivers/usb/usb.c
+++ b/payloads/libpayload/drivers/usb/usb.c
@@ -636,4 +636,9 @@ usb_generic_init (usbdev_t *dev)
 
 	if (usb_generic_create)
 		usb_generic_create(dev);
+
+	if (dev->data == NULL) {
+		usb_debug("Detaching device not used by payload\n");
+		usb_detach_device(dev->controller, dev->address);
+	}
 }



More information about the coreboot-gerrit mailing list