[coreboot-gerrit] Patch merged into coreboot/master: libpayload: usb: xhci: Prevent address reuse

gerrit at coreboot.org gerrit at coreboot.org
Sat Jul 18 09:40:37 CEST 2015


the following patch was just integrated into master:
commit e44a4e8787b5388f63983c4460b495f53425162c
Author: Julius Werner <jwerner at chromium.org>
Date:   Wed Jul 8 22:36:00 2015 -0700

    libpayload: usb: xhci: Prevent address reuse
    
    We have been trying to avoid reassigning previously used USB addresses
    to different devices since CL:197420, because some devices seem to take
    issue with that. Unfortunately, that patch doesn't affect XHCI: those
    controllers insist on chosing addresses on their own. The only way to
    prevent them from reusing a previously assigned address is to not
    disable that slot at all.
    
    This patch implements address reuse avoidance on XHCI by not disabling
    slots when a device is detatched (which may occur both on physical
    detachment or if we simply couldn't find a driver for that device).
    Instead, we just release as many resources as we can for detached
    devices (by dropping all endpoint contexts) and defer the final cleanup
    until the point where the controller actually runs out of resources (a
    point that we probably don't often reach in most firmware scenarios).
    
    BRANCH=none
    BUG=chrome-os-partner:42181
    TEST=Booted an Oak plugged into a Servo without having a driver for the
    SMSC network chip, observed that it could still enumerate the next
    device afterwards. Kept unplugging/replugging stuff until the cleanup
    triggered and made sure the controller still worked after that. Also
    played around a bit on a Falco without issues.
    
    Change-Id: Idfbab39abbc5bc5eff822bedf9c8d5bd4cad8cd2
    Signed-off-by: Patrick Georgi <pgeorgi at chromium.org>
    Original-Commit-Id: 88c6bcbc41156729c3c38937c8a4adebc66f1ccb
    Original-Change-Id: I0653a4f6a02c02498210a70ffdda9d986592813b
    Original-Signed-off-by: Julius Werner <jwerner at chromium.org>
    Original-Reviewed-on: https://chromium-review.googlesource.com/284175
    Original-Tested-by: Nicolas Boichat <drinkcat at chromium.org>
    Original-Reviewed-by: Patrick Georgi <pgeorgi at chromium.org>
    Reviewed-on: http://review.coreboot.org/10957
    Tested-by: build bot (Jenkins)
    Reviewed-by: Stefan Reinauer <stefan.reinauer at coreboot.org>


See http://review.coreboot.org/10957 for details.

-gerrit



More information about the coreboot-gerrit mailing list