summaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorWei Yongjun <weiyongjun1@huawei.com>2018-01-05 08:22:52 +0100
committerRichard Weinberger <richard@nod.at>2018-02-19 19:38:51 +0100
commit9f3199bcef11caff5e935d0565de0bdb73a3798e (patch)
treeeed27026ac8ab356641540557d5970826827022d /arch/um
parentum: Add missing EXPORT for free_irq_by_fd() (diff)
downloadlinux-9f3199bcef11caff5e935d0565de0bdb73a3798e.tar.xz
linux-9f3199bcef11caff5e935d0565de0bdb73a3798e.zip
um: vector: fix missing unlock on error in vector_net_open()
Add the missing unlock before return from function vector_net_open() in the error handling case. Fixes: ad1f62ab2bd4 ("High Performance UML Vector Network Driver") Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/drivers/vector_kern.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
index d1d53015d572..bb83a2d22ac2 100644
--- a/arch/um/drivers/vector_kern.c
+++ b/arch/um/drivers/vector_kern.c
@@ -1156,8 +1156,10 @@ static int vector_net_open(struct net_device *dev)
struct vector_device *vdevice;
spin_lock_irqsave(&vp->lock, flags);
- if (vp->opened)
+ if (vp->opened) {
+ spin_unlock_irqrestore(&vp->lock, flags);
return -ENXIO;
+ }
vp->opened = true;
spin_unlock_irqrestore(&vp->lock, flags);