Skip to content

Commit

Permalink
usb: dwc2: gadget: sparse warning of context imbalance
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Sudip Mukherjee authored and Felipe Balbi committed Oct 23, 2014
1 parent bfa6b18 commit b585a48
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions drivers/usb/dwc2/gadget.c
Original file line number Diff line number Diff line change
Expand Up @@ -2561,8 +2561,10 @@ static int s3c_hsotg_ep_enable(struct usb_ep *ep,
hs_ep->fifo_size = val;
break;
}
if (i == 8)
return -ENOMEM;
if (i == 8) {
ret = -ENOMEM;
goto error;
}
}

/* for non control endpoints, set PID to D0 */
Expand All @@ -2579,6 +2581,7 @@ static int s3c_hsotg_ep_enable(struct usb_ep *ep,
/* enable the endpoint interrupt */
s3c_hsotg_ctrl_epint(hsotg, index, dir_in, 1);

error:
spin_unlock_irqrestore(&hsotg->lock, flags);
return ret;
}
Expand Down

0 comments on commit b585a48

Please sign in to comment.