usb:configfs:Set udc_name NULL if attach failed
authora17671 <a17671@motorola.com>
Thu, 17 Oct 2019 09:49:51 +0000 (17:49 +0800)
committerxiest1 <xiest1@lenovo.com>
Tue, 5 Nov 2019 09:32:13 +0000 (17:32 +0800)
If the probing of UDC controller failed
udc_name shall be NULL to avoid double unregistration
and the panic
It could happen in some corner case

Change-Id: I2e6e4168a505b86d8f1b57db53be91acc608ee97
Signed-off-by: a17671 <a17671@motorola.com>
Reviewed-on: https://gerrit.mot.com/1438349
SLTApproved: Slta Waiver
SME-Granted: SME Approvals Granted
Tested-by: Jira Key
Reviewed-by: Xiangpo Zhao <zhaoxp3@motorola.com>
Submit-Approved: Jira Key

drivers/usb/gadget/configfs.c

index cd7cdaa3cad0ecf2fa1ebf4c03c94c6ff353405b..8dd6ea47a6de4c2a0c477da3d7c640522d8eb440 100755 (executable)
@@ -1896,8 +1896,10 @@ static ssize_t secure_store(struct device *pdev, struct device_attribute *attr,
                        pr_err("Failed detaching UDC from gadget %d\n", ret);
        } else {
                ret = usb_gadget_probe_driver(&gi->composite.gadget_driver);
-               if (ret)
+               if (ret) {
+                       gi->composite.gadget_driver.udc_name = NULL;
                        pr_err("Failed attaching UDC to gadget %d\n", ret);
+               }
        }
        mutex_unlock(&gi->lock);