Protect the freelists of transfer descriptors with the appropriate spl
authormpi <mpi@openbsd.org>
Sat, 12 Jul 2014 20:13:48 +0000 (20:13 +0000)
committermpi <mpi@openbsd.org>
Sat, 12 Jul 2014 20:13:48 +0000 (20:13 +0000)
commita1fd802c6bb48cc046bdd90859831350ac949ff2
treeb61be26848947e57c4dffc066fb566a3304062c8
parente5b6e7ce24fae5eb85bd876c3dcbfa92b0cce25c
Protect the freelists of transfer descriptors with the appropriate spl
so that we do not end up allocating two times new descriptors.

This happens if a thread finds an empty list, start allocating, got
interrupted and the interrupt also finds an empty list.

Fix an issue reported by Nils Frohberg.

ok yuo@, pirofti@
sys/dev/usb/ehci.c
sys/dev/usb/ohci.c
sys/dev/usb/uhci.c