summaryrefslogtreecommitdiff
path: root/drivers/misc/m4sensorhub_mpu9150.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/misc/m4sensorhub_mpu9150.c')
-rw-r--r--drivers/misc/m4sensorhub_mpu9150.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/drivers/misc/m4sensorhub_mpu9150.c b/drivers/misc/m4sensorhub_mpu9150.c
index 52de21885d4..55d160bc607 100644
--- a/drivers/misc/m4sensorhub_mpu9150.c
+++ b/drivers/misc/m4sensorhub_mpu9150.c
@@ -178,8 +178,9 @@ static void m4_set_mpu9150_delay(struct mpu9150_client *mpu9150_client_data,
cancel_delayed_work(&(dd->mpu9150_work[type]));
dd->samplerate[type] = delay;
if (dd->samplerate[type] > 0)
- schedule_delayed_work(&(dd->mpu9150_work[type]),
- msecs_to_jiffies(delay));
+ queue_delayed_work(system_freezable_wq,
+ &(dd->mpu9150_work[type]),
+ msecs_to_jiffies(delay));
}
}
@@ -250,8 +251,9 @@ static void m4gyro_work_func(struct work_struct *work)
m4_report_mpu9150_inputevent(dd, TYPE_GYRO);
rate = dd->samplerate[TYPE_GYRO];
if (rate > 0)
- schedule_delayed_work(&(dd->mpu9150_work[TYPE_GYRO]),
- msecs_to_jiffies(rate));
+ queue_delayed_work(system_freezable_wq,
+ &(dd->mpu9150_work[TYPE_GYRO]),
+ msecs_to_jiffies(rate));
mutex_unlock(&(dd->mutex));
}
@@ -269,8 +271,9 @@ static void m4accel_work_func(struct work_struct *work)
m4_report_mpu9150_inputevent(dd, TYPE_ACCEL);
rate = dd->samplerate[TYPE_ACCEL];
if (rate > 0)
- schedule_delayed_work(&(dd->mpu9150_work[TYPE_ACCEL]),
- msecs_to_jiffies(rate));
+ queue_delayed_work(system_freezable_wq,
+ &(dd->mpu9150_work[TYPE_ACCEL]),
+ msecs_to_jiffies(rate));
mutex_unlock(&(dd->mutex));
}
@@ -287,8 +290,9 @@ static void m4compass_work_func(struct work_struct *work)
m4_report_mpu9150_inputevent(dd, TYPE_COMPASS);
rate = dd->samplerate[TYPE_COMPASS];
if (rate > 0)
- schedule_delayed_work(&(dd->mpu9150_work[TYPE_COMPASS]),
- msecs_to_jiffies(rate));
+ queue_delayed_work(system_freezable_wq,
+ &(dd->mpu9150_work[TYPE_COMPASS]),
+ msecs_to_jiffies(rate));
mutex_unlock(&(dd->mutex));
}
@@ -567,8 +571,9 @@ static void mpu9150_panic_restore(struct m4sensorhub_data *m4sensorhub,
m4_set_mpu9150_delay(dd, rate, type);
cancel_delayed_work(&(dd->mpu9150_work[type]));
if (rate > 0)
- schedule_delayed_work(&(dd->mpu9150_work[type]),
- msecs_to_jiffies(rate));
+ queue_delayed_work(system_freezable_wq,
+ &(dd->mpu9150_work[type]),
+ msecs_to_jiffies(rate));
}
mutex_unlock(&(dd->mutex));
}