usb: dwc2: gadget: sparse warning of context imbalance
sparse was giving the following warning: warning: context imbalance in 's3c_hsotg_ep_enable' - different lock contexts for basic block we were returning ENOMEM while still holding the spinlock. The sparse warning was fixed by releasing the spinlock before return. Cc: <stable@vger.kernel.org> # v3.17 Acked-by: Paul Zimmerman <paulz@synopsys.com> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
bfa6b18c68
commit
b585a48b8a
@ -2561,8 +2561,10 @@ static int s3c_hsotg_ep_enable(struct usb_ep *ep,
|
|||||||
hs_ep->fifo_size = val;
|
hs_ep->fifo_size = val;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (i == 8)
|
if (i == 8) {
|
||||||
return -ENOMEM;
|
ret = -ENOMEM;
|
||||||
|
goto error;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* for non control endpoints, set PID to D0 */
|
/* for non control endpoints, set PID to D0 */
|
||||||
@ -2579,6 +2581,7 @@ static int s3c_hsotg_ep_enable(struct usb_ep *ep,
|
|||||||
/* enable the endpoint interrupt */
|
/* enable the endpoint interrupt */
|
||||||
s3c_hsotg_ctrl_epint(hsotg, index, dir_in, 1);
|
s3c_hsotg_ctrl_epint(hsotg, index, dir_in, 1);
|
||||||
|
|
||||||
|
error:
|
||||||
spin_unlock_irqrestore(&hsotg->lock, flags);
|
spin_unlock_irqrestore(&hsotg->lock, flags);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user