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

Commit 97dc875f authored by Dan Carpenter's avatar Dan Carpenter Committed by David S. Miller
Browse files

caif: unlock on error path in cfserl_receive()



There was an spin_unlock missing on the error path.  The spin_lock was
tucked in with the declarations so it was hard to spot.  I added a new
line.

Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Acked-by: default avatarSjur Brændeland <sjurbren@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c196b02c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -59,16 +59,18 @@ static int cfserl_receive(struct cflayer *l, struct cfpkt *newpkt)
	u8 stx = CFSERL_STX;
	int ret;
	u16 expectlen = 0;

	caif_assert(newpkt != NULL);
	spin_lock(&layr->sync);

	if (layr->incomplete_frm != NULL) {

		layr->incomplete_frm =
		    cfpkt_append(layr->incomplete_frm, newpkt, expectlen);
		pkt = layr->incomplete_frm;
		if (pkt == NULL)
		if (pkt == NULL) {
			spin_unlock(&layr->sync);
			return -ENOMEM;
		}
	} else {
		pkt = newpkt;
	}