Only check if the abort transfer is the interrupt one if the pipe is
authormpi <mpi@openbsd.org>
Tue, 5 Aug 2014 20:26:15 +0000 (20:26 +0000)
committermpi <mpi@openbsd.org>
Tue, 5 Aug 2014 20:26:15 +0000 (20:26 +0000)
commit52b6d773a9c807da2b7554e98ad4f4bab7ed6124
tree11a77e848ecca91c1006139e81d9e542ea02d5b9
parent7a5a4a1150979c1565bcd90d771aef936b4d2f17
Only check if the abort transfer is the interrupt one if the pipe is
opened with a callback.

If a driver opens an interrupt pipe without callback function, like
umct(4) does with one of its bulk in endpoints being reported as an
interrupt endpoint, then we can end up aborting a transfer which is
different from the interrupt one.

Issue reported by Roberto E. Vargas Caballero, ok deraadt@
sys/dev/usb/ehci.c
sys/dev/usb/ohci.c
sys/dev/usb/uhci.c