diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2017-01-20 13:48:34 -0800 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-20 13:48:34 -0800 |
| commit | ec95bb9e5c296cc8c5cb42ebc4e4f8c74aaff8c0 (patch) | |
| tree | a67133d67e65085baa48ac8a9d5598e5788ec28b /drivers/usb | |
| parent | 43be7f575f1ec8a1bc8a8dccd4cef694aa356479 (diff) | |
| parent | bd8ed2fcf3eac426ef9650c00c94b71c10980ddd (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.c | 8 |
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); |
