summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-07-13 15:44:58 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-07-13 15:44:57 -0700
commitcdf04650af0ec72b078ec2940db157df32bd5ed8 (patch)
tree5ab44d930abbfa7e1263e97d1d17271e63712d58
parent3872c04222305bb95b66d684be01fd99f7045ea7 (diff)
parentdebda566010d7939560ce078820003ff18fa97da (diff)
Merge "usb: gadget: f_gsi: Set speed descriptor pointers to NULL after free"
-rw-r--r--drivers/usb/gadget/function/f_gsi.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/usb/gadget/function/f_gsi.c b/drivers/usb/gadget/function/f_gsi.c
index d79e85979e40..84fb715075af 100644
--- a/drivers/usb/gadget/function/f_gsi.c
+++ b/drivers/usb/gadget/function/f_gsi.c
@@ -2574,11 +2574,16 @@ static void gsi_unbind(struct usb_configuration *c, struct usb_function *f)
if (gsi->prot_id == IPA_USB_MBIM)
mbim_gsi_ext_config_desc.function.subCompatibleID[0] = 0;
- if (gadget_is_superspeed(c->cdev->gadget))
+ if (gadget_is_superspeed(c->cdev->gadget)) {
usb_free_descriptors(f->ss_descriptors);
- if (gadget_is_dualspeed(c->cdev->gadget))
+ f->ss_descriptors = NULL;
+ }
+ if (gadget_is_dualspeed(c->cdev->gadget)) {
usb_free_descriptors(f->hs_descriptors);
+ f->hs_descriptors = NULL;
+ }
usb_free_descriptors(f->fs_descriptors);
+ f->fs_descriptors = NULL;
if (gsi->c_port.notify) {
kfree(gsi->c_port.notify_req->buf);