summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/visor.c
diff options
context:
space:
mode:
authorPete Zaitcev <zaitcev@redhat.com>2007-06-08 22:37:49 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2007-07-13 01:34:31 +0200
commit9f6a93f7bbb6d73ca0e43c000f3bbf521cd4f782 (patch)
tree50b53635eb5ca5b615b33aa3a00c7f155e691484 /drivers/usb/serial/visor.c
parentUSB: Handle bogus low-speed Bulk endpoints (diff)
downloadlinux-9f6a93f7bbb6d73ca0e43c000f3bbf521cd4f782.tar.xz
linux-9f6a93f7bbb6d73ca0e43c000f3bbf521cd4f782.zip
usb: free DMA mappings if enqueue fails
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: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/visor.c')
0 files changed, 0 insertions, 0 deletions