From: Kisang Lee Date: Tue, 7 May 2019 12:15:55 +0000 (+0900) Subject: [RAMEN9610-14956] [COMMON] usb: check android device and UDC name X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=872b1ddbddf21f3d9447a73baeb825c2b5a802af;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git [RAMEN9610-14956] [COMMON] usb: check android device and UDC name Change-Id: I5750a0da33aec22fde3050a9f3db4161196f8394 Signed-off-by: Kisang Lee --- diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c index 18e51b06fc5f..068acc27ccbb 100644 --- a/drivers/usb/gadget/configfs.c +++ b/drivers/usb/gadget/configfs.c @@ -342,6 +342,12 @@ static ssize_t gadget_dev_desc_UDC_store(struct config_item *item, name = kstrdup(page, GFP_KERNEL); if (!name) return -ENOMEM; + + if(!len || (strlen(name) != len)) { + kfree(name); + return -EINVAL; + } + if (name[len - 1] == '\n') name[len - 1] = '\0'; @@ -1474,6 +1480,11 @@ static void android_work(struct work_struct *data) unsigned long flags; bool uevent_sent = false; + if (!android_device && IS_ERR(android_device)) { + pr_info("usb: cannot send uevent because android_device not available \n"); + return; + } + spin_lock_irqsave(&cdev->lock, flags); if (cdev->config) status[1] = true; diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c index ef8caed63fff..5da84bef8109 100644 --- a/drivers/usb/gadget/function/f_fs.c +++ b/drivers/usb/gadget/function/f_fs.c @@ -2990,8 +2990,6 @@ static inline struct f_fs_opts *ffs_do_functionfs_bind(struct usb_function *f, func->ffs = ffs_data; - pr_info("KS : No waiting!!!\n"); - func->conf = c; func->gadget = c->cdev->gadget;