[xhci] Leak memory if controller fails to disable slot
authorMichael Brown <mcb30@ipxe.org>
Wed, 18 Feb 2015 09:25:36 +0000 (09:25 +0000)
committerMichael Brown <mcb30@ipxe.org>
Wed, 18 Feb 2015 09:32:50 +0000 (09:32 +0000)
commit88448de720f1b0261a33355295248766e51303fe
tree82d74672a34ec0b3296a8c22b2fb30d6a48ae52d
parent08189df4e0e4d2a4e941e638fb5f8a17115190b8
[xhci] Leak memory if controller fails to disable slot

If the Disable Slot command fails then the hardware may continue to
write to the slot context.  Leak the memory used by the slot context
to avoid future memory corruption.

This situation has been observed in practice when a Set Address
command fails, causing the command ring to become temporarily
unresponsive.

Note that there is no need to similarly leak memory on the failure
path in xhci_device_open(), since in the event of a failure the
hardware is never informed of the slot context address.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/drivers/usb/xhci.c