• Sarah Sharp's avatar
    USB: Clear "warm" port reset change. · c7061574
    Sarah Sharp authored
    In USB 3.0, there are two types of resets: a "hot" port reset and a "warm"
    port reset.  The hot port reset is always tried first, and involves
    sending the reset signaling for a shorter amount of time.  But sometimes
    devices don't respond to the hot reset, and a "Bigger Hammer" is needed.
    
    External hubs and roothubs will automatically try a warm reset when the
    hot reset fails, and they will set a status change bit to indicate when
    there is a "BH reset" change.  Make sure the USB core clears that port
    status change bit, or we'll get lots of status change notifications on the
    interrupt endpoint of the USB 3.0 hub.
    
    (Side note: you may be confused why the USB 3.0 spec calls the same type
    of reset "warm reset" in some places and "BH reset" in other places.  "BH"
    reset is supposed to stand for "Big Hammer" reset, but it also stands for
    "Brad Hosler".  Brad died shortly after the USB 3.0 bus specification was
    started, and they decided to name the reset after him.  The suggestion was
    made shortly before the spec was finalized, so the wording is a bit
    inconsistent.)
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    c7061574
hub.c 112 KB