mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
xtensa: fix xtensa_wsr always writing 0
The commitcad6fade6e
("xtensa: clean up WSR*/RSR*/get_sr/set_sr") replaced 'WSR' macro in the function xtensa_wsr with 'xtensa_set_sr', but variable 'v' in the xtensa_set_sr body shadowed the argument 'v' passed to it, resulting in wrong value written to debug registers. Fix that by removing intermediate variable from the xtensa_set_sr macro body. Cc: stable@vger.kernel.org Fixes:cad6fade6e
("xtensa: clean up WSR*/RSR*/get_sr/set_sr") Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
7dc0eb0b6d
commit
a3d0245c58
@ -242,8 +242,8 @@ extern unsigned long __get_wchan(struct task_struct *p);
|
||||
|
||||
#define xtensa_set_sr(x, sr) \
|
||||
({ \
|
||||
unsigned int v = (unsigned int)(x); \
|
||||
__asm__ __volatile__ ("wsr %0, "__stringify(sr) :: "a"(v)); \
|
||||
__asm__ __volatile__ ("wsr %0, "__stringify(sr) :: \
|
||||
"a"((unsigned int)(x))); \
|
||||
})
|
||||
|
||||
#define xtensa_get_sr(sr) \
|
||||
|
Loading…
Reference in New Issue
Block a user