spi: hisi-sfc-v3xx: return IRQ_NONE if no interrupts were detected

mainline inclusion
from mainline-v6.9-rc1
commit de8b6e1c231a95abf95ad097b993d34b31458ec9
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I91F3H
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=de8b6e1c231a95abf95ad097b993d34b31458ec9

Signed-off-by: Slim6882 <yangjunshuo@huawei.com>
This commit is contained in:
Slim6882 2024-02-19 11:47:56 +08:00
parent 6c0b3f1ec4
commit ac088173ba
3 changed files with 60 additions and 1 deletions

View File

@ -32,7 +32,7 @@
Name: kernel
Version: 4.19.90
Release: %{hulkrelease}.0264
Release: %{hulkrelease}.0265
Summary: Linux Kernel
License: GPLv2
URL: http://www.kernel.org/
@ -849,6 +849,9 @@ fi
%endif
%changelog
* Mon Feb 19 2024 yangjunshuo <yangjunshuo@huawei.com> - 4.19.90-2402.4.0.0265
- !4524 fix spi: hisi-sfc-v3xx: Return IRQ_NONE if no interrupts were detected
* Mon Feb 05 2024 hongrongxuan <hongrongxuan@huawei.com> - 4.19.90-2402.4.0.0264
- !4454 netfilter: nf_tables: reject QUEUE/DROP verdict parameters
- netfilter: nf_tables: reject QUEUE/DROP verdict parameters

View File

@ -0,0 +1,55 @@
From 68ded4478d765f24d6eb5ce10b8e578f23d2ef85 Mon Sep 17 00:00:00 2001
From: Devyn Liu <liudingyuan@huawei.com>
Date: Tue, 23 Jan 2024 15:11:49 +0800
Subject: [PATCH] spi: hisi-sfc-v3xx: return IRQ_NONE if no interrupts were
detected
mainline inclusion
from mainline-v6.9-rc1
commit de8b6e1c231a95abf95ad097b993d34b31458ec9
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I91F3H
CVE: NA
Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=de8b6e1c231a95abf95ad097b993d34b31458ec9
-----------------------------
Return IRQ_NONE from the interrupt handler when no interrupt was
detected. Because an empty interrupt will cause a null pointer error:
Unable to handle kernel NULL pointer dereference at virtual
address 0000000000000008
Call trace:
complete+0x54/0x100
hisi_sfc_v3xx_isr+0x2c/0x40 [spi_hisi_sfc_v3xx]
__handle_irq_event_percpu+0x64/0x1e0
handle_irq_event+0x7c/0x1cc
Signed-off-by: Devyn Liu <liudingyuan@huawei.com>
Link: https://msgid.link/r/20240123071149.917678-1-liudingyuan@huawei.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Slim6882 <yangjunshuo@huawei.com>
---
drivers/spi/spi-hisi-sfc-v3xx.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/spi/spi-hisi-sfc-v3xx.c b/drivers/spi/spi-hisi-sfc-v3xx.c
index d3a23b1c2a4c..61bf00dfe9c3 100644
--- a/drivers/spi/spi-hisi-sfc-v3xx.c
+++ b/drivers/spi/spi-hisi-sfc-v3xx.c
@@ -377,6 +377,11 @@ static const struct spi_controller_mem_ops hisi_sfc_v3xx_mem_ops = {
static irqreturn_t hisi_sfc_v3xx_isr(int irq, void *data)
{
struct hisi_sfc_v3xx_host *host = data;
+ u32 reg;
+
+ reg = readl(host->regbase + HISI_SFC_V3XX_INT_STAT);
+ if (!reg)
+ return IRQ_NONE;
hisi_sfc_v3xx_disable_int(host);
--
2.33.0

View File

@ -758,3 +758,4 @@ patches/0754-scsi-hisi_sas_v3_hw-Remove-extra-function-calls-for-.patch
patches/0755-config-arm64-Enable-dubugfs-config-of-hisi-sas.patch
patches/0756-crypto-hisilicon-Add-value-profile-support-for-kerne.patch
patches/0757-Revert-genirq-Increase-the-number-of-IRQ-descriptors.patch
patches/0758-spi-hisi-sfc-v3xx-Return-IRQ_NONE-if-no-interrupts-w.patch