diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2017-04-05 23:43:03 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2017-04-05 23:43:03 +0100 |
commit | 3872fe83a2fbb7366daa93ca533a22138e2d483e (patch) | |
tree | e9c7c7a4a09a551011286a866235594b76cb73af /arch/powerpc/sysdev/xics/icp-opal.c | |
parent | 3cc070c1c81948b33ebe2ea68cd39307ce2b312d (diff) | |
parent | 974310d047f3c7788a51d10c8d255eebdb1fa857 (diff) |
Merge branch 'kprobe-fixes' of https://git.linaro.org/people/tixy/kernel into fixes
Diffstat (limited to 'arch/powerpc/sysdev/xics/icp-opal.c')
-rw-r--r-- | arch/powerpc/sysdev/xics/icp-opal.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/xics/icp-opal.c b/arch/powerpc/sysdev/xics/icp-opal.c index f9670eabfcfa..b53f80f0b4d8 100644 --- a/arch/powerpc/sysdev/xics/icp-opal.c +++ b/arch/powerpc/sysdev/xics/icp-opal.c @@ -91,6 +91,16 @@ static unsigned int icp_opal_get_irq(void) static void icp_opal_set_cpu_priority(unsigned char cppr) { + /* + * Here be dragons. The caller has asked to allow only IPI's and not + * external interrupts. But OPAL XIVE doesn't support that. So instead + * of allowing no interrupts allow all. That's still not right, but + * currently the only caller who does this is xics_migrate_irqs_away() + * and it works in that case. + */ + if (cppr >= DEFAULT_PRIORITY) + cppr = LOWEST_PRIORITY; + xics_set_base_cppr(cppr); opal_int_set_cppr(cppr); iosync(); |