diff mbox

[-next] rpmsg: char: Fix missing unlock on error in rpmsg_eptdev_read()

Message ID 20170123140951.2204-1-weiyj.lk@gmail.com (mailing list archive)
State Accepted
Headers show

Commit Message

Wei Yongjun Jan. 23, 2017, 2:09 p.m. UTC
From: Wei Yongjun <weiyongjun1@huawei.com>

Add the missing unlock before return from function rpmsg_eptdev_read()
in the error handling case.

Fixes: c0cdc19f84a4 ("rpmsg: Driver for user space endpoint interface")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/rpmsg/rpmsg_char.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)


--
To unsubscribe from this list: send the line "unsubscribe linux-remoteproc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c
index a78b6b7..93252dc 100644
--- a/drivers/rpmsg/rpmsg_char.c
+++ b/drivers/rpmsg/rpmsg_char.c
@@ -209,11 +209,12 @@  static ssize_t rpmsg_eptdev_read(struct file *filp, char __user *buf,
 	}
 
 	skb = skb_dequeue(&eptdev->queue);
-	if (!skb)
-		return -EFAULT;
 
 	spin_unlock_irqrestore(&eptdev->queue_lock, flags);
 
+	if (!skb)
+		return -EFAULT;
+
 	use = min_t(size_t, len, skb->len);
 	if (copy_to_user(buf, skb->data, use))
 		use = -EFAULT;