diff options
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/dvb/bt8xx/dst_ca.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/media/dvb/bt8xx/dst_ca.c b/drivers/media/dvb/bt8xx/dst_ca.c index 607d7387fb6f..4601b059b2b2 100644 --- a/drivers/media/dvb/bt8xx/dst_ca.c +++ b/drivers/media/dvb/bt8xx/dst_ca.c | |||
@@ -554,16 +554,17 @@ free_mem_and_exit: | |||
554 | 554 | ||
555 | static long dst_ca_ioctl(struct file *file, unsigned int cmd, unsigned long ioctl_arg) | 555 | static long dst_ca_ioctl(struct file *file, unsigned int cmd, unsigned long ioctl_arg) |
556 | { | 556 | { |
557 | lock_kernel(); | 557 | struct dvb_device *dvbdev; |
558 | 558 | struct dst_state *state; | |
559 | struct dvb_device* dvbdev = (struct dvb_device*) file->private_data; | ||
560 | struct dst_state* state = (struct dst_state*) dvbdev->priv; | ||
561 | struct ca_slot_info *p_ca_slot_info; | 559 | struct ca_slot_info *p_ca_slot_info; |
562 | struct ca_caps *p_ca_caps; | 560 | struct ca_caps *p_ca_caps; |
563 | struct ca_msg *p_ca_message; | 561 | struct ca_msg *p_ca_message; |
564 | void __user *arg = (void __user *)ioctl_arg; | 562 | void __user *arg = (void __user *)ioctl_arg; |
565 | int result = 0; | 563 | int result = 0; |
566 | 564 | ||
565 | lock_kernel(); | ||
566 | dvbdev = (struct dvb_device *)file->private_data; | ||
567 | state = (struct dst_state *)dvbdev->priv; | ||
567 | p_ca_message = kmalloc(sizeof (struct ca_msg), GFP_KERNEL); | 568 | p_ca_message = kmalloc(sizeof (struct ca_msg), GFP_KERNEL); |
568 | p_ca_slot_info = kmalloc(sizeof (struct ca_slot_info), GFP_KERNEL); | 569 | p_ca_slot_info = kmalloc(sizeof (struct ca_slot_info), GFP_KERNEL); |
569 | p_ca_caps = kmalloc(sizeof (struct ca_caps), GFP_KERNEL); | 570 | p_ca_caps = kmalloc(sizeof (struct ca_caps), GFP_KERNEL); |