Pavel Kiryukhin
54fd6441e0
[MIPS] Fix use of smp_processor_id() in preemptible code.
...
Freeing prom memory: 956kb freed
Freeing firmware memory: 978944k freed
Freeing unused kernel memory: 180k freed
BUG: using smp_processor_id() in preemptible [00000000] code: swapper/1
caller is r4k_dma_cache_wback_inv+0x144/0x2a0
Call Trace:
[<80117af8>] r4k_dma_cache_wback_inv+0x144/0x2a0
[<802e4b84>] debug_smp_processor_id+0xd4/0xf0
[<802e4b7c>] debug_smp_processor_id+0xcc/0xf0
...
CONFIG_DEBUG_PREEMPT is enabled.
--
Bug cause is blast_dcache_range() in preemptible code [in
r4k_dma_cache_wback_inv()].
blast_dcache_range() is constructed via __BUILD_BLAST_CACHE_RANGE that
uses cpu_dcache_line_size(). It uses current_cpu_data that use
smp_processor_id() in turn. In case of CONFIG_DEBUG_PREEMPT
smp_processor_id emits BUG if we are executing with preemption
enabled.
Cpu options of cpu0 are assumed to be the superset of all processors.
Can I make the same assumptions for cache line size and fix this
issue the following way:
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-12-01 00:39:37 +00:00
..
2007-07-18 08:38:22 -07:00
2007-10-13 00:53:00 +01:00
2007-11-26 17:26:13 +00:00
2007-10-29 19:35:35 +00:00
2007-11-15 23:21:50 +00:00
2007-11-02 16:13:48 +00:00
2007-10-11 23:46:08 +01:00
2007-11-02 16:13:48 +00:00
2007-10-17 18:28:48 +01:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-11-02 16:13:48 +00:00
2007-10-11 23:46:07 +01:00
2007-10-18 18:11:46 +01:00
2007-10-11 23:46:15 +01:00
2007-11-02 16:13:48 +00:00
2007-10-11 23:46:15 +01:00
2007-11-15 23:21:50 +00:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-10-17 18:28:48 +01:00
2007-10-11 23:46:15 +01:00
2007-11-02 16:13:48 +00:00
2007-11-02 16:13:48 +00:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:07 +01:00
2007-10-11 23:46:15 +01:00
2007-10-19 23:10:43 +02:00
2007-10-16 18:23:46 +01:00
2007-10-22 22:09:00 +01:00
2007-10-11 23:46:15 +01:00
2007-10-29 19:35:35 +00:00
2007-10-29 19:35:35 +00:00
2007-07-12 17:41:15 +01:00
2007-10-11 23:46:15 +01:00
2007-07-31 21:35:21 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-07-20 18:57:39 +01:00
2007-08-27 02:16:54 +01:00
2007-10-19 11:53:41 -07:00
2007-10-11 23:46:08 +01:00
2007-10-11 23:46:15 +01:00
2007-07-10 17:33:02 +01:00
2007-10-11 23:46:15 +01:00
2007-06-26 19:57:33 +02:00
2007-07-16 09:05:48 -07:00
2007-09-19 19:33:14 +01:00
2007-12-01 00:39:37 +00:00
2007-11-15 23:21:49 +00:00
2007-10-11 23:46:16 +01:00
2007-10-11 23:46:15 +01:00
2007-07-10 17:33:06 +01:00
2007-11-26 17:26:14 +00:00
2007-08-27 02:16:59 +01:00
2007-10-11 23:46:15 +01:00
2007-07-17 10:23:11 -07:00
2007-10-01 14:17:50 +01:00
2007-10-11 23:46:15 +01:00
2007-10-17 08:42:55 -07:00
2007-10-19 11:53:41 -07:00
2007-11-26 17:26:14 +00:00
2007-07-10 17:32:55 +01:00
2007-10-22 22:09:00 +01:00
2007-10-11 23:46:19 +01:00
2007-10-11 23:46:04 +01:00
2007-11-26 17:26:13 +00:00
2007-10-11 23:46:04 +01:00
2007-10-11 23:46:15 +01:00
2007-10-17 08:42:57 -07:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:04 +01:00
2007-10-11 23:45:57 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:00 +01:00
2007-10-11 23:46:00 +01:00
2007-10-11 23:46:05 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-07-31 21:35:24 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:18 +01:00
2007-07-10 17:33:02 +01:00
2007-10-11 23:46:00 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:03 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-07-31 21:35:32 +01:00
2007-10-11 23:46:15 +01:00
2007-07-31 21:35:21 +01:00
2007-10-16 18:23:47 +01:00
2007-10-11 23:46:09 +01:00
2007-10-11 23:46:15 +01:00
2007-10-22 21:20:03 +02:00
2007-07-31 21:35:21 +01:00
2007-10-17 08:42:47 -07:00
2007-07-10 17:33:01 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:18 +01:00
2007-10-11 23:45:57 +01:00
2007-08-27 02:16:55 +01:00
2007-10-19 18:15:58 +01:00
2007-07-20 18:57:39 +01:00
2007-10-11 23:46:15 +01:00
2007-08-27 02:16:55 +01:00
2007-11-29 09:24:53 -08:00
2007-09-10 21:25:27 +01:00
2007-09-10 21:25:27 +01:00
2007-07-31 20:41:53 -07:00
2007-11-26 17:26:14 +00:00
2007-11-15 23:21:49 +00:00
2007-07-12 17:41:11 +01:00
2007-10-19 11:53:34 -07:00
2007-08-27 02:16:52 +01:00
2007-10-29 19:35:35 +00:00
2007-10-17 08:42:53 -07:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:15 +01:00
2007-07-31 21:35:22 +01:00
2007-10-11 23:46:15 +01:00
2007-10-11 23:46:07 +01:00