On 2021-02-01 4:22 a.m., Dan Carpenter wrote: > Unlock before returning on this error path. > > Fixes: 111d746bb476 ("misc: bcm-vk: add VK messaging support") > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > --- > drivers/misc/bcm-vk/bcm_vk_msg.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c > index eec90494777d..fc972e43258a 100644 > --- a/drivers/misc/bcm-vk/bcm_vk_msg.c > +++ b/drivers/misc/bcm-vk/bcm_vk_msg.c > @@ -849,7 +849,8 @@ s32 bcm_to_h_msg_dequeue(struct bcm_vk *vk) > * that is fatal. > */ > dev_crit(dev, "Kernel mem allocation failure.\n"); > - return -ENOMEM; > + total = -ENOMEM; > + goto idx_err; > } > This is a pretty fatal case if we fail to allocate memory here. Will let Desmond respond if we wanted to keep the mutex locked forever in this case or if we do want to return and keep mutex locked if it is fatal and there is no real recovery path. > /* flush rd pointer after a message is dequeued */