Nishanth Menon
8fa938acb3
PM / devfreq: exynos4_bus: honor RCU lock usage
...
OPP pointers cannot be expected to be valid beyond the boundary
of rcu_read_lock and rcu_read_unlock. Unfortunately, the current
exynos4 busfreq driver does not honor the usage constraint and stores
the OPP pointer in struct busfreq_data. This could potentially
become invalid later such as: across devfreq opp change decisions,
resulting in unpredictable behavior.
To fix this, we introduce a busfreq specific busfreq_opp_info
structure which is used to handle OPP information. OPP information
is de-referenced to voltage and frequency pairs as needed into
busfreq_opp_info structure and used as needed.
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2013-01-22 13:28:40 +01:00
..
2013-01-19 01:34:43 +01:00
2013-01-03 15:57:02 -08:00
2013-01-03 15:57:03 -08:00
2013-01-03 15:57:04 -08:00
2013-01-03 15:57:16 -08:00
2013-01-16 12:34:34 -08:00
2013-01-08 07:31:49 -08:00
2013-01-03 15:57:15 -08:00
2012-12-12 18:07:07 -08:00
2013-01-03 15:57:16 -08:00
2013-01-03 15:57:16 -08:00
2013-01-03 15:57:15 -08:00
2013-01-08 18:53:56 -08:00
2013-01-03 15:57:15 -08:00
2013-01-03 15:57:16 -08:00
2013-01-22 13:28:39 +01:00
2013-01-15 14:18:04 +01:00
2013-01-03 15:57:02 -08:00
2013-01-22 13:28:40 +01:00
2013-01-08 18:53:56 -08:00
2013-01-09 08:43:56 -08:00
2012-12-13 12:00:02 -08:00
2013-01-03 15:57:16 -08:00
2013-01-03 15:57:16 -08:00
2013-01-14 08:45:27 +10:00
2013-01-03 15:57:16 -08:00
2013-01-03 15:57:16 -08:00
2013-01-09 21:47:22 -08:00
2012-12-22 20:13:45 +01:00
2013-01-03 15:57:03 -08:00
2013-01-18 13:43:43 +01:00
2013-01-14 09:08:38 -08:00
2013-01-03 15:57:15 -08:00
2013-01-04 10:30:11 -08:00
2013-01-03 15:57:14 -08:00
2012-12-11 14:08:47 -08:00
2012-12-14 14:42:53 -08:00
2013-01-03 15:57:02 -08:00
2013-01-02 17:58:41 -08:00
2012-12-18 15:19:06 +10:30
2013-01-03 15:57:14 -08:00
2012-12-21 17:08:06 -08:00
2013-01-03 15:57:02 -08:00
2013-01-03 15:57:14 -08:00
2013-01-03 15:57:14 -08:00
2013-01-16 12:36:22 -08:00
2013-01-16 11:33:52 -08:00
2013-01-03 15:57:14 -08:00
2013-01-03 15:57:03 -08:00
2013-01-12 15:33:01 -08:00
2013-01-03 15:57:16 -08:00
2012-12-19 10:58:53 +00:00
2013-01-03 15:57:16 -08:00
2013-01-03 15:57:03 -08:00
2013-01-10 14:35:23 -08:00
2012-12-12 11:45:16 -08:00
2013-01-08 18:53:56 -08:00
2013-01-07 12:33:48 -05:00
2013-01-03 13:10:53 +01:00
2013-01-08 18:53:56 -08:00
2013-01-03 15:57:16 -08:00
2013-01-03 15:57:16 -08:00
2012-12-12 18:07:07 -08:00
2012-12-19 08:19:07 -08:00
2013-01-15 09:38:59 +09:00
2013-01-03 15:57:16 -08:00
2013-01-03 15:57:16 -08:00
2013-01-11 14:54:54 -08:00
2013-01-16 15:57:54 +01:00
2013-01-03 15:57:03 -08:00
2013-01-03 15:57:01 -08:00
2013-01-11 20:57:58 +09:00
2013-01-03 15:57:16 -08:00
2012-12-19 15:11:41 +00:00
2013-01-08 07:31:49 -08:00
2013-01-14 09:08:38 -08:00
2013-01-10 21:00:37 -08:00
2013-01-03 15:57:02 -08:00
2012-12-16 11:28:10 -08:00
2012-12-12 12:05:15 -08:00
2013-01-14 09:07:57 -08:00
2012-12-15 14:25:10 -08:00
2013-01-11 14:54:54 -08:00
2012-12-18 09:58:09 -08:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-01-02 12:07:05 +01:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00