From: Vinod Koul vinod.koul@intel.com
kernel locking in ioctl was introduced when ioctl function was moved from ioctl to unlocked ioctl This is no longer required hence removed
Signed-off-by: Vinod Koul vinod.koul@intel.com Signed-off-by: Alan Cox alan@linux.intel.com ---
.../staging/intel_sst/intel_sst_app_interface.c | 7 +------ 1 files changed, 1 insertions(+), 6 deletions(-)
diff --git a/drivers/staging/intel_sst/intel_sst_app_interface.c b/drivers/staging/intel_sst/intel_sst_app_interface.c index baf0ddc..82768fa 100644 --- a/drivers/staging/intel_sst/intel_sst_app_interface.c +++ b/drivers/staging/intel_sst/intel_sst_app_interface.c @@ -812,8 +812,6 @@ long intel_sst_ioctl(struct file *file_ptr, unsigned int cmd, unsigned long arg) struct ioctl_pvt_data *data = NULL; int str_id = 0, minor = 0;
- lock_kernel(); - data = file_ptr->private_data; if (data) { minor = 0; @@ -821,10 +819,8 @@ long intel_sst_ioctl(struct file *file_ptr, unsigned int cmd, unsigned long arg) } else minor = 1;
- if (sst_drv_ctx->sst_state != SST_FW_RUNNING) { - unlock_kernel(); + if (sst_drv_ctx->sst_state != SST_FW_RUNNING) return -EBUSY; - }
switch (_IOC_NR(cmd)) { case _IOC_NR(SNDRV_SST_STREAM_PAUSE): @@ -1227,7 +1223,6 @@ long intel_sst_ioctl(struct file *file_ptr, unsigned int cmd, unsigned long arg) default: retval = -EINVAL; } - unlock_kernel(); pr_debug("sst: intel_sst_ioctl:complete ret code = %d\n", retval); return retval; }