Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b585a48b authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Felipe Balbi
Browse files

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: default avatarPaul Zimmerman <paulz@synopsys.com>
Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent bfa6b18c
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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 */
@@ -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;
}