summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/function
diff options
context:
space:
mode:
authorVijayavardhan Vennapusa <vvreddy@codeaurora.org>2017-01-20 11:24:02 +0530
committerVijayavardhan Vennapusa <vvreddy@codeaurora.org>2017-01-20 15:46:54 +0530
commitbd8ed2fcf3eac426ef9650c00c94b71c10980ddd (patch)
treec3f14f82aad9ed0aebe75295af51db5ae71bd613 /drivers/usb/gadget/function
parent2f817b68f06ed866aa2c4cc35b2e4293aeb1ef99 (diff)
USB: u_data_ipa: Fix spinlock usage in resume_work handler
Fix spinlock usage in bam2bam_data_resume_work handler that could cause error reported by static analysis tool. Change-Id: I15bbb5abc98452fcfed2d98547a859a355a391d9 Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Diffstat (limited to 'drivers/usb/gadget/function')
-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 2d0cd30c0641..f72834adc0d9 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);