Skip to content
  • Sarah Sharp's avatar
    xhci: Remove segments from radix tree on failed insert. · d5734223
    Sarah Sharp authored
    
    
    If we're expanding a stream ring, we want to make sure we can add those
    ring segments to the radix tree that maps segments to ring pointers.
    Try the radix tree insert after the new ring segments have been allocated
    (the last segment in the new ring chunk will point to the first newly
    allocated segment), but before the new ring segments are linked into the
    old ring.
    
    If insert fails on any one segment, remove each segment from the radix
    tree, deallocate the new segments, and return.  Otherwise, link the new
    segments into the tree.
    
    HdG: Add a check to only update stream mappings in xhci_ring_expansion when
    the ring is a stream ring.
    
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarSarah Sharp <sarah.a.sharp@linux.intel.com>
    d5734223