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@xxxxxxxxxx>
---
arch/um/drivers/vector_kern.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
index d1d5301..bb83a2d 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);