USB: f_fs: Set ffs->func to NULL after disabling endpoint in set_alt()
When adb root is performed, userspace will close and open ffs_epsfile. Closing this file will call ffs_functionfs_callback() which does call remove_config(). This will call ffs_function_eps_disable to disable endpoints and then calls ffs_func_unbind(). Unbind() will also call endpoint disable which might lead to disabling endpoint which is already disabled. Some of UDC driver throws WARN_ON() if same endpoint is being disabled multiple time. Hence set ffs->func to NULL after disabling endpoints in set_alt() to overcome WARN_ON(). Change-Id: I3052bdee74a1793d4e003de4b991d353e5d699b0 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org> Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This commit is contained in:
parent
ed7d0b670d
commit
61c08e8af6
1 changed files with 3 additions and 1 deletions
|
@ -2933,8 +2933,10 @@ static int ffs_func_set_alt(struct usb_function *f,
|
|||
return intf;
|
||||
}
|
||||
|
||||
if (ffs->func)
|
||||
if (ffs->func) {
|
||||
ffs_func_eps_disable(ffs->func);
|
||||
ffs->func = NULL;
|
||||
}
|
||||
|
||||
if (ffs->state == FFS_DEACTIVATED) {
|
||||
ffs->state = FFS_CLOSING;
|
||||
|
|
Loading…
Add table
Reference in a new issue