usb: mdm_bridge: Fix bug in handling error condition
mdm bridge driver is calling usb_autopm_put_interface
even if usb_autopm_get_interface returns error. This is
causing crash during HSIC device disconnection.
CRs-Fixed: 366337
Change-Id: Ieb84ff155e997a590813e5a29bb108a26867d4ee
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
diff --git a/drivers/usb/misc/mdm_data_bridge.c b/drivers/usb/misc/mdm_data_bridge.c
index bf8e5f4..6ee3204 100644
--- a/drivers/usb/misc/mdm_data_bridge.c
+++ b/drivers/usb/misc/mdm_data_bridge.c
@@ -479,7 +479,7 @@
result = usb_autopm_get_interface(dev->intf);
if (result < 0) {
dev_err(&dev->udev->dev, "%s: resume failure\n", __func__);
- goto error;
+ goto pm_error;
}
txurb = usb_alloc_urb(0, GFP_KERNEL);
@@ -536,7 +536,7 @@
error:
dev->txurb_drp_cnt++;
usb_autopm_put_interface(dev->intf);
-
+pm_error:
return result;
}
EXPORT_SYMBOL(data_bridge_write);