usb: f_fs: Prevent gadget unbind if it is already unbound
Upon usb composition switch there is possibility of ep0 file release happening after gadget driver bind. In case of composition switch from adb to a non-adb composition gadget will never gets bound again resulting into failure of usb device enumeration. Fix this issue by checking FFS_FL_BOUND flag and avoid extra gadget driver unbind if it is already done as part of composition switch. Change-Id: I1638001ff4a94f08224b188aa42425f3d732fa2b Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
This commit is contained in:
parent
9b68fb8b48
commit
35fdb9cd7e
1 changed files with 4 additions and 3 deletions
|
@ -3968,10 +3968,11 @@ static void ffs_closed(struct ffs_data *ffs)
|
||||||
|
|
||||||
ffs_dev_unlock();
|
ffs_dev_unlock();
|
||||||
|
|
||||||
|
if (test_bit(FFS_FL_BOUND, &ffs->flags)) {
|
||||||
unregister_gadget_item(opts->
|
unregister_gadget_item(opts->
|
||||||
func_inst.group.cg_item.ci_parent->ci_parent);
|
func_inst.group.cg_item.ci_parent->ci_parent);
|
||||||
|
|
||||||
ffs_log("unreg gadget done");
|
ffs_log("unreg gadget done");
|
||||||
|
}
|
||||||
done:
|
done:
|
||||||
ffs_log("exit");
|
ffs_log("exit");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue