diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index a076b1dac541..55ef66a11266 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -896,8 +896,10 @@ int devfreq_suspend_device(struct devfreq *devfreq) return 0; if (devfreq->governor) { + event_mutex_lock(devfreq); ret = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_SUSPEND, NULL); + event_mutex_unlock(devfreq); if (ret) return ret; } @@ -937,8 +939,10 @@ int devfreq_resume_device(struct devfreq *devfreq) } if (devfreq->governor) { + event_mutex_lock(devfreq); ret = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_RESUME, NULL); + event_mutex_unlock(devfreq); if (ret) return ret; }