projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
irqdomain: Allow quiet failure mode
[deliverable/linux.git]
/
arch
/
powerpc
/
sysdev
/
mpic.c
diff --git
a/arch/powerpc/sysdev/mpic.c
b/arch/powerpc/sysdev/mpic.c
index d30e6a676c89600150adc616344ba051f2974924..ee21b5e71aecd6379d7e93a4e5b299cb8901cce6 100644
(file)
--- a/
arch/powerpc/sysdev/mpic.c
+++ b/
arch/powerpc/sysdev/mpic.c
@@
-1001,8
+1001,12
@@
static int mpic_host_map(struct irq_domain *h, unsigned int virq,
if (hw == mpic->spurious_vec)
return -EINVAL;
if (hw == mpic->spurious_vec)
return -EINVAL;
- if (mpic->protected && test_bit(hw, mpic->protected))
- return -EINVAL;
+ if (mpic->protected && test_bit(hw, mpic->protected)) {
+ pr_warning("mpic: Mapping of source 0x%x failed, "
+ "source protected by firmware !\n",\
+ (unsigned int)hw);
+ return -EPERM;
+ }
#ifdef CONFIG_SMP
else if (hw >= mpic->ipi_vecs[0]) {
#ifdef CONFIG_SMP
else if (hw >= mpic->ipi_vecs[0]) {
@@
-1029,8
+1033,12
@@
static int mpic_host_map(struct irq_domain *h, unsigned int virq,
if (mpic_map_error_int(mpic, virq, hw))
return 0;
if (mpic_map_error_int(mpic, virq, hw))
return 0;
- if (hw >= mpic->num_sources)
+ if (hw >= mpic->num_sources) {
+ pr_warning("mpic: Mapping of source 0x%x failed, "
+ "source out of range !\n",\
+ (unsigned int)hw);
return -EINVAL;
return -EINVAL;
+ }
mpic_msi_reserve_hwirq(mpic, hw);
mpic_msi_reserve_hwirq(mpic, hw);
This page took
0.027676 seconds
and
5
git commands to generate.