[PATCH] [CM4000] Fix locking in Cardman 4000 driver

Harald Welte laforge at gnumonks.org
Fri Mar 27 09:43:31 EDT 2009


Without this patch, we could hold kernel_lock() indefinitely,
which is obviously a bad idea.

Signed-off-by: Dan Carpenter <error27 at gmail.com>
Signed-off-by: Harald Welte <laforge at gnumonks.org>
---
 drivers/char/pcmcia/cm4000_cs.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
index dbb9125..7d93301 100644
--- a/drivers/char/pcmcia/cm4000_cs.c
+++ b/drivers/char/pcmcia/cm4000_cs.c
@@ -1575,7 +1575,8 @@ static long cmm_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 		clear_bit(LOCK_IO, &dev->flags);
 		wake_up_interruptible(&dev->ioq);
 
-		return 0;
+		rc = 0;
+		goto out;
 	case CM_IOCSPTS:
 		{
 			struct ptsreq krnptsreq;
-- 
1.5.6.5



More information about the linux-pcmcia mailing list