From d38311d015b39b35216ab420bed65c0080ddd756 Mon Sep 17 00:00:00 2001 From: Dan Carpenter Date: Wed, 4 Feb 2009 15:12:20 -0800 Subject: [PATCH] --- yaml --- r: 130979 b: refs/heads/master c: 736d54533aedbcbde8cfb2f9ccd542595db4d78d h: refs/heads/master i: 130977: 7c3537f0bbf15f80d56f0893a959d8b1047514f5 130975: aa60ef0d61d94c1466f8a8f414ddee4efcced3e1 v: v3 --- [refs] | 2 +- trunk/drivers/char/sx.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 8fc80e7652b1..c9cc076360cd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fe86175bce50bc3d65ff09c287fed955c4da1eb3 +refs/heads/master: 736d54533aedbcbde8cfb2f9ccd542595db4d78d diff --git a/trunk/drivers/char/sx.c b/trunk/drivers/char/sx.c index b60be7b0decf..f146e90404fa 100644 --- a/trunk/drivers/char/sx.c +++ b/trunk/drivers/char/sx.c @@ -1713,8 +1713,8 @@ static long sx_fw_ioctl(struct file *filp, unsigned int cmd, for (i = 0; i < SX_NBOARDS; i++) sx_dprintk(SX_DEBUG_FIRMWARE, "<%x> ", boards[i].flags); sx_dprintk(SX_DEBUG_FIRMWARE, "\n"); - unlock_kernel(); - return -EIO; + rc = -EIO; + goto out; } switch (cmd) { @@ -1747,7 +1747,8 @@ static long sx_fw_ioctl(struct file *filp, unsigned int cmd, break; case SXIO_DO_RAMTEST: if (sx_initialized) /* Already initialized: better not ramtest the board. */ - return -EPERM; + rc = -EPERM; + break; if (IS_SX_BOARD(board)) { rc = do_memtest(board, 0, 0x7000); if (!rc) @@ -1844,6 +1845,7 @@ static long sx_fw_ioctl(struct file *filp, unsigned int cmd, rc = -ENOTTY; break; } +out: unlock_kernel(); func_exit(); return rc;