• B
    xhci: Calculate old endpoints correctly on device reset · 326124a0
    Brian Campbell 提交于
    When resetting a device the number of active TTs may need to be
    corrected by xhci_update_tt_active_eps, but the number of old active
    endpoints supplied to it was always zero, so the number of TTs and the
    bandwidth reserved for them was not updated, and could rise
    unnecessarily.
    
    This affected systems using Intel's Patherpoint chipset, which rely on
    software bandwidth checking.  For example, a Lenovo X230 would lose the
    ability to use ports on the docking station after enough suspend/resume
    cycles because the bandwidth calculated would rise with every cycle when
    a suitable device is attached.
    
    The correct number of active endpoints is calculated in the same way as
    in xhci_reserve_bandwidth.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: NBrian Campbell <bacam@z273.org.uk>
    Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    326124a0
xhci.c 148.5 KB