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/

