• Alan Stern's avatar
    [PATCH] UHCI: use dummy TDs · af0bb599
    Alan Stern authored
    This patch (as624) fixes a hardware race in uhci-hcd by adding a dummy
    TD to the end of each endpoint's queue.  Without the dummy the host
    controller will effectively turn off the queue when it reaches the end,
    which happens asynchronously.  This leads to a potential problem when
    new transfer descriptors are added to the end of the queue; they may
    never get used.
    
    With a dummy TD present the controller never turns off the queue;
    instead it just stops at the dummy and leaves the queue on but inactive.
    When new TDs are added to the end of the queue, the first new one gets
    written over the dummy.  Thus there's never any question about whether
    the queue is running or needs to be restarted.
    Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    af0bb599
uhci-debug.c 12.4 KB