diff options
Diffstat (limited to 'drivers/char/istallion.c')
-rw-r--r-- | drivers/char/istallion.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/char/istallion.c b/drivers/char/istallion.c index c645455c3fd1..37dc3d202c27 100644 --- a/drivers/char/istallion.c +++ b/drivers/char/istallion.c | |||
@@ -4433,6 +4433,8 @@ static int stli_memioctl(struct inode *ip, struct file *fp, unsigned int cmd, un | |||
4433 | done = 0; | 4433 | done = 0; |
4434 | rc = 0; | 4434 | rc = 0; |
4435 | 4435 | ||
4436 | lock_kernel(); | ||
4437 | |||
4436 | switch (cmd) { | 4438 | switch (cmd) { |
4437 | case COM_GETPORTSTATS: | 4439 | case COM_GETPORTSTATS: |
4438 | rc = stli_getportstats(NULL, argp); | 4440 | rc = stli_getportstats(NULL, argp); |
@@ -4455,6 +4457,7 @@ static int stli_memioctl(struct inode *ip, struct file *fp, unsigned int cmd, un | |||
4455 | done++; | 4457 | done++; |
4456 | break; | 4458 | break; |
4457 | } | 4459 | } |
4460 | unlock_kernel(); | ||
4458 | 4461 | ||
4459 | if (done) | 4462 | if (done) |
4460 | return rc; | 4463 | return rc; |
@@ -4472,6 +4475,8 @@ static int stli_memioctl(struct inode *ip, struct file *fp, unsigned int cmd, un | |||
4472 | if (brdp->state == 0) | 4475 | if (brdp->state == 0) |
4473 | return -ENODEV; | 4476 | return -ENODEV; |
4474 | 4477 | ||
4478 | lock_kernel(); | ||
4479 | |||
4475 | switch (cmd) { | 4480 | switch (cmd) { |
4476 | case STL_BINTR: | 4481 | case STL_BINTR: |
4477 | EBRDINTR(brdp); | 4482 | EBRDINTR(brdp); |
@@ -4494,6 +4499,7 @@ static int stli_memioctl(struct inode *ip, struct file *fp, unsigned int cmd, un | |||
4494 | rc = -ENOIOCTLCMD; | 4499 | rc = -ENOIOCTLCMD; |
4495 | break; | 4500 | break; |
4496 | } | 4501 | } |
4502 | unlock_kernel(); | ||
4497 | return rc; | 4503 | return rc; |
4498 | } | 4504 | } |
4499 | 4505 | ||