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

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
...@@ -59,16 +59,18 @@ static int cfserl_receive(struct cflayer *l, struct cfpkt *newpkt) ...@@ -59,16 +59,18 @@ static int cfserl_receive(struct cflayer *l, struct cfpkt *newpkt)
u8 stx = CFSERL_STX; u8 stx = CFSERL_STX;
int ret; int ret;
u16 expectlen = 0; u16 expectlen = 0;
caif_assert(newpkt != NULL); caif_assert(newpkt != NULL);
spin_lock(&layr->sync); spin_lock(&layr->sync);
if (layr->incomplete_frm != NULL) { if (layr->incomplete_frm != NULL) {
layr->incomplete_frm = layr->incomplete_frm =
cfpkt_append(layr->incomplete_frm, newpkt, expectlen); cfpkt_append(layr->incomplete_frm, newpkt, expectlen);
pkt = layr->incomplete_frm; pkt = layr->incomplete_frm;
if (pkt == NULL) if (pkt == NULL) {
spin_unlock(&layr->sync);
return -ENOMEM; return -ENOMEM;
}
} else { } else {
pkt = newpkt; pkt = newpkt;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment