From: Cédric Le Goater <clg@kaod.org> Date: 2020-01-13 16:39:58
From: Frederic Barrat <redacted>
A load on an ESB page returning all 1's means that the underlying
device has invalidated the access to the PQ state of the interrupt
through mmio. It may happen, for example when querying a PHB interrupt
while the PHB is in an error state.
In that case, we should consider the interrupt to be invalid when
checking its state in the irq_get_irqchip_state() handler.
Cc: Paul Mackerras <redacted>
Signed-off-by: Frederic Barrat <redacted>
[ clg: - wrote a commit log
- introduced XIVE_ESB_INVALID ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
arch/powerpc/include/asm/xive-regs.h | 1 +
arch/powerpc/sysdev/xive/common.c | 15 ++++++++++++---
2 files changed, 13 insertions(+), 3 deletions(-)
From: Cédric Le Goater <clg@kaod.org> Date: 2020-01-13 13:54:56
On 1/13/20 2:01 PM, Cédric Le Goater wrote:
From: Frederic Barrat <redacted>
A load on an ESB page returning all 1's means that the underlying
device has invalidated the access to the PQ state of the interrupt
through mmio. It may happen, for example when querying a PHB interrupt
while the PHB is in an error state.
In that case, we should consider the interrupt to be invalid when
checking its state in the irq_get_irqchip_state() handler.
and we need also these tags :
Fixes: da15c03b047d ("powerpc/xive: Implement get_irqchip_state method for XIVE to fix shutdown race")
Cc: stable@vger.kernel.org # v5.3+
quoted hunk
Cc: Paul Mackerras <redacted>
Signed-off-by: Frederic Barrat <redacted>
[ clg: - wrote a commit log
- introduced XIVE_ESB_INVALID ]
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
arch/powerpc/include/asm/xive-regs.h | 1 +
arch/powerpc/sysdev/xive/common.c | 15 ++++++++++++---
2 files changed, 13 insertions(+), 3 deletions(-)
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2020-01-14 01:18:26
Cédric Le Goater [off-list ref] writes:
On 1/13/20 2:01 PM, Cédric Le Goater wrote:
quoted
From: Frederic Barrat <redacted>
A load on an ESB page returning all 1's means that the underlying
device has invalidated the access to the PQ state of the interrupt
through mmio. It may happen, for example when querying a PHB interrupt
while the PHB is in an error state.
In that case, we should consider the interrupt to be invalid when
checking its state in the irq_get_irqchip_state() handler.
and we need also these tags :
Fixes: da15c03b047d ("powerpc/xive: Implement get_irqchip_state method for XIVE to fix shutdown race")
Cc: stable@vger.kernel.org # v5.3+
I added those, although it's v5.4+, as the offending commit was first
included in v5.4-rc1.
cheers
From: Cédric Le Goater <clg@kaod.org> Date: 2020-01-14 08:05:58
On 1/14/20 2:14 AM, Michael Ellerman wrote:
Cédric Le Goater [off-list ref] writes:
quoted
On 1/13/20 2:01 PM, Cédric Le Goater wrote:
quoted
From: Frederic Barrat <redacted>
A load on an ESB page returning all 1's means that the underlying
device has invalidated the access to the PQ state of the interrupt
through mmio. It may happen, for example when querying a PHB interrupt
while the PHB is in an error state.
In that case, we should consider the interrupt to be invalid when
checking its state in the irq_get_irqchip_state() handler.
and we need also these tags :
Fixes: da15c03b047d ("powerpc/xive: Implement get_irqchip_state method for XIVE to fix shutdown race")
Cc: stable@vger.kernel.org # v5.3+
I added those, although it's v5.4+, as the offending commit was first
included in v5.4-rc1.
Ah yes. I mistook the merge tag of the branch used for the PR (v5.3-rc2)
Thanks,
C.
From: Greg Kurz <hidden> Date: 2020-01-14 08:37:58
On Tue, 14 Jan 2020 08:44:54 +0100
Cédric Le Goater [off-list ref] wrote:
On 1/14/20 2:14 AM, Michael Ellerman wrote:
quoted
Cédric Le Goater [off-list ref] writes:
quoted
On 1/13/20 2:01 PM, Cédric Le Goater wrote:
quoted
From: Frederic Barrat <redacted>
A load on an ESB page returning all 1's means that the underlying
device has invalidated the access to the PQ state of the interrupt
through mmio. It may happen, for example when querying a PHB interrupt
while the PHB is in an error state.
In that case, we should consider the interrupt to be invalid when
checking its state in the irq_get_irqchip_state() handler.
and we need also these tags :
Fixes: da15c03b047d ("powerpc/xive: Implement get_irqchip_state method for XIVE to fix shutdown race")
Cc: stable@vger.kernel.org # v5.3+
I added those, although it's v5.4+, as the offending commit was first
included in v5.4-rc1.
Ah yes. I mistook the merge tag of the branch used for the PR (v5.3-rc2)
You might want to use 'git tag --contains':
[greg@bahia kernel-linus]$ git tag --contains da15c03b047d
for-linus
kvm-5.4-2
next-20191118
next-20191126
tags/kvm-5.4-1
tags/kvm-5.4-2
v5.4
v5.4-rc1
v5.4-rc2
v5.4-rc3
v5.4-rc4
v5.4-rc5
v5.4-rc6
v5.4-rc7
v5.4-rc8
v5.5-rc1
From: Michael Ellerman <mpe@ellerman.id.au> Date: 2020-01-16 06:09:52
Greg Kurz [off-list ref] writes:
On Tue, 14 Jan 2020 08:44:54 +0100
Cédric Le Goater [off-list ref] wrote:
quoted
On 1/14/20 2:14 AM, Michael Ellerman wrote:
quoted
Cédric Le Goater [off-list ref] writes:
quoted
On 1/13/20 2:01 PM, Cédric Le Goater wrote:
quoted
From: Frederic Barrat <redacted>
A load on an ESB page returning all 1's means that the underlying
device has invalidated the access to the PQ state of the interrupt
through mmio. It may happen, for example when querying a PHB interrupt
while the PHB is in an error state.
In that case, we should consider the interrupt to be invalid when
checking its state in the irq_get_irqchip_state() handler.
and we need also these tags :
Fixes: da15c03b047d ("powerpc/xive: Implement get_irqchip_state method for XIVE to fix shutdown race")
Cc: stable@vger.kernel.org # v5.3+
I added those, although it's v5.4+, as the offending commit was first
included in v5.4-rc1.
Ah yes. I mistook the merge tag of the branch used for the PR (v5.3-rc2)
You might want to use 'git tag --contains':
[greg@bahia kernel-linus]$ git tag --contains da15c03b047d
for-linus
kvm-5.4-2
next-20191118
next-20191126
tags/kvm-5.4-1
tags/kvm-5.4-2
v5.4
v5.4-rc1
From: Cédric Le Goater <clg@kaod.org> Date: 2020-01-16 10:00:45
quoted
You might want to use 'git tag --contains':
[greg@bahia kernel-linus]$ git tag --contains da15c03b047d
for-linus
kvm-5.4-2
next-20191118
next-20191126
tags/kvm-5.4-1
tags/kvm-5.4-2
v5.4
v5.4-rc1