staging: vt6656: Fix URB submitted while active warning.
authorMalcolm Priestley <tvboxspy@gmail.com>
Wed, 30 Jan 2013 20:07:29 +0000 (20:07 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Feb 2013 14:59:04 +0000 (06:59 -0800)
commit4aee4099c7309d0610cf857d9d02d27ebfeb1b95
tree3b7a1cf31e1e02256806de561ff8d9dad190f696
parent59959c9505e28cc7b9ead416cb064b4e56ba7dd5
staging: vt6656: Fix URB submitted while active warning.

commit ae5943de8c8c4438cbac5cda599ff0b88c224468 upstream.

This error happens because PIPEnsControlOut and PIPEnsControlIn unlock the
spin lock for delay, letting in another thread.

The patch moves the current MP_SET_FLAG to before filling
of sUsbCtlRequest for pControlURB and clears it in event of failing.

Any thread calling either function while fMP_CONTROL_READS or fMP_CONTROL_WRITES
flags set will return STATUS_FAILURE.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/vt6656/usbpipe.c