The completion code has been changed using swait (simple wait) instead
of the more complex wait implementation. ffs_data_put() is checking
the internal state of the completion code. That is why the transition
from wait to swait is not completely transparent for this function and
we need to update it accordingly.

Signed-off-by: Daniel Wagner <[email protected]>
Cc: Felipe Balbi <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Michal Nazarewicz <[email protected]>
Cc: Al Viro <[email protected]>
Cc: Robert Baldyga <[email protected]>
Cc: Rui Miguel Silva <[email protected]>
Cc: David Cohen <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
 drivers/usb/gadget/function/f_fs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/f_fs.c 
b/drivers/usb/gadget/function/f_fs.c
index 6e7be91..4dc32d9 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -1405,7 +1405,7 @@ static void ffs_data_put(struct ffs_data *ffs)
                pr_info("%s(): freeing\n", __func__);
                ffs_data_clear(ffs);
                BUG_ON(waitqueue_active(&ffs->ev.waitq) ||
-                      waitqueue_active(&ffs->ep0req_completion.wait));
+                      swait_active(&ffs->ep0req_completion.wait));
                kfree(ffs->dev_name);
                kfree(ffs);
        }
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to