diff options
author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-05-16 16:08:15 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-05-16 16:08:15 -0700 |
commit | d573c819eae7c2baa132a00122f8d1c031c31ced (patch) | |
tree | e17973a0161e15c7102a3346a4918d26d5e8d503 | |
parent | 40b99c3faeadb7530b586e1e34d9e008c2ca1eaf (diff) | |
parent | adce509c2875fb547b9a96fce8f04c7352777e86 (diff) |
Merge "usb: gadget: f_cdev: Fix NULL pointer dereference in cser_free_inst"
-rw-r--r-- | drivers/usb/gadget/function/f_cdev.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/gadget/function/f_cdev.c b/drivers/usb/gadget/function/f_cdev.c index 3d466bfa098d..34ec15ab9010 100644 --- a/drivers/usb/gadget/function/f_cdev.c +++ b/drivers/usb/gadget/function/f_cdev.c @@ -823,8 +823,10 @@ static void cser_free_inst(struct usb_function_instance *fi) opts = container_of(fi, struct f_cdev_opts, func_inst); - device_destroy(fcdev_classp, MKDEV(major, opts->port->minor)); - cdev_del(&opts->port->fcdev_cdev); + if (opts->port) { + device_destroy(fcdev_classp, MKDEV(major, opts->port->minor)); + cdev_del(&opts->port->fcdev_cdev); + } usb_cser_chardev_deinit(); kfree(opts->func_name); kfree(opts->port); |