• Pete Zaitcev's avatar
    usb: free DMA mappings if enqueue fails · 9f6a93f7
    Pete Zaitcev authored
    This patch releases DMA resources if enqueue fails in the HCD.
    
    Linux had this bug ever since we converted from virt_to_bus for 2.4.
    It is difficult to hit. A user would need a significant memory pressure
    or some other unusual condition.
    
    It was reported to me by IBM. They ran a management application for
    RSA II adapters which sent Bulk requests to an Interrupt endpoint.
    Submissions got rejected by HCD due to an invalid interval value
    and the swiotlb pool became depleted in the matter of hours.
    
    We fixed the invalid interval issue in devio.c separately, but this
    seems to be a bug worth fixing as well.
    Signed-off-by: default avatarPete Zaitcev <zaitcev@redhat.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    9f6a93f7
hcd.c 49.7 KB