diff options
| -rw-r--r-- | drivers/char/sx.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/char/sx.c b/drivers/char/sx.c index b60be7b0decf..f146e90404fa 100644 --- a/drivers/char/sx.c +++ b/drivers/char/sx.c | |||
| @@ -1713,8 +1713,8 @@ static long sx_fw_ioctl(struct file *filp, unsigned int cmd, | |||
| 1713 | for (i = 0; i < SX_NBOARDS; i++) | 1713 | for (i = 0; i < SX_NBOARDS; i++) |
| 1714 | sx_dprintk(SX_DEBUG_FIRMWARE, "<%x> ", boards[i].flags); | 1714 | sx_dprintk(SX_DEBUG_FIRMWARE, "<%x> ", boards[i].flags); |
| 1715 | sx_dprintk(SX_DEBUG_FIRMWARE, "\n"); | 1715 | sx_dprintk(SX_DEBUG_FIRMWARE, "\n"); |
| 1716 | unlock_kernel(); | 1716 | rc = -EIO; |
| 1717 | return -EIO; | 1717 | goto out; |
| 1718 | } | 1718 | } |
| 1719 | 1719 | ||
| 1720 | switch (cmd) { | 1720 | switch (cmd) { |
| @@ -1747,7 +1747,8 @@ static long sx_fw_ioctl(struct file *filp, unsigned int cmd, | |||
| 1747 | break; | 1747 | break; |
| 1748 | case SXIO_DO_RAMTEST: | 1748 | case SXIO_DO_RAMTEST: |
| 1749 | if (sx_initialized) /* Already initialized: better not ramtest the board. */ | 1749 | if (sx_initialized) /* Already initialized: better not ramtest the board. */ |
| 1750 | return -EPERM; | 1750 | rc = -EPERM; |
| 1751 | break; | ||
| 1751 | if (IS_SX_BOARD(board)) { | 1752 | if (IS_SX_BOARD(board)) { |
| 1752 | rc = do_memtest(board, 0, 0x7000); | 1753 | rc = do_memtest(board, 0, 0x7000); |
| 1753 | if (!rc) | 1754 | if (!rc) |
| @@ -1844,6 +1845,7 @@ static long sx_fw_ioctl(struct file *filp, unsigned int cmd, | |||
| 1844 | rc = -ENOTTY; | 1845 | rc = -ENOTTY; |
| 1845 | break; | 1846 | break; |
| 1846 | } | 1847 | } |
| 1848 | out: | ||
| 1847 | unlock_kernel(); | 1849 | unlock_kernel(); |
| 1848 | func_exit(); | 1850 | func_exit(); |
| 1849 | return rc; | 1851 | return rc; |
