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:32:26 +0000 (06:32 -0800)
commit02424a5539959f519256b3a1a9e046f4caed6e65
treead449b60c9647fec87aab5345b5159aefdbcef8f
parent1646fff8a00d797cbaa0d711f29d3102cc7c022f
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