summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2017-01-20 13:48:34 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2017-01-20 13:48:34 -0800
commitec95bb9e5c296cc8c5cb42ebc4e4f8c74aaff8c0 (patch)
treea67133d67e65085baa48ac8a9d5598e5788ec28b /drivers/usb
parent43be7f575f1ec8a1bc8a8dccd4cef694aa356479 (diff)
parentbd8ed2fcf3eac426ef9650c00c94b71c10980ddd (diff)
Merge "USB: u_data_ipa: Fix spinlock usage in resume_work handler"
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/function/u_data_ipa.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/usb/gadget/function/u_data_ipa.c b/drivers/usb/gadget/function/u_data_ipa.c
index bf9e0fa9950b..6c18a04f6c1c 100644
--- a/drivers/usb/gadget/function/u_data_ipa.c
+++ b/drivers/usb/gadget/function/u_data_ipa.c
@@ -1107,18 +1107,18 @@ static void bam2bam_data_resume_work(struct work_struct *w)
unsigned long flags;
int ret;
- if (!port->port_usb->cdev) {
- pr_err("!port->port_usb->cdev is NULL");
+ spin_lock_irqsave(&port->port_lock, flags);
+ if (!port->port_usb || !port->port_usb->cdev) {
+ pr_err("port->port_usb or cdev is NULL");
goto exit;
}
if (!port->port_usb->cdev->gadget) {
- pr_err("!port->port_usb->cdev->gadget is NULL");
+ pr_err("port->port_usb->cdev->gadget is NULL");
goto exit;
}
pr_debug("%s: resume started\n", __func__);
- spin_lock_irqsave(&port->port_lock, flags);
gadget = port->port_usb->cdev->gadget;
if (!gadget) {
spin_unlock_irqrestore(&port->port_lock, flags);