summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-05-16 16:08:15 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-05-16 16:08:15 -0700
commitd573c819eae7c2baa132a00122f8d1c031c31ced (patch)
treee17973a0161e15c7102a3346a4918d26d5e8d503
parent40b99c3faeadb7530b586e1e34d9e008c2ca1eaf (diff)
parentadce509c2875fb547b9a96fce8f04c7352777e86 (diff)
Merge "usb: gadget: f_cdev: Fix NULL pointer dereference in cser_free_inst"
-rw-r--r--drivers/usb/gadget/function/f_cdev.c6
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);