From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 424FA287256 for ; Fri, 23 Jan 2026 11:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168236; cv=none; b=lJhjoemGpksbQpLmYo8YJ3SM0V/o33KBnASCJfe0AK2Kd3Vimp4F8I3COHRwma9F5ufQOdKgQffKrC7ak8ofkfpHgdjTEzv6P1+nDQi+FvP6Q6s6sJZULPEV//WWdNeUbPf22oZJfncH86niCdWwhvpiMi/onSWVp25sWgkBAkc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168236; c=relaxed/simple; bh=0T9YK4QomM3Dxh1mFq3uLRSslv3jN/qUBwVPAGAXrcQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DDmTafu5Pfnv8SiEh4y64NK4eCO8UDZCXLsjcRC9wPTAeoc2HQ7M++lBT6bIp0hKuyv+py+NYOaOmFApgjPILjlWaiEGM8tkkiAsPL7g4XcGH+f60LtAZlymde97lnT0wU+VMJV071we2TUy0S5DkX5q7Kga1hecXKr8GAHe6iA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=1M+IPCsk; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=XDHz7ig4; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="1M+IPCsk"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="XDHz7ig4" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5CblLaGRlYRdZTje1I1cOH83wRmRSkpl00w4rAJW+2c=; b=1M+IPCsk0rvY3ycS4N5OON8pEZcs6609qd6tOB6l7AZEIbcJh41hz/hkhh+M2eWp5mKead TFgHR62vYjwLdrrZ/dAMAIMJzpdfft2kQ9oWWhOAmf7qaO4XLBhg9sOaPJsFQv7zgc41Y8 k2BPQweryHJrYbwmXxPzbt0STkJ0YEt0sB8PUp62bgz3SiPo6w0EaripSxZFVSYzpShXcy Cdzhgykt//h+nb3o8GxwoPyIOsk25oX+YV+mmc3QvHTHzQkLIcY1tPwv4QMs9mSLZmRisL 59RQvV5dSShbClsVoS7EwmN/1GbRi3T61WDDH6hzR9LOxOlZu2NIfISXZZ2y9g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168233; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5CblLaGRlYRdZTje1I1cOH83wRmRSkpl00w4rAJW+2c=; b=XDHz7ig4Zj8t8Hz+ancMYbiJ3l4OODiVf4FA8CqHVvmI9sGgva+RYcHV/4GzG4NBXo5VIN FTXz9B6na+bBd+DQ== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior Subject: [PATCH 01/21] genirq: Set IRQF_COND_ONESHOT in devm_request_irq(). Date: Fri, 23 Jan 2026 12:36:47 +0100 Message-ID: <20260123113708.416727-2-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The flag IRQF_COND_ONESHOT was already force-added to request_irq() because the ACPI SCI interrupt handler is using the ONESHOT and it breaks all shared handler. devm_request_irq() needs the same change since some users, such as int0002_vgpio, are using this function instead. Add IRQF_COND_ONESHOT to flags passed to devm_request_irq(). Fixes: c37927a203fa2 ("genirq: Set IRQF_COND_ONESHOT in request_irq()") Signed-off-by: Sebastian Andrzej Siewior --- include/linux/interrupt.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 266f2b39213a0..b2bb878abd113 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -228,7 +228,7 @@ static inline int __must_check devm_request_irq(struct device *dev, unsigned int irq, irq_handler_t handl= er, unsigned long irqflags, const char *devname, void *dev_id) { - return devm_request_threaded_irq(dev, irq, handler, NULL, irqflags, + return devm_request_threaded_irq(dev, irq, handler, NULL, irqflags | IRQF= _COND_ONESHOT, devname, dev_id); } =20 --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 64BDB2D3EF2; Fri, 23 Jan 2026 11:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168238; cv=none; b=UivgiXEKSVqvZyWW8ruG77X6/jTWTWXHsy+8mOshGbwF2IvOuAQZIDwR3uCYRZdIQIP1H5QsDfTGY7amT+Up0NDF5w2BZBIAgV5Iqybk7wHaAnc9XH/xVnW2Ln+ntj2avaUPGGLVJtOKEgqDH12TWnZJbpQrPIrQCVwpBy/SHu4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168238; c=relaxed/simple; bh=pxDvzW/pVOUQU8n6u562P10x1iLuIU8MLG6cyRa1vv0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=USwUCn7STGzeYYX3bD1pQjfJcZU6aggQDqu61ENCq9VeDcg6mpPQww9gExvWoJMfgKmuGbXVrY30Y45sFjS4aiTMcDrkZEQQ9kRXP1DbN4m0oC72nK5Y08/qyvdTZUeABxiJGVIlDvQeILM6L7PhE/HqChiI3kCpn0h8mySaog0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=MWCm8TTM; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=F68G21bC; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="MWCm8TTM"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="F68G21bC" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/gWhv7uil+ZrA4BjnDi6wJaG4CAtZeW3jyH4OtetMsg=; b=MWCm8TTMbsroYAhQTsn2dwRHg+OD932OEYI+9b/gUKmKPsrWboxv7f2f/QRIKGDGd1lrCx fWzVAQFr5JtuxcEHT2N/ER6Iu2VE9UqdztoOjGvG2ASf2gp9ulpA/eH7hs4VO4E0HDUqub CcQWllRdweDk2e/pRsT7KnNTnkwIbBobsCyVqZAUOqjR8XImNRdfvvW3OpZVAh4L/Sst1k Nvmeht+dNZDx2BFs16fOmiefEv8oBuyxMWjM/BanxMDdrwJLd8YdW8ZolpOLhg+IPL3KI6 R4THLKAM4EaQJRTJl9BRWSF1x4DLtUrR48Xp9llD3xjaYDPY1vO4uwpMYykbsQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/gWhv7uil+ZrA4BjnDi6wJaG4CAtZeW3jyH4OtetMsg=; b=F68G21bClIKSFGH97x+i0sHYy9xJAMr/Z3glibNKXWvZOiAEtkcWwsJ6DQ0Pj+GrQhVdZm vO9ddwAdTaTl6kCw== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Hans de Goede , =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , platform-driver-x86@vger.kernel.org, "Borah, Chaitanya Kumar" Subject: [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from request_irq() Date: Fri, 23 Jan 2026 12:36:48 +0100 Message-ID: <20260123113708.416727-3-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. The flag was added to match the flag on the shared handler which uses a threaded handler and therefore IRQF_ONESHOT. This is no longer needed because devm_request_irq() now passes IRQF_COND_ONESHOT for this case. Revert adding IRQF_ONESHOT to irqflags. Cc: Hans de Goede Cc: "Ilpo J=C3=A4rvinen" Cc: platform-driver-x86@vger.kernel.org Reported-by: "Borah, Chaitanya Kumar" Closes: https://lore.kernel.org/all/555f1c56-0f74-41bf-8bd2-6217e0aab0c6@in= tel.com Fixes: 8f812373d1958 ("platform/x86: intel: int0002_vgpio: Pass IRQF_ONESHO= T to request_irq()") Signed-off-by: Sebastian Andrzej Siewior Acked-by: Ilpo J=C3=A4rvinen Reviewed-by: Hans de Goede --- drivers/platform/x86/intel/int0002_vgpio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/intel/int0002_vgpio.c b/drivers/platform/= x86/intel/int0002_vgpio.c index 6f5629dc3f8db..562e880256436 100644 --- a/drivers/platform/x86/intel/int0002_vgpio.c +++ b/drivers/platform/x86/intel/int0002_vgpio.c @@ -206,8 +206,8 @@ static int int0002_probe(struct platform_device *pdev) * FIXME: augment this if we managed to pull handling of shared * IRQs into gpiolib. */ - ret =3D devm_request_irq(dev, irq, int0002_irq, - IRQF_ONESHOT | IRQF_SHARED, "INT0002", chip); + ret =3D devm_request_irq(dev, irq, int0002_irq, IRQF_SHARED, "INT0002", + chip); if (ret) { dev_err(dev, "Error requesting IRQ %d: %d\n", irq, ret); return ret; --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0E2C2EA168 for ; Fri, 23 Jan 2026 11:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168237; cv=none; b=HsBuPB/rTRH0bupc2N2r3l93eDtwfOAHJpV6AzAw6a+4PxaBNLxeaZ34R8cuiaZHl+bm5rh9nI52ZXSGDhkp2HSYyHN1RCSWCS9uj33qjogZS1YnpNTPUzSqYWNSQgsYJEGra+7WRDooGH8NZDryEEKtjhyAa4U2V11x7zWq7cs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168237; c=relaxed/simple; bh=O/QiE8ztQa1L0+JEIcZKm3FM+4fU4Nk50Mx8Z2fDz8E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hyqWydMGcbCF8pSjQlnB6iEr/gL+oEgd0u4mg7pj+oWEPEOuuiZBA+lNIvhmiiWNzYQ980Hgv7iwmt6FOt9MznxbG93Z/cChRX/LbbfKPzcEyy3SNP1TFnDrhaDVZiSZ/y2+lVoaqn0bxukQAp4dn/Hbxo4gZAbJBoFuWwFZukg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=poxXH8Ju; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=2VtaYW8l; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="poxXH8Ju"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="2VtaYW8l" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CjdVJdQ/IABvMOcQXDTDdk9VdzgWv38Ziq5uuwivQ4U=; b=poxXH8Juzhh/LvvgoJlDLDfmFjwjoAZ0xoL4FdtQial3IXo/SHBzV1KdhIzmjvPeGR+apP tfu9X26fxBnESmq42mHE4wIrhJJdURooCkqyWKQZFmmpsEt2LNYOt8xYjzgNdpd8LXtLWU G4Di1veFIy9qCWlo8JfJ9y9woZ0KUcS0td9ZsPZHEhZydm+rpcEybfn4Knyjzqft70A4tD 2/6+v70+AxcTsLrOyFGqykJDSY5LpdELDXxU84GQBffumkdOp0KF+6FVqPCdZ2UpvLe30o y5UdhrLxArEQWu+5f54/ZohWWBX9+V/AjsSOhCmQ2T3Ux3jGwExutbIq6QLPSQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CjdVJdQ/IABvMOcQXDTDdk9VdzgWv38Ziq5uuwivQ4U=; b=2VtaYW8loa030Jn7qETkR6GEqiyE8Qu40VWtGV5rY8OSbOWkMEC5nmchKdwFLlTWFEn44D gpI2ROjv9Hlt2iCA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Joerg Roedel , Suravee Suthikulpanit , iommu@lists.linux.dev Subject: [PATCH 03/21] iommu/amd: Use core's primary handler and set IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:36:49 +0100 Message-ID: <20260123113708.416727-4-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" request_threaded_irq() is invoked with a primary and a secondary handler and no flags are passed. The primary handler is the same as irq_default_primary_handler() so there is no need to have an identical copy. The lack of the IRQF_ONESHOT can be dangerous because the interrupt source is not masked while the threaded handler is active. This means, especially on LEVEL typed interrupt lines, the interrupt can fire again before the threaded handler had a chance to run. Use the default primary interrupt handler by specifying NULL and set IRQF_ONESHOT so the interrupt source is masked until the secondary handler is done. Cc: Joerg Roedel Cc: Suravee Suthikulpanit Cc: iommu@lists.linux.dev Fixes: 72fe00f01f9a3 ("x86/amd-iommu: Use threaded interupt handler") Signed-off-by: Sebastian Andrzej Siewior --- drivers/iommu/amd/amd_iommu.h | 1 - drivers/iommu/amd/init.c | 12 ++++-------- drivers/iommu/amd/iommu.c | 5 ----- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/iommu/amd/amd_iommu.h b/drivers/iommu/amd/amd_iommu.h index b742ef1adb352..df1c238dc8885 100644 --- a/drivers/iommu/amd/amd_iommu.h +++ b/drivers/iommu/amd/amd_iommu.h @@ -15,7 +15,6 @@ irqreturn_t amd_iommu_int_thread(int irq, void *data); irqreturn_t amd_iommu_int_thread_evtlog(int irq, void *data); irqreturn_t amd_iommu_int_thread_pprlog(int irq, void *data); irqreturn_t amd_iommu_int_thread_galog(int irq, void *data); -irqreturn_t amd_iommu_int_handler(int irq, void *data); void amd_iommu_restart_log(struct amd_iommu *iommu, const char *evt_type, u8 cntrl_intr, u8 cntrl_log, u32 status_run_mask, u32 status_overflow_mask); diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c index 384c90b4f90a0..62a7a718acf8f 100644 --- a/drivers/iommu/amd/init.c +++ b/drivers/iommu/amd/init.c @@ -2356,12 +2356,8 @@ static int iommu_setup_msi(struct amd_iommu *iommu) if (r) return r; =20 - r =3D request_threaded_irq(iommu->dev->irq, - amd_iommu_int_handler, - amd_iommu_int_thread, - 0, "AMD-Vi", - iommu); - + r =3D request_threaded_irq(iommu->dev->irq, NULL, amd_iommu_int_thread, + IRQF_ONESHOT, "AMD-Vi", iommu); if (r) { pci_disable_msi(iommu->dev); return r; @@ -2535,8 +2531,8 @@ static int __iommu_setup_intcapxt(struct amd_iommu *i= ommu, const char *devname, return irq; } =20 - ret =3D request_threaded_irq(irq, amd_iommu_int_handler, - thread_fn, 0, devname, iommu); + ret =3D request_threaded_irq(irq, NULL, thread_fn, IRQF_ONESHOT, devname, + iommu); if (ret) { irq_domain_free_irqs(irq, 1); irq_domain_remove(domain); diff --git a/drivers/iommu/amd/iommu.c b/drivers/iommu/amd/iommu.c index 5d45795c367a6..bd577852618b7 100644 --- a/drivers/iommu/amd/iommu.c +++ b/drivers/iommu/amd/iommu.c @@ -1151,11 +1151,6 @@ irqreturn_t amd_iommu_int_thread(int irq, void *data) return IRQ_HANDLED; } =20 -irqreturn_t amd_iommu_int_handler(int irq, void *data) -{ - return IRQ_WAKE_THREAD; -} - /*************************************************************************= *** * * IOMMU command queuing functions --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E2B52303A15 for ; Fri, 23 Jan 2026 11:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168237; cv=none; b=sfB7vF1APPWAx7tzpDGoQHSO9OFfNoSY1tqgBoiGRxq7LwN9IxBRymBhLwrIpKsyJ53RMv1ZvCVxaQ6C8X/UaNMn47QPa8RVEy+BOfQDM7+EJlwDu1WCob99tTUdDxsnzz1XvMJoaOBFRcXEL/C3WZ1uriXy53kYooyADGGa9i8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168237; c=relaxed/simple; bh=YHs1vc1nQEQ/pTlcQOue/kCqq+8NrJ1+Rq97O+NWxvQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VlU2tWJXhqMtrUbnOvTZzsvFFTq0OvoRn7n5FsPy3WEARHGJyZzR9R1dmhCHgPRRccVavmKS9dMeG1u3FS4wg+sFrQtfYsoijaJ0IKign/XtmDSZTkAwCzhPY8i44WTwcIFFgjFp3nm1vCYfQ5g25OFG2Hk+ehrW7xutJeCd0VQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=kVvXkHLR; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=FYRs9hfW; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="kVvXkHLR"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="FYRs9hfW" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ph2KFbmB0trzGtkfvnaRSePGTT5sid+MhXBvCUgmcfY=; b=kVvXkHLRx2dp3YERKrpIunKA3A6hMPgEKA0Of8cyUdKac3b7vhbp7zTWEXlw7GyB22ypYS f3e9hdTXWNADnNkaUo4PUlJvujwwXskMt25NToAILmy04X8na+NImk8bSVZ4MkQF8UiT4H Yeq+HwIp/EGezhnyxZXe5aFud/P5Yk0XIufm+YHfNDbA8ErPCKgNUImVnxZ2FVBkTUKmXa rkVOPcyv+TxZKNeas3eE7+d2QUHjwQzwtLWy2yVSLicXx/3Omq85XdVlNzeoxGCBhrHrPL XUAIyOzM5Dyn5Hr6KUO6gF0fAunEF4dosdtXU0ZfOlQv19C+hghfqyoyC8K3pQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ph2KFbmB0trzGtkfvnaRSePGTT5sid+MhXBvCUgmcfY=; b=FYRs9hfWB/1zn5C7Jvgkxn1lapvST1dcVSf1vwy1eWX3nRHpcxTYpi1ydvoDkb8OnYgukM 0aLoISHrt+CcrhCQ== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Jassi Brar Subject: [PATCH 04/21] mailbox: bcm-ferxrm-mailbox: Use default primary handler Date: Fri, 23 Jan 2026 12:36:50 +0100 Message-ID: <20260123113708.416727-5-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" request_threaded_irq() is invoked with a primary and a secondary handler and no flags are passed. The primary handler is the same as irq_default_primary_handler() so there is no need to have an identical copy. The lack of the IRQF_ONESHOT can be dangerous because the interrupt source is not masked while the threaded handler is active. This means, especially on LEVEL typed interrupt lines, the interrupt can fire again before the threaded handler had a chance to run. Use the default primary interrupt handler by specifying NULL and set IRQF_ONESHOT so the interrupt source is masked until the secondary handler is done. Cc: Jassi Brar Signed-off-by: Sebastian Andrzej Siewior --- Has this by any chance been done as micro optimisation to avoid setting IRQF_ONESHOT which disables the IRQ-line and could be avoided for MSI typed interrupts? But since it IRQ-core requires this flag one could get away with it by using a different primary handler. drivers/mailbox/bcm-flexrm-mailbox.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/drivers/mailbox/bcm-flexrm-mailbox.c b/drivers/mailbox/bcm-fle= xrm-mailbox.c index 41f79e51d9e5a..4255fefc3a5a0 100644 --- a/drivers/mailbox/bcm-flexrm-mailbox.c +++ b/drivers/mailbox/bcm-flexrm-mailbox.c @@ -1173,14 +1173,6 @@ static int flexrm_debugfs_stats_show(struct seq_file= *file, void *offset) =20 /* =3D=3D=3D=3D=3D=3D FlexRM interrupt handler =3D=3D=3D=3D=3D */ =20 -static irqreturn_t flexrm_irq_event(int irq, void *dev_id) -{ - /* We only have MSI for completions so just wakeup IRQ thread */ - /* Ring related errors will be informed via completion descriptors */ - - return IRQ_WAKE_THREAD; -} - static irqreturn_t flexrm_irq_thread(int irq, void *dev_id) { flexrm_process_completions(dev_id); @@ -1271,10 +1263,8 @@ static int flexrm_startup(struct mbox_chan *chan) ret =3D -ENODEV; goto fail_free_cmpl_memory; } - ret =3D request_threaded_irq(ring->irq, - flexrm_irq_event, - flexrm_irq_thread, - 0, dev_name(ring->mbox->dev), ring); + ret =3D request_threaded_irq(ring->irq, NULL, flexrm_irq_thread, + IRQF_ONESHOT, dev_name(ring->mbox->dev), ring); if (ret) { dev_err(ring->mbox->dev, "failed to request ring%d IRQ\n", ring->num); --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A0DD4313E34 for ; Fri, 23 Jan 2026 11:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168241; cv=none; b=EXIfm2Fm+pi5SOgwWuJBImMLDKeeRNrv7r4pgu0MRz8tTWPs8DKD3WtId9CdkJs84/QzG1fBd0UnqRodhpxYNvZk6XQ6kNidJxHHuQEoSCmzEfrdq3IUgLeQDfAW/Jduz76gcbDBOVkGANzA+TKm+fg9qbmbGyxAQeqgedADr+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168241; c=relaxed/simple; bh=xIG6dgGL0m2Ob8S+jn/+Z8aqjE+CAR5xgYoV0lQuUJc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YrCH0wkno94pHx328ulV27PZFkJ2vPHXe2awgyalkBnk0UISHI80TrV2yukPt84u+QKIPXIGy2TJ/4iB/9H/nFiyAtbUUlev6WcR/GIyMcPzag2w0Q9Fx9HwFfUEeh8uZ4lahoscnK8dqE8aTqnJOeLOuAeYQaTseWWuwuxnlfA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=0OU2dkMo; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=6o9/+xdX; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="0OU2dkMo"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="6o9/+xdX" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OWni5HW99nwatLe3bFxSkgJ092tCPIuDbEsFgoqJcfI=; b=0OU2dkMohdOjRwrZK6iO6qfrNE4FxZJc4SpwLNvy/5UjjIZ6HATJafTZi1s3O8yRcQKgRv HqtTaLCjIwZhHMCV5cFkE5NeAoRvrVz18Zw3lT3yghMM6ZgHgHSNpcSH8fF2cRt1oKpzUn kosVEx2qy66OIUCMmx+TaA6wn23hRO9fLG9xTdD2Akqur8X4F7XGhcv35LNXym1F+plyJe eMlcF0c3ChPfACaHa5awZtwncB97PtPH+U5wOs3bhlkGLvUdwpHhOvrOwO52GMotDcefvD fQtlN39AOk5y12doT8FMmIyselSFlrn8ZZmn1vdryBKd9IoUGX0RoGVmAK7ntg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168234; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OWni5HW99nwatLe3bFxSkgJ092tCPIuDbEsFgoqJcfI=; b=6o9/+xdXLJRHeZtviycF1Lb87SBxXuNkoulzn6XM+QHkLtf9hE78qmZQfjeLDMv7i/byMu 2QXo8NGNkEaXBZDA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Ioana Ciornei , linuxppc-dev@lists.ozlabs.org Subject: [PATCH 05/21] bus: fsl-mc: Use default primary handler Date: Fri, 23 Jan 2026 12:36:51 +0100 Message-ID: <20260123113708.416727-6-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There is no added value in dprc_irq0_handler() compared to irq_default_primary_handler(). Use the default primary interrupt handler by specifying NULL. Cc: Ioana Ciornei Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Ioana Ciornei --- drivers/bus/fsl-mc/dprc-driver.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/drivers/bus/fsl-mc/dprc-driver.c b/drivers/bus/fsl-mc/dprc-dri= ver.c index c63a7e688db6a..db67442addad2 100644 --- a/drivers/bus/fsl-mc/dprc-driver.c +++ b/drivers/bus/fsl-mc/dprc-driver.c @@ -380,17 +380,6 @@ int dprc_scan_container(struct fsl_mc_device *mc_bus_d= ev, } EXPORT_SYMBOL_GPL(dprc_scan_container); =20 -/** - * dprc_irq0_handler - Regular ISR for DPRC interrupt 0 - * - * @irq_num: IRQ number of the interrupt being handled - * @arg: Pointer to device structure - */ -static irqreturn_t dprc_irq0_handler(int irq_num, void *arg) -{ - return IRQ_WAKE_THREAD; -} - /** * dprc_irq0_handler_thread - Handler thread function for DPRC interrupt 0 * @@ -527,7 +516,7 @@ static int register_dprc_irq_handler(struct fsl_mc_devi= ce *mc_dev) */ error =3D devm_request_threaded_irq(&mc_dev->dev, irq->virq, - dprc_irq0_handler, + NULL, dprc_irq0_handler_thread, IRQF_NO_SUSPEND | IRQF_ONESHOT, dev_name(&mc_dev->dev), --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9FBA02741AB; Fri, 23 Jan 2026 11:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; cv=none; b=Yn87pzQIwd0kaY77nAiBo538PVmlJ33sLTd9EV5u4u0OVYRV+hm3SoDKIpj6xvbWWBM2TacNMPum878ZSgDefrbkHSGzquw+9zxluYjWa8S1cXsSvaRIwankUDjFCKLJo2CQCTM2RVClXm1IyAwUI8KcGN9ZNDVq42Ql6MdcKkA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; c=relaxed/simple; bh=YIhD96ncLAqKhFcbwSqeqDW2wIh2UJYFEu5TkwwbpNw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=L7bKa/GcRDG3vs2cQqgEGdrrt65YIYg3JGUFa/jAx04vuVWtdjJ7dWNYk+UVvijC6dhkE7wYiCGZTCSmuDWoiRVra1RYFIGgKN/u5EpuFelizd9BSfZR0YB9RKpRTPtZ9bTikxwObq5fwhKzWZOqUkCsl14WksEJNr7iLdxQKoI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=cEGwOmPi; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=vWOEIsaI; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="cEGwOmPi"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="vWOEIsaI" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O/ZYBRVF2SmSOTJgqZxlAZTKkgmnbGKkRQ21DEWSGPI=; b=cEGwOmPi5La98B4JXmUIoevawntGMHSmZXgXJkY0A3BPnF4a4VgiygzYn3H/+oFlwVsuFa 6L+IQ2xMBPslec7T0utzw+CI4xmQJ2VJpU1DDyumhN3znqN00wN8/TuNeiXCIUOdbn3JXI 9rSt6LnNXIYSMxnHOR0yQ2GcIeJVYEEI0CBcsPta+YJAO6ZyufU5dRkok4/D3UGZhneM4a N73xuylTLZ5wwa0sEaIxoife+7HxavQ8q4sb5G67suYHllwsf3lwe+LU3YTWoC3VQar/oc cS26bgRWJZtC3CQaol8lr1kRgi7HivBMcq9x9f0aYHKbj6iVJ8982ryrr/HIGQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=O/ZYBRVF2SmSOTJgqZxlAZTKkgmnbGKkRQ21DEWSGPI=; b=vWOEIsaIiCIm/vIBSrS9XtufRCaT6M31Kj4x8qo2YxaiBhCnF/kLnXq2GvCmA9K4PC6qj1 jRqJxWaokcwUVoAw== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Marcel Holtmann , Luiz Augusto von Dentz , linux-bluetooth@vger.kernel.org Subject: [PATCH 06/21] Bluetooth: btintel_pcie: Use IRQF_ONESHOT and default primary handler Date: Fri, 23 Jan 2026 12:36:52 +0100 Message-ID: <20260123113708.416727-7-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There is no added value in btintel_pcie_msix_isr() compared to irq_default_primary_handler(). Using a threaded interrupt without a dedicated primary handler mandates the IRQF_ONESHOT flag to mask the interrupt source while the threaded handler is active. Otherwise the interrupt can fire again before the threaded handler had a chance to run. Use the default primary interrupt handler by specifying NULL and set IRQF_ONESHOT so the interrupt source is masked until the secondary handler is done. Cc: Marcel Holtmann Cc: Luiz Augusto von Dentz Cc: linux-bluetooth@vger.kernel.org Fixes: c2b636b3f788d ("Bluetooth: btintel_pcie: Add support for PCIe transp= ort") Signed-off-by: Sebastian Andrzej Siewior --- drivers/bluetooth/btintel_pcie.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/bluetooth/btintel_pcie.c b/drivers/bluetooth/btintel_p= cie.c index 2936b535479f2..704767b334b98 100644 --- a/drivers/bluetooth/btintel_pcie.c +++ b/drivers/bluetooth/btintel_pcie.c @@ -1431,11 +1431,6 @@ static void btintel_pcie_msix_rx_handle(struct btint= el_pcie_data *data) } } =20 -static irqreturn_t btintel_pcie_msix_isr(int irq, void *data) -{ - return IRQ_WAKE_THREAD; -} - static inline bool btintel_pcie_is_rxq_empty(struct btintel_pcie_data *dat= a) { return data->ia.cr_hia[BTINTEL_PCIE_RXQ_NUM] =3D=3D data->ia.cr_tia[BTINT= EL_PCIE_RXQ_NUM]; @@ -1537,9 +1532,9 @@ static int btintel_pcie_setup_irq(struct btintel_pcie= _data *data) =20 err =3D devm_request_threaded_irq(&data->pdev->dev, msix_entry->vector, - btintel_pcie_msix_isr, + NULL, btintel_pcie_irq_msix_handler, - IRQF_SHARED, + IRQF_ONESHOT | IRQF_SHARED, KBUILD_MODNAME, msix_entry); if (err) { --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D4238322B63; Fri, 23 Jan 2026 11:37:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; cv=none; b=sKFUImnGboZ0jJSyqxPYlAt2DBqJ/7sQdLtjR5+A1mb0m1NnnQB7OdIwsmlWIFkxr83dDLpZd882FOYbYT85DFzWlW6ize5TKt9WmfRI9Zrf504ZH83JQI6bE5IbEVJjHmtjIGoj1kaqBBFLDIYmFop0V48F4g7ipwPzrxZ3XE4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; c=relaxed/simple; bh=M5c3tXigRIz1ko/jRr/tyGr0A5Rrlc8uX70DDQEzMb4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S0POUcIVmwXDrLDoj/UOJK5p1qIdNVtSmRZRlzh3ksZeLa5sBMRPGdG6k4rCmFvO8p1zhFHFuvskF6gjou0+4r7Tj3yKyd6EN3RzdBTCl5h+sgSDONDw/GdbzkFLyIo1QzP4Yd1KU3sbwRb81J3GC4Zml3QpOjlnTTAljFdRovo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=FLBA+VVF; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=DxErlska; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="FLBA+VVF"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="DxErlska" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c12/WiBOl4+VRMfczalP737Fey9tqb3UHR0QHYUaIoI=; b=FLBA+VVFXW6I6FPGBSSgqlEaZ9HAesjOkNAPZZhXBtrc33gFGDd3WV5cYa6N9Fuded/d19 PMz4rLsr7PemXQd9cFUR+XWV4uSQmTKXQrdYBjiJedGE42ofX4C3DuDcSj2VmOTvakCSSf 1kEnRU92cin87wUgq++7Ut/famllZ9eRhzvl0HsNyuweUpWyKxxUa2k87zri5dQXVCyMcs T9t6d2R+0Ov3KJZC3gp22Tlf2hhnSde0QgWX+5UMdT74NPdGpxHZ9lQ5u+Rp9JlzCBJSD0 +/3T4IcYq8jOyqKb/l03Dpfo9IrmceO4EDA+kNjEWTVv9z2UDB11a0VTF5btNw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=c12/WiBOl4+VRMfczalP737Fey9tqb3UHR0QHYUaIoI=; b=DxErlskavT9kX1FQ63dwResmsEBBLI83P0C4MDTGTR2vpZ0mphL3P5ynEzNsf8yBE7zHeK sTDeTCZXPk+mjuAg== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Ram Vegesna , "James E.J. Bottomley" , "Martin K. Petersen" , linux-scsi@vger.kernel.org, target-devel@vger.kernel.org Subject: [PATCH 07/21] scsi: efct: Use IRQF_ONESHOT and default primary handler Date: Fri, 23 Jan 2026 12:36:53 +0100 Message-ID: <20260123113708.416727-8-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" There is no added value in efct_intr_msix() compared to irq_default_primary_handler(). Using a threaded interrupt without a dedicated primary handler mandates the IRQF_ONESHOT flag to mask the interrupt source while the threaded handler is active. Otherwise the interrupt can fire again before the threaded handler had a chance to run. Use the default primary interrupt handler by specifying NULL and set IRQF_ONESHOT so the interrupt source is masked until the secondary handler is done. Cc: Ram Vegesna Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Cc: linux-scsi@vger.kernel.org Cc: target-devel@vger.kernel.org Fixes: 4df84e8466242 ("scsi: elx: efct: Driver initialization routines") Signed-off-by: Sebastian Andrzej Siewior --- drivers/scsi/elx/efct/efct_driver.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/scsi/elx/efct/efct_driver.c b/drivers/scsi/elx/efct/ef= ct_driver.c index 1bd42f7db1773..528399f725d42 100644 --- a/drivers/scsi/elx/efct/efct_driver.c +++ b/drivers/scsi/elx/efct/efct_driver.c @@ -415,12 +415,6 @@ efct_intr_thread(int irq, void *handle) return IRQ_HANDLED; } =20 -static irqreturn_t -efct_intr_msix(int irq, void *handle) -{ - return IRQ_WAKE_THREAD; -} - static int efct_setup_msix(struct efct *efct, u32 num_intrs) { @@ -450,7 +444,7 @@ efct_setup_msix(struct efct *efct, u32 num_intrs) intr_ctx->index =3D i; =20 rc =3D request_threaded_irq(pci_irq_vector(efct->pci, i), - efct_intr_msix, efct_intr_thread, 0, + NULL, efct_intr_thread, IRQF_ONESHOT, EFCT_DRIVER_NAME, intr_ctx); if (rc) { dev_err(&efct->pci->dev, --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EFA5E318EF9 for ; Fri, 23 Jan 2026 11:37:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; cv=none; b=dIjUHe3wY699tQ1NemYWIe5Su4/+/B8X6ySjnFOAX/qQV6rmm3xYIWE4CAP2Ex6PYuxitIkp7ONFTi6hFRFvmyBRaV7Cj6EfbHIodlCV75g57ALGTQYc4C2eoHO90rbdVTfBlMSza3zpx13FWo9L/0zhgPCxzZKKjrA8QPi4mKo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; c=relaxed/simple; bh=1Ei3iEDq+3ul52dgYpK+hoL434wuj42t2jzcLvrSW80=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nBzDXiRCuHTD1pIcKuCh0AqosYaD2HdyHbIaBdp0LxrbphGd29g/mVKRzvDCyDGOeRlJnAP31evAg9GJ7hqm+qZvMUEE7pgUEhnccFEqZs7d+WnLCiFCgI8TD/K5fMRrzCtVCeh4c0fd6eUmxopp4+8ZuzPZFzzzfx03Bf4jZ+4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=zffOZK+M; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=KOYwv177; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="zffOZK+M"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="KOYwv177" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rW+PAWZxGnF9Ct2ExEsv2LYHIZ9WUP+SeTviE1CEkbQ=; b=zffOZK+MJrBMe4/16DzgMn02IFh1NGTwWSuZc3A6y3frjvDTWjkLG7VWunfUWnsDzia7as quCXNFgX3r3ZCD56XLbAgt0+UlDrojzHcbDdtg07HxtmeaKW+W/7sQnkbxdZoJPMSOkG4w Ap/boKIuWmq8x6qgjC13NgUIzCMx4FUroW4L7EVCoA8DmwDqehU+XNh9jUg5W3ioYKR+dl 4rCtOnMEYh6SX8jk9Qhk3CaQWplcYCLzQWRAOdvuj0IBSXuU8iv7TI0REYHctVrHkFXQOb 5fOhkjdvbLtkekvluCfiXgRogSQxnxOscQEf2ZXmZBYKge+TpZOsNGbRbCoCKw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rW+PAWZxGnF9Ct2ExEsv2LYHIZ9WUP+SeTviE1CEkbQ=; b=KOYwv177IAVesLbfPWb2vMFuU+K1PnUs5QaCQ2xKmM+aoDfRPHS/+8jtMQwteTN2CPJiT0 cM5NBEY7NonIRYAg== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Linus Walleij , Liviu Dudau , Sudeep Holla , Lorenzo Pieralisi , linux-arm-kernel@lists.infradead.org Subject: [PATCH 08/21] ARM: versatile: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:36:54 +0100 Message-ID: <20260123113708.416727-9-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. Revert adding IRQF_ONESHOT to irqflags. Cc: Linus Walleij Cc: Liviu Dudau Cc: Sudeep Holla Cc: Lorenzo Pieralisi Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Sebastian Andrzej Siewior Acked-by: Linus Walleij Acked-by: Sudeep Holla --- arch/arm/mach-versatile/spc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-versatile/spc.c b/arch/arm/mach-versatile/spc.c index 812db32448fcd..2d27777a00d33 100644 --- a/arch/arm/mach-versatile/spc.c +++ b/arch/arm/mach-versatile/spc.c @@ -459,8 +459,8 @@ int __init ve_spc_init(void __iomem *baseaddr, u32 a15_= clusid, int irq) =20 readl_relaxed(info->baseaddr + PWC_STATUS); =20 - ret =3D request_irq(irq, ve_spc_irq_handler, IRQF_TRIGGER_HIGH - | IRQF_ONESHOT, "vexpress-spc", info); + ret =3D request_irq(irq, ve_spc_irq_handler, IRQF_TRIGGER_HIGH, + "vexpress-spc", info); if (ret) { pr_err(SPCLOG "IRQ %d request failed\n", irq); kfree(info); --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D377B31A7F3; Fri, 23 Jan 2026 11:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; cv=none; b=MB4YmSff+txHpMcVmIPlVwJaOqsM8pt6OFOWmPqcvDU7matWOs0EIAiFKKf2REXjF4paYAcZMBLQEB4GC3Cn0Yc6ZCYZpLdXPMm71jfhaK5OQXKEJ8cads+p+Mftg3ZGXsaixJqzZp3Q4AOppe8CIc4+jIz06mmF04udX8sGbss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; c=relaxed/simple; bh=BvOe0n0O3fEnxsIu8XLjoGVkrNv6ygwKM1JjrkTdmxs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=u2KeLTvlDVPQdEOyow5q8LqdveT84Rjki3ZLgsh3XdzHbyy5gWAaCsTgdcqruVggTrD+Ay8+OEMdmot9gU2itLvtqEoi0y/oy2QLatxG7q9eZRh6bOLFCDrFUd0l30i8opAAHczLuoGbjg3vMJBy1vnnp8Hov5kZ6nluWopjJDo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=jRzRWqEs; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=RS2ahJvm; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="jRzRWqEs"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="RS2ahJvm" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=n+P2moe5wzk8LRVHukc5mSlFSGY5TZY+eBi1aBHfZZs=; b=jRzRWqEs+1UHDABQxWvpOcSiePWZ7aBRgE+gas1fCLx7SMu4d2ayl8tHp8WlGw0RSlZFbJ ARgoSlhgmqxElyelzzm+OMXG0mR9GKMC1hnhonAEMYF6AZ79m40KFz1RDzOpkgjRdGrSpx 112RJbLRJisAzeONPgOYX4ZyJT5P93DK1P/C6YRDqgBEFO1l5SOCK1jdYfvnpvZJAcwrw/ PTYRrTL8f4t9VkkeDd7X4LHMXNgKHuYJP4WTWBDF3upcGpk9XzvyLSolt5agsKkWonZdym Be8Hqus3JnM2eX9ZSncLldKVcYKCJNd+O5rD3pu0ykYbB2p5IxyrFEwu1tQMww== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=n+P2moe5wzk8LRVHukc5mSlFSGY5TZY+eBi1aBHfZZs=; b=RS2ahJvmBQ08rqHwJV7WuqdTWNBdXb5J67V8PxIPWuBHyEz8vUJKxLWm4PPEvOxo0YKqEv f9X8FJCacfLAsDBw== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Peter Huewe , Jarkko Sakkinen , Jason Gunthorpe , linux-integrity@vger.kernel.org Subject: [PATCH 09/21] char: tpm: cr50: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:36:55 +0100 Message-ID: <20260123113708.416727-10-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. Remove IRQF_ONESHOT from irqflags. Cc: Peter Huewe Cc: Jarkko Sakkinen Cc: Jason Gunthorpe Cc: linux-integrity@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Jarkko Sakkinen --- drivers/char/tpm/tpm_tis_i2c_cr50.c | 3 +-- drivers/char/tpm/tpm_tis_spi_cr50.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/char/tpm/tpm_tis_i2c_cr50.c b/drivers/char/tpm/tpm_tis= _i2c_cr50.c index fc6891a0b6936..b48cacacc0664 100644 --- a/drivers/char/tpm/tpm_tis_i2c_cr50.c +++ b/drivers/char/tpm/tpm_tis_i2c_cr50.c @@ -749,8 +749,7 @@ static int tpm_cr50_i2c_probe(struct i2c_client *client) =20 if (client->irq > 0) { rc =3D devm_request_irq(dev, client->irq, tpm_cr50_i2c_int_handler, - IRQF_TRIGGER_FALLING | IRQF_ONESHOT | - IRQF_NO_AUTOEN, + IRQF_TRIGGER_FALLING | IRQF_NO_AUTOEN, dev->driver->name, chip); if (rc < 0) { dev_err(dev, "Failed to probe IRQ %d\n", client->irq); diff --git a/drivers/char/tpm/tpm_tis_spi_cr50.c b/drivers/char/tpm/tpm_tis= _spi_cr50.c index f4937280e9406..32920b4cecfb4 100644 --- a/drivers/char/tpm/tpm_tis_spi_cr50.c +++ b/drivers/char/tpm/tpm_tis_spi_cr50.c @@ -287,7 +287,7 @@ int cr50_spi_probe(struct spi_device *spi) if (spi->irq > 0) { ret =3D devm_request_irq(&spi->dev, spi->irq, cr50_spi_irq_handler, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, + IRQF_TRIGGER_RISING, "cr50_spi", cr50_phy); if (ret < 0) { if (ret =3D=3D -EPROBE_DEFER) --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9CB0E2DAFA8; Fri, 23 Jan 2026 11:37:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; cv=none; b=YaqPwGyIlstZHDj2LbDPxcpBgJ97E3UDQmKxWGQp+UO0RxjHWB3MuKY/BwoBxQOFnUGa3dCtzPmFXKhfm69pz37QK8e+SkjdkfC8zDGtdxgtEGcVmzzbvsrhAB/j9KZ7djuQIFLDLJXplgIWg/+/8HbSwVFEeTOwhVtU34R0MB0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; c=relaxed/simple; bh=+jI3HD8B+IVS8uvyZCT11kkU7aWeR/2FZYRf+KAA9Zc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KthSqwjWy31FHvf+P0k5y3hj3zgGi0mTgt3ynj9Rt02+KQrWGu1HARKuRLl44sP4J1bRHFns3sRhS81yYdkdyAVj2kebaE+B8cSugkv25OQoLLt+dImwPF1pWx7bhXOBNAJyz9lpJU92wG568u/oal256EoXjYNwXEGFCyRMMrs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=lOdLw2lE; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=ZFO+Gcll; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="lOdLw2lE"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="ZFO+Gcll" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7qOzb846ei57EI5/W356PPwgQiNFvbcKpbMgaeDnSO8=; b=lOdLw2lEUpLDRV4eSPKfxLiGbHgLwXMB3pd3nAC4/wrHilJK0SitiIsB0F1XfFNmiHpYPC 3cxXfKo8ottro4FGBYyG9LYkGz5XR+pKojA8Adsnng2rquOLBGYhCP4gqm8flnI4v/3B3y OFk4UZU0hM+X+SM4GggmwL32sNGY9+B0wHS9CQPYNmw/iCeGwg3FyFuJtwXyJWXXzu0Jqx ldU6Gz2Xq3W1/QBTJPuUYXGU/xCLfC5cCHNX4bTvQ4LlDC2PzyPtYdh3HMTTEM7t5Fsp0S TdgvyXP6KjBR+8XChYbWGptCYklNLEodLHaOEdcYFxoZ8J0wOVn6dHs5at0miQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7qOzb846ei57EI5/W356PPwgQiNFvbcKpbMgaeDnSO8=; b=ZFO+GclliPGEjyGYyfLTjn7fmzuyiakIx4GP5qebVrUj/hMyc61wfT8tmzK+IjV+srAS3v Ho6dGgO4GqC6vICA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Dinh Nguyen , Borislav Petkov , Tony Luck , linux-edac@vger.kernel.org Subject: [PATCH 10/21] EDAC/altera: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:36:56 +0100 Message-ID: <20260123113708.416727-11-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. Remove IRQF_ONESHOT from irqflags. Cc: Dinh Nguyen Cc: Borislav Petkov Cc: Tony Luck Cc: linux-edac@vger.kernel.org Fixes: a29d64a45eed1 ("EDAC, altera: Add IRQ Flags to disable IRQ while han= dling") Signed-off-by: Sebastian Andrzej Siewior --- drivers/edac/altera_edac.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c index 0c5b94e64ea15..4edd2088c2db6 100644 --- a/drivers/edac/altera_edac.c +++ b/drivers/edac/altera_edac.c @@ -1563,8 +1563,7 @@ static int altr_portb_setup(struct altr_edac_device_d= ev *device) goto err_release_group_1; } rc =3D devm_request_irq(&altdev->ddev, altdev->sb_irq, - prv->ecc_irq_handler, - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, + prv->ecc_irq_handler, IRQF_TRIGGER_HIGH, ecc_name, altdev); if (rc) { edac_printk(KERN_ERR, EDAC_DEVICE, "PortB SBERR IRQ error\n"); @@ -1587,8 +1586,7 @@ static int altr_portb_setup(struct altr_edac_device_d= ev *device) goto err_release_group_1; } rc =3D devm_request_irq(&altdev->ddev, altdev->db_irq, - prv->ecc_irq_handler, - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, + prv->ecc_irq_handler, IRQF_TRIGGER_HIGH, ecc_name, altdev); if (rc) { edac_printk(KERN_ERR, EDAC_DEVICE, "PortB DBERR IRQ error\n"); @@ -1970,8 +1968,7 @@ static int altr_edac_a10_device_add(struct altr_arria= 10_edac *edac, goto err_release_group1; } rc =3D devm_request_irq(edac->dev, altdev->sb_irq, prv->ecc_irq_handler, - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, - ecc_name, altdev); + IRQF_TRIGGER_HIGH, ecc_name, altdev); if (rc) { edac_printk(KERN_ERR, EDAC_DEVICE, "No SBERR IRQ resource\n"); goto err_release_group1; @@ -1993,7 +1990,7 @@ static int altr_edac_a10_device_add(struct altr_arria= 10_edac *edac, goto err_release_group1; } rc =3D devm_request_irq(edac->dev, altdev->db_irq, prv->ecc_irq_handler, - IRQF_ONESHOT | IRQF_TRIGGER_HIGH, + IRQF_TRIGGER_HIGH, ecc_name, altdev); if (rc) { edac_printk(KERN_ERR, EDAC_DEVICE, "No DBERR IRQ resource\n"); --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F3AC346E43; Fri, 23 Jan 2026 11:37:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; cv=none; b=OjPiRxVjbGaP+jgGQQOM0tOi6VTZnrBWgHlApgcIsAopykApPaC32ioncqLEXu+5wAkzTOBe7E4kXVxxevGMjaRTVKlOIPJPkJpF+SupOUrRbYDLLPGZPON5f6YTFhI/D1BA7s38+pyN0EHT1RliCZmIVjv0Zb/GhBwNKCTNW8Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; c=relaxed/simple; bh=PDm01bYH0f1j2djPipiypaC3BgwBvxUZlgxTtUxWqTg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Nb+f1J+WFoh6KTIC9IZJLCa27R1O+spgBqX/kGz9vDZk1Cteo9xWc1UYm9CJPaUfMtwVlHHwBX9hTFPYSeNwtPOaYXCzfXJR6trscVvIYtGzlMwH07IMO+Pn7EzkWaAX26xmlAZQhjQul1KzgC+EHnKHY2VHLGy7XjOkMuG/VqI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=pxyTdVBQ; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=b3KhJVod; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="pxyTdVBQ"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="b3KhJVod" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0ClL8eAZdmuNbLusg5jOxF2eIGZ+kWzlW9HMsa2ckZU=; b=pxyTdVBQ8iNBWKLo47O3PiDCbrqnj6d/vA5AtrI7kRBHJ2n1D0ZVdaRtDJ74Dpq8QHaDM6 dt9gPz9AdR0TYfQkG+ri9oEFTfuUEYFeF4tAFIagXWObcsVcsPqPjbSauwIWa4KSPexIay hVmXRv/N4WVTHn4CxILhrLgKab3vou3+nr08bNgVx6ypqPG9zMz5xxdI1CQpb9b3rAV78w iNlcIBGglqlLlQC8rZ5wmVkoJnGjgAxmQDgiyQsAGbKFxykxU5gSXYbAhytltwzkdLJKSw GCwKXxbMT0oAiMCLhw2MExOu9GqlA8cOkvDqmhpxIS/cEIvmBeY7dQLR/YofKw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=0ClL8eAZdmuNbLusg5jOxF2eIGZ+kWzlW9HMsa2ckZU=; b=b3KhJVodDLUW0D4Ju/ixICFDI3BkVvr6KzwD8FRjZSMmF43nHEMJI0S/4/xiJjK/FW9Ugx VIPgsPFClpxm1uBA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Troy Mitchell , Andi Shyti , Yixun Lan , linux-i2c@vger.kernel.org, linux-riscv@lists.infradead.org Subject: [PATCH 11/21] i2c: spacemit: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:36:57 +0100 Message-ID: <20260123113708.416727-12-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. Remove IRQF_ONESHOT from irqflags. Cc: Troy Mitchell Cc: Andi Shyti Cc: Yixun Lan Cc: linux-i2c@vger.kernel.org Cc: linux-riscv@lists.infradead.org Signed-off-by: Sebastian Andrzej Siewior --- drivers/i2c/busses/i2c-k1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-k1.c b/drivers/i2c/busses/i2c-k1.c index d42c03ef5db59..8ef6d5d1927b7 100644 --- a/drivers/i2c/busses/i2c-k1.c +++ b/drivers/i2c/busses/i2c-k1.c @@ -566,7 +566,7 @@ static int spacemit_i2c_probe(struct platform_device *p= dev) return dev_err_probe(dev, i2c->irq, "failed to get irq resource"); =20 ret =3D devm_request_irq(i2c->dev, i2c->irq, spacemit_i2c_irq_handler, - IRQF_NO_SUSPEND | IRQF_ONESHOT, dev_name(i2c->dev), i2c); + IRQF_NO_SUSPEND, dev_name(i2c->dev), i2c); if (ret) return dev_err_probe(dev, ret, "failed to request irq"); =20 --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1AA9329E7B; Fri, 23 Jan 2026 11:37:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; cv=none; b=aB/O6O83BSZRAm7f15OfLT/oVUL1NhOsasez2Kz6ScoHaMd0NxvzDWhFKpZtP4Szj/QFlJ9hblJh4maAhO//Yez8NOjQDFlKVGm/Msn65EcUAofb1hckjN7dx0/5aDMRtIUmOmhYaADgWiDb+wGwMS9lmewjlGlT5Rf17rU3XIY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168242; c=relaxed/simple; bh=cLKLW6ziX3Ksgnw3BL6kHmpaf7kAWOi/CXF1JlHLr4Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FvdtsDnX1TR6oAN2iPNG2hpFkFAa6IXVj2eBxq54SdD5rIihztJgpmYHqqEsE66E94F9qSiQAMIqumxO8U/bLWlTSRp5WvQnL7a2+r5oEcGxRoYoAMp3SEOvJB1BYTGonXihneJqeMhBzZULQ/z+cwt/Cnzudyu7Zbj+GRH8U30= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=1PpWPZTu; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=ujN/GR4s; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="1PpWPZTu"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="ujN/GR4s" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OWR1GspezhW/fA+bl2hg34AmkML9jjEGl3PypfM+23g=; b=1PpWPZTuYYTnGYpI26iiIFHfDG8tkeSIwOcJ9P5M18sGm4PDcMMt6hUrri9jaHtlkJOMVm L2gBkBdGepU7UuMIFLdOf6wSsAXMedQroV1jMDlm62XkaSpl3r2OmHIKzdTdjc3iQN2P18 sQ4DVfvN7HTQ7VPW7Bk0/C31QoBIj5PTlmTwgNHbGMd5+dwIQHvyVqNpUvzVGUyMOPtWfX +Qos0dID5gk4Jp8w1GLI8sSf8EIdsjJQia65QwAfv9C8Pa6k/YuNKH4iUUdUjLavmweTMT XVf7Fci7xrj/01Z3d7Sq4uwP2ZvkOfs3ueIeMzSX0mnHkfobOusHCIV+3uXp3Q== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OWR1GspezhW/fA+bl2hg34AmkML9jjEGl3PypfM+23g=; b=ujN/GR4s0WsDQLcEcwTJ3J37tkYddDQzVvcOAenhPvB5hxcogC4rxEd0KVD7jr0wNnxqtg lBfpKZMK0w/nKOCQ== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Oder Chiou , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , linux-sound@vger.kernel.org Subject: [PATCH 12/21] ASoC: codecs: rt56*: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:36:58 +0100 Message-ID: <20260123113708.416727-13-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. Remove IRQF_ONESHOT from irqflags. Cc: Oder Chiou Cc: Liam Girdwood Cc: Mark Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: linux-sound@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior --- sound/soc/codecs/rt5640.c | 4 ++-- sound/soc/codecs/rt5651.c | 2 +- sound/soc/codecs/rt5663.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c index 4c08c274f50e2..db2222e6f2e75 100644 --- a/sound/soc/codecs/rt5640.c +++ b/sound/soc/codecs/rt5640.c @@ -2564,7 +2564,7 @@ static void rt5640_enable_jack_detect(struct snd_soc_= component *component, rt5640->use_platform_clock =3D jack_data->use_platform_clock; =20 ret =3D request_irq(rt5640->irq, rt5640_irq, - IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, "rt5640", rt5640); if (ret) { dev_warn(component->dev, "Failed to request IRQ %d: %d\n", rt5640->irq, = ret); @@ -2618,7 +2618,7 @@ static void rt5640_enable_hda_jack_detect( rt5640->jack =3D jack; =20 ret =3D request_irq(rt5640->irq, rt5640_irq, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, "rt5640", rt5640); + IRQF_TRIGGER_RISING, "rt5640", rt5640); if (ret) { dev_warn(component->dev, "Failed to request IRQ %d: %d\n", rt5640->irq, = ret); rt5640->jack =3D NULL; diff --git a/sound/soc/codecs/rt5651.c b/sound/soc/codecs/rt5651.c index 9af65a38f0ee6..23c4bf3da2982 100644 --- a/sound/soc/codecs/rt5651.c +++ b/sound/soc/codecs/rt5651.c @@ -2262,7 +2262,7 @@ static int rt5651_i2c_probe(struct i2c_client *i2c) =20 ret =3D devm_request_irq(&i2c->dev, rt5651->irq, rt5651_irq, IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING - | IRQF_ONESHOT | IRQF_NO_AUTOEN, "rt5651", rt5651); + | IRQF_NO_AUTOEN, "rt5651", rt5651); if (ret) { dev_warn(&i2c->dev, "Failed to request IRQ %d: %d\n", rt5651->irq, ret); diff --git a/sound/soc/codecs/rt5663.c b/sound/soc/codecs/rt5663.c index e4d8785e64c10..eee1c98cc4aa6 100644 --- a/sound/soc/codecs/rt5663.c +++ b/sound/soc/codecs/rt5663.c @@ -3689,8 +3689,8 @@ static int rt5663_i2c_probe(struct i2c_client *i2c) =20 if (i2c->irq) { ret =3D request_irq(i2c->irq, rt5663_irq, - IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING - | IRQF_ONESHOT, "rt5663", rt5663); + IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, + "rt5663", rt5663); if (ret) { dev_err(&i2c->dev, "%s Failed to request IRQ: %d\n", __func__, ret); --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4011E33B6D3; Fri, 23 Jan 2026 11:37:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168244; cv=none; b=YYhbJQurVxmZ5IEaWVfvf1KPD4IMQpyoAOyTFoKFSq5WFxmGyJbHO2sPe4h5OFEE9WC7cHuvHTuD0pOkQodRYHWFQ1Fi4wwFrBDiDhwTrIWalnA0GSgWHiPlYMhibubD6w/bJyMztp53iKFKUJ5AnM6JIP0KQlSw0P1XvMRi8/E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168244; c=relaxed/simple; bh=Ho2psf7/qNUddFKw3dQI1I0+XwQk++kQx5ZMVlv6P9w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iqLzIhE/xgE7Ra/EdVOkmNr+QmDfKNrCRhP0EbTtyOzkWeOVzSEk4mFXe2LafvNvpqhShZG83oDjI1WPVqN+2RijdBwXNYx9inEHwil5wbSnrJzjIro+92J6HsXTm6xT0NrCJFNax1cCVViMhc+GI9mYTOfQ7enLHQ66QvvPs6Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=o1R1Qecx; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=XHlcExbr; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="o1R1Qecx"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="XHlcExbr" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PKAdw30kiS16YSJS+M2uj7rvfnRZHv16JtZKgorXgz4=; b=o1R1Qecxpa8p513yby3Xjp1M+Xvu7NpGugDC/ZDFV8uvv1NjymABPzIu0+C7SzY4pWb4XA cnM7+apZcLN+5unC26/rwzVIHYspLyPP/1jC4IcjZsaS5a0kZ508CUPIcJ8t0CGe/ruH54 pI9SU1Q/gEjoJpRxo66lPEC4MB5HnIGp57lhZZGTRFruNcZxxIFpo67PGRLhk9hLq2XRyb /fCEi3UJiPrJylW+2Hl2W0xaoI+8SpYU7/Tkk/EdPA5zktHkZJjAnUnH1mocIgTlu8axUj goeBg1u8+eX1oMcRcilu+CpvhPYL/ZzyD31KT5Kt59dNDP28oN8cBF9e1Ab14Q== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PKAdw30kiS16YSJS+M2uj7rvfnRZHv16JtZKgorXgz4=; b=XHlcExbr1ZUWWUELsI9V+SIxudW4CmnAoNVyOn3XP3wiQl6HBAFF75KSFkdOuouykpGHBS U0WNmdeulZe6lqCA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Heikki Krogerus , Greg Kroah-Hartman , linux-usb@vger.kernel.org Subject: [PATCH 13/21] usb: typec: fusb302: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:36:59 +0100 Message-ID: <20260123113708.416727-14-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. Remove IRQF_ONESHOT from irqflags. Cc: Heikki Krogerus Cc: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org Fixes: 309b6341d5570 ("usb: typec: fusb302: Revert incorrect threaded irq f= ix") Signed-off-by: Sebastian Andrzej Siewior Acked-by: Greg Kroah-Hartman Acked-by: Heikki Krogerus --- drivers/usb/typec/tcpm/fusb302.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/usb/typec/tcpm/fusb302.c b/drivers/usb/typec/tcpm/fusb= 302.c index 870a71f953f6c..19ff8217818e7 100644 --- a/drivers/usb/typec/tcpm/fusb302.c +++ b/drivers/usb/typec/tcpm/fusb302.c @@ -1756,8 +1756,7 @@ static int fusb302_probe(struct i2c_client *client) } =20 ret =3D request_irq(chip->gpio_int_n_irq, fusb302_irq_intn, - IRQF_ONESHOT | IRQF_TRIGGER_LOW, - "fsc_interrupt_int_n", chip); + IRQF_TRIGGER_LOW, "fsc_interrupt_int_n", chip); if (ret < 0) { dev_err(dev, "cannot request IRQ for GPIO Int_N, ret=3D%d", ret); goto tcpm_unregister_port; --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7DEF4346AC5; Fri, 23 Jan 2026 11:37:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; cv=none; b=Inb+ZfBxCrxBxAlus6UBm68EWp+JG1g3VVgpSBKwA8DkPw69SG1V0tIA8Ap0pf+qwPSWiyaEwwbzKqjEUN7NLoWMi9BYU1tJytWT1NAfZyFl58yaIOB3MYggV8zLU4k9g2m6bSZoD1P8KIw2M58m8MlhhTKEU5fKlRTLapjy+Xo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168243; c=relaxed/simple; bh=nk24K0bEl4BitwMmxO29WLGaNQeAc4TWqPhaRsUShEQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=c5MdBKMpt9s319fXvqRj5aveAdBqDJwOJ9nK633E9pCVV5mulUnKBpCXGwLYyHdFSbdfqobprOjvhvw20eKMw2jfx0wwWqDBFbW5eXMTtU02nmiJe64Y9DUkIfEiFjrxuQDFPB3mGnQawyipjXFDGvuJA4ycMkjxOcu+5DvJd9o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=HFvbAMH0; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=TL2boRjs; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="HFvbAMH0"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="TL2boRjs" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I5Y2mY6Cv+HBbwUcIy8mBlx4YksTAUnqjMgEz3FoeqU=; b=HFvbAMH0Th2J1NOletGHPbs9P3Zrb7orBaP+xT9w3SFGu2KD1xIuoRW7Gwiqp5a69DarNs ZhIbznmDqinL7Ao4C62KGWzUc0Wo14IZ+BflU70z0PPwc+qcGc3u/eEdw3jseDM1uFBKjN bN8dZNP4/zj6VZDLm0glsL869qZwUEsmXOwZgtvt/1k+Z0PI9Tx2+txthQetlmgdDMRoeb 0xF+ogCleu2o+8A+s6GXfgT/QVVVLCDH/4qqhfF1R0OjVx72FFNmGhxOYFesjteozCuoN1 WApkITpex4NR7vJrRDvQsg5/ChQHDmXN8Ycn0G1u0c9CL4cLgBFwvRdyIazoJQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I5Y2mY6Cv+HBbwUcIy8mBlx4YksTAUnqjMgEz3FoeqU=; b=TL2boRjs4Jahyxe13RnYF5vB6LtjNWpivAhIPpkuT2DBVez0VyqZa/8jAKGzsi1iMdMtl7 1S2Pq5GStMwXNWDQ== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Yiting Deng , Xianwei Zhao , Alexandre Belloni , linux-amlogic@lists.infradead.org, linux-rtc@vger.kernel.org Subject: [PATCH 14/21] rtc: amlogic-a4: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:37:00 +0100 Message-ID: <20260123113708.416727-15-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. Remove IRQF_ONESHOT from irqflags. Cc: Yiting Deng Cc: Xianwei Zhao Cc: Alexandre Belloni Cc: linux-amlogic@lists.infradead.org Cc: linux-rtc@vger.kernel.org Fixes: c89ac9182ee29 ("rtc: support for the Amlogic on-chip RTC") Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Xianwei Zhao --- drivers/rtc/rtc-amlogic-a4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-amlogic-a4.c b/drivers/rtc/rtc-amlogic-a4.c index 123fb372fc9fe..50938c35af36a 100644 --- a/drivers/rtc/rtc-amlogic-a4.c +++ b/drivers/rtc/rtc-amlogic-a4.c @@ -369,7 +369,7 @@ static int aml_rtc_probe(struct platform_device *pdev) return PTR_ERR(rtc->rtc_dev); =20 ret =3D devm_request_irq(dev, rtc->irq, aml_rtc_handler, - IRQF_ONESHOT, "aml-rtc alarm", rtc); + 0, "aml-rtc alarm", rtc); if (ret) { dev_err_probe(dev, ret, "IRQ%d request failed, ret =3D %d\n", rtc->irq, ret); --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C716F350287; Fri, 23 Jan 2026 11:37:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168245; cv=none; b=ud9+JI2AK8Kg1RbVnvzXR9xWVJdZ5f8AOBOgvSuIiQtu8gcoUeu1Ev3zaKQTlvVwmr90ZON9AUTpzNiRGHktdbRR/jDvaF+RfpTtoj3opz5ctwlbMWX83VZ4zONP1m9tFnGL5MB+GrYYB0FPGluEm4sbKVSRa22tpmIP+K6VBtk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168245; c=relaxed/simple; bh=AeU2Z3IIsBlH/V1K++fvb9gACwY6twtd0hhKij4PyzE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ayFY7zT2mTi1j6EtRAbbaesxaydoyrP4x+vJvCjQujEHIf5SoLlrtYbE8oq0hVeeJUnlLLNv/YE9Xmse6nB9qLPGU5JZAAGDULdIyPiv7RfW8f/I4SrmCHFlAxSDxhSPamDchfHtkeblE9VRH0QlqCJ6IBzia9xUnp4v9t3rwUM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=nSdrrAIM; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=dtKSAdDx; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="nSdrrAIM"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="dtKSAdDx" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=g77GafIFRqc0FAdTvsw1d/1g9d1E7FYjoasG3KTC0WY=; b=nSdrrAIMbTBrDTW8ANhRsJ+9Mg42AuCRulMgWsblu1bNIFoUutvvwe3rJ4LI8ptP0hnt4L uDr/4jOnp5nzWbO9pX4lAbibzTPFmn/dLBq3XcLevuwxA3ldp3FQF7UEBLkwHJj01d3XTJ gh+323wlP3z90FLCfOgouxzF315lyX9PKFypBEAOR9uvGHK7MCGbLK6cCCTKX1v6NZbxM1 Wzhl20QVIGIQKCgBH5j2E9I9yrIfFvq8t8wyWqT4CPHZs6rtreePAWIuOmbXP8sS0AvJ1W UCDIFFbgmv01ifc9pD4vBqW18jpivEXUgZbAlpcNZNhOJUYxUqpHKKuZ7L9V/g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168238; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=g77GafIFRqc0FAdTvsw1d/1g9d1E7FYjoasG3KTC0WY=; b=dtKSAdDxeIGDiOjuPOdkckscFdN6lBCAftyjzK3wPMwV6dvojXjfz3yHri/y5XXMj6mdb4 rdGXZvAgUJgqmuBg== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Amit Kucheria , Thara Gopinath , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , linux-pm@vger.kernel.org, linux-arm-msm@vger.kernel.org Subject: [PATCH 15/21] thermal/qcom/lmh: Replace IRQF_ONESHOT with IRQF_NO_THREAD Date: Fri, 23 Jan 2026 12:37:01 +0100 Message-ID: <20260123113708.416727-16-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. The intention here was probably not allowing forced-threading. Replace IRQF_ONESHOT with IRQF_NO_THREAD. Cc: Amit Kucheria Cc: Thara Gopinath Cc: "Rafael J. Wysocki" Cc: Daniel Lezcano Cc: Zhang Rui Cc: Lukasz Luba Cc: linux-pm@vger.kernel.org Cc: linux-arm-msm@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior --- drivers/thermal/qcom/lmh.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/thermal/qcom/lmh.c b/drivers/thermal/qcom/lmh.c index ddadcfada5136..3d072b7a4a6dd 100644 --- a/drivers/thermal/qcom/lmh.c +++ b/drivers/thermal/qcom/lmh.c @@ -220,7 +220,7 @@ static int lmh_probe(struct platform_device *pdev) /* Disable the irq and let cpufreq enable it when ready to handle the int= errupt */ irq_set_status_flags(lmh_data->irq, IRQ_NOAUTOEN); ret =3D devm_request_irq(dev, lmh_data->irq, lmh_handle_irq, - IRQF_ONESHOT | IRQF_NO_SUSPEND, + IRQF_NO_THREAD | IRQF_NO_SUSPEND, "lmh-irq", lmh_data); if (ret) { dev_err(dev, "Error %d registering irq %x\n", ret, lmh_data->irq); --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1AA423502BC; Fri, 23 Jan 2026 11:37:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168245; cv=none; b=iBmI2tsyj5n6xKxihhvg2hr9ZjaS2rehwd7Ey1YypUqf+JF4psvipPLxGIiy3ghIIti9gCu9CxyYhjf13yAkZWliea3YUbyXm++EPx8JDFBdyb9px1S9U299KZkvCEF4FZ5FAOYMw5gWdnEEsUA/BroQ8tDEiRfpRSaeontLo9U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168245; c=relaxed/simple; bh=ALaJasNJ2wejbzkEys1efuxSdFHp/Xnq1TiHK0V7GUg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tXpCy7rTLe8PjWcR9bH7Hxl2HjoNj1LwElrqR7ny/vruavkdmZdEBCk/g2JTh0ht/eUNCIL3STciEzhran+rkSsntsdWHSm49xYHYTAvXA+jUksh78BKWO9RtArXAYRbZs/nBhOd4OL+1RirDkQazgnmdARhp06SIx2MDvSUhac= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=e9sCCxnq; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=e/FGfCGw; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="e9sCCxnq"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="e/FGfCGw" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I23DJBulHpzqgAw0h9OUkWIRLOPUsnKkbol9Lbu8HEU=; b=e9sCCxnqqjeoO4DxK090wj83SyzN4cbjLqFK2qtREIZJHFh0ahBUeABPtVMuGQx11wT1TB //SA/A7LlUYmtmEANfOTWL2hVsJjMyjUFaw0TzamdUagQn/LqUjOkaSQKealVDz9o9dSJ3 oWKU8q11QrMToy2BR5jAifjqD3jdfl/kW34IKyoSe8Rf3mBXQYN+2xPnGsol4Z1xs1HkSb q+jqxX52G0BV5IoGS+pI+CNTkQEdrU2YLnEG7zVP8u/+BXJknqTBvy/koQMqOx/F8LKsoZ iyd9T+c3TU+Mw/9Ik3id+/BwGeEXOF4XjJFZjGDG/VZC51Slyzv5oxeQcwRAeg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=I23DJBulHpzqgAw0h9OUkWIRLOPUsnKkbol9Lbu8HEU=; b=e/FGfCGw4PQm3cyF+oX/zpaEurklrzAnx7eetDocbSXoSdtioeURqNrLhEHiLnmOqf63Fg eIFe7/TntY1CXLDA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Jonathan Cameron , Will Deacon , Mark Rutland , linux-cxl@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 16/21] perf/cxlpmu: Replace IRQF_ONESHOT with IRQF_NO_THREAD Date: Fri, 23 Jan 2026 12:37:02 +0100 Message-ID: <20260123113708.416727-17-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. The intention here was probably not allowing forced-threading. Replace IRQF_ONESHOT with IRQF_NO_THREAD. Cc: Jonathan Cameron Cc: Will Deacon Cc: Mark Rutland Cc: linux-cxl@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Jonathan Cameron --- drivers/perf/cxl_pmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/perf/cxl_pmu.c b/drivers/perf/cxl_pmu.c index d094030220bf2..68a54d97d2a8a 100644 --- a/drivers/perf/cxl_pmu.c +++ b/drivers/perf/cxl_pmu.c @@ -877,7 +877,7 @@ static int cxl_pmu_probe(struct device *dev) if (!irq_name) return -ENOMEM; =20 - rc =3D devm_request_irq(dev, irq, cxl_pmu_irq, IRQF_SHARED | IRQF_ONESHOT, + rc =3D devm_request_irq(dev, irq, cxl_pmu_irq, IRQF_SHARED | IRQF_NO_THRE= AD, irq_name, info); if (rc) return rc; --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BEEF5305E19 for ; Fri, 23 Jan 2026 11:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168247; cv=none; b=qJrxPhjIDFGoNpD2Y0g4n2GTiou2CJn6teVhSTYFeXOchpFrK9X1RI66Jt91rfP2kiEzsDWGYNEYyOQniDLwMLqA9VT5XrBzNGoa+DGOjWW+HYrqMqPuHoQu3MdZf2Gn0U9HwoqcMqsnSLY6rMzcCbO8MQSAe4tlgbZ5idjFQ8s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168247; c=relaxed/simple; bh=7S6roLtR2ILWMTt6k1VjruCZla33TpE5dDkqi47ng2E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qbQnB5x7jYUAeYPTCgKICSlpclnnDbo7zeOtEuPzodHYBYUMj6HLmepCRI/cGwmLyBmg5fn/anSuPYTSexw0UREzxQzVP9pkB13TI9Z8g46HXO0cc56t71VYipd+wCVLMpiBAdRfxkdz5EQyezO1j7AiqA5fgqKXHOTNE5jpi9M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=FoM/+mTv; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=/FqJyzLi; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="FoM/+mTv"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="/FqJyzLi" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UuGZdWBY87PO10lLpZUmYDO4z+8I9ptGVyLBptz6r3Q=; b=FoM/+mTvXQh+IlIjj5sQr2L+31X8A7ne6u27SqaGMbvmf0C2n+LUMwcJMiY5kUWsTMQOJr EX3df1nkEdWwWUKLREBzXRLAi3YoUcLDF7Tky7F+GCXhTlXCv+cL1XPgcRKuFFSEr3MF8U H/VHJZRF4AhhQwSTBgjsywbOIS5aU6aDlyRAwiRJVrdqhTH5aFKO7vL19SF3WzU0vzUCSL TjF7Snin0kI1SLHapcQy13ydgeqRR5GGQzNSncGLP7Y96WRnXV5SGzv+Yqvzal7e0WpQnP 4D2Ru5/8b7/vfMtNke/MowoF0tAebuBlOwKyuYQSehS4hAfanQABhMO7NoXo/g== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168239; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UuGZdWBY87PO10lLpZUmYDO4z+8I9ptGVyLBptz6r3Q=; b=/FqJyzLipZ2EWyZRKLaLuPjj7SWd4p2VwnGnaXolZfN6wtB99EmsXIlLdjo4XinbVgMvSR lbjeGqTOAXUxagAQ== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Lee Jones , Andy Shevchenko , patches@opensource.cirrus.com, Mark Brown Subject: [PATCH 17/21] mfd: wm8350-core: Use IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:37:03 +0100 Message-ID: <20260123113708.416727-18-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Using a threaded interrupt without a dedicated primary handler mandates the IRQF_ONESHOT flag to mask the interrupt source while the threaded handler is active. Otherwise the interrupt can fire again before the threaded handler had a chance to run. Mark explained that this should not happen with this hardware since it a slow irqchip which is behind an I2C/ SPI bus but the IRQ-core will refuse to accept such a handler. Set IRQF_ONESHOT so the interrupt source is masked until the secondary handler is done. Cc: Lee Jones Cc: Andy Shevchenko Cc: patches@opensource.cirrus.com Cc: Mark Brown Fixes: 1c6c69525b40e ("genirq: Reject bogus threaded irq requests") Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Charles Keepax --- include/linux/mfd/wm8350/core.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/mfd/wm8350/core.h b/include/linux/mfd/wm8350/cor= e.h index 5f70d3b5d1b1a..097ef4dfcdac8 100644 --- a/include/linux/mfd/wm8350/core.h +++ b/include/linux/mfd/wm8350/core.h @@ -667,7 +667,7 @@ static inline int wm8350_register_irq(struct wm8350 *wm= 8350, int irq, return -ENODEV; =20 return request_threaded_irq(irq + wm8350->irq_base, NULL, - handler, flags, name, data); + handler, flags | IRQF_ONESHOT, name, data); } =20 static inline void wm8350_free_irq(struct wm8350 *wm8350, int irq, void *d= ata) --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 227ED31AF15; Fri, 23 Jan 2026 11:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168249; cv=none; b=L7b8oe/C5h/FbmBuCWB9igj8KeUi9943/2PnaWXQmDNHjv9K7jXEntgRh48gF9ZgXd2KBRbUH4LDVDT4FoUp/JX2/uiwYQqAcI0lyFtIkjlFN0LxMugTQFw0sRaSHDEBXfng4ajDbik7JAYZ0rF7OvMkIoHH60m8HmffDR7mHDk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168249; c=relaxed/simple; bh=FjviVe9hw3O0sH98GFciIEVxbQPdeq7Z2XjQxq6OdtE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ryg5+50zp4K8uBOZaYrCU+L8td9r+YuF89oKjF0R6/RVZmAlC7MBd8OX8EGf4W8eQEOKaWpaGbP1TdUC1o34pfWMfWGFOUPljFkMKJwWMpjl29etiXpFlU8BCicegkOQ+3OkOFuMEgzk2j/6l3+vRWQAL8yYN3uX0UQJQi0UQoU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=iFX55DW9; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=pnENJyQC; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="iFX55DW9"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="pnENJyQC" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BhDVw/re8Us/BKhcBbZUB11czTqPwLC3uUV7N1+cp/8=; b=iFX55DW9KDoOZazq/yTKP337Jh0P3rkIRBrJG3nBQUQeiu+s4m+7Zcu+Exszvw9qnO0622 U42F2ET8iJzmqGekrMP12YbfUZbzxBSkWUtOy/uSmDWkftVuBBIVjyTFCebU8FvnPK2Jmn IP3KyuaOY+gVjEIDMXPHzRn/HKVZYTPV7JdC3zgHtauzjqxrILCDPOCqC3KHNRbkEv60ac g28TE9905rpDZJ/LO/9drMr0yoCjKBXiky9hy1dLbyHzRppIGJHqWaRYKxhRVq9NnslC2+ jy16DL076DV6AJiYgrrituW0v1+GBGzOu8Xht5DEkMTcAuSY5323JWCuOQbqlw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BhDVw/re8Us/BKhcBbZUB11czTqPwLC3uUV7N1+cp/8=; b=pnENJyQCAjUq6VkA2VMRk0An+WxnyOQoGkmm04Az94edApqpcTiveZk1ekOCOSXpSnhafj SwzUSRhIJfSNVNDQ== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Lars-Peter Clausen , Michael Hennerich , Puranjay Mohan , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Marcelo Schmitt , Marcus Folkesson , Kent Gustavsson , Gustavo Silva , Nishant Malpani , linux-iio@vger.kernel.org Subject: [PATCH 18/21] iio: Replace IRQF_ONESHOT with IRQF_NO_THREAD Date: Fri, 23 Jan 2026 12:37:04 +0100 Message-ID: <20260123113708.416727-19-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. The intention here was probably not allowing forced-threading for handlers such as iio_trigger_generic_data_rdy_poll() will intends to invoke hard-interrupt handlers. Replace IRQF_ONESHOT with IRQF_NO_THREAD. Cc: Lars-Peter Clausen Cc: Michael Hennerich Cc: Puranjay Mohan Cc: Jonathan Cameron Cc: David Lechner Cc: "Nuno S=C3=A1" Cc: Andy Shevchenko Cc: Marcelo Schmitt Cc: Marcus Folkesson Cc: Kent Gustavsson Cc: Gustavo Silva Cc: Nishant Malpani Cc: linux-iio@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Andy Shevchenko Reviewed-by: Marcus Folkesson Reviewed-by: Nuno S=C3=A1 --- drivers/iio/accel/adxl355_core.c | 3 ++- drivers/iio/accel/adxl372.c | 9 ++++----- drivers/iio/accel/mxc4005.c | 11 ++++------- drivers/iio/accel/stk8ba50.c | 11 ++++------- drivers/iio/adc/ad4170-4.c | 2 +- drivers/iio/adc/ad7768-1.c | 5 ++--- drivers/iio/adc/ad7779.c | 2 +- drivers/iio/adc/mcp3911.c | 2 +- drivers/iio/adc/ti-ads131e08.c | 2 +- drivers/iio/chemical/ens160_core.c | 9 +++------ drivers/iio/gyro/adxrs290.c | 2 +- drivers/iio/health/afe4403.c | 9 ++++----- drivers/iio/health/afe4404.c | 9 ++++----- drivers/iio/magnetometer/bmc150_magn.c | 9 +++------ drivers/iio/pressure/dlhl60d.c | 6 +++--- drivers/iio/temperature/tmp006.c | 10 ++++------ 16 files changed, 42 insertions(+), 59 deletions(-) diff --git a/drivers/iio/accel/adxl355_core.c b/drivers/iio/accel/adxl355_c= ore.c index 5fc7f814b9077..04caa493176d3 100644 --- a/drivers/iio/accel/adxl355_core.c +++ b/drivers/iio/accel/adxl355_core.c @@ -770,7 +770,8 @@ static int adxl355_probe_trigger(struct iio_dev *indio_= dev, int irq) =20 ret =3D devm_request_irq(data->dev, irq, &iio_trigger_generic_data_rdy_poll, - IRQF_ONESHOT, "adxl355_irq", data->dready_trig); + IRQF_NO_THREAD, + "adxl355_irq", data->dready_trig); if (ret) return dev_err_probe(data->dev, ret, "request irq %d failed\n", irq); diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c index 46d518a2a0291..2f6aa52aeba51 100644 --- a/drivers/iio/accel/adxl372.c +++ b/drivers/iio/accel/adxl372.c @@ -1247,11 +1247,10 @@ int adxl372_probe(struct device *dev, struct regmap= *regmap, =20 indio_dev->trig =3D iio_trigger_get(st->dready_trig); =20 - ret =3D devm_request_threaded_irq(dev, st->irq, - iio_trigger_generic_data_rdy_poll, - NULL, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, - indio_dev->name, st->dready_trig); + ret =3D devm_request_irq(dev, st->irq, + iio_trigger_generic_data_rdy_poll, + IRQF_TRIGGER_RISING | IRQF_NO_THREAD, + indio_dev->name, st->dready_trig); if (ret < 0) return ret; } diff --git a/drivers/iio/accel/mxc4005.c b/drivers/iio/accel/mxc4005.c index ac973d871c8bb..a2c3cf13d0981 100644 --- a/drivers/iio/accel/mxc4005.c +++ b/drivers/iio/accel/mxc4005.c @@ -486,13 +486,10 @@ static int mxc4005_probe(struct i2c_client *client) if (!data->dready_trig) return -ENOMEM; =20 - ret =3D devm_request_threaded_irq(&client->dev, client->irq, - iio_trigger_generic_data_rdy_poll, - NULL, - IRQF_TRIGGER_FALLING | - IRQF_ONESHOT, - "mxc4005_event", - data->dready_trig); + ret =3D devm_request_irq(&client->dev, client->irq, + iio_trigger_generic_data_rdy_poll, + IRQF_TRIGGER_FALLING | IRQF_NO_THREAD, + "mxc4005_event", data->dready_trig); if (ret) { dev_err(&client->dev, "failed to init threaded irq\n"); diff --git a/drivers/iio/accel/stk8ba50.c b/drivers/iio/accel/stk8ba50.c index 384f1fbcbcb37..a9ff2a273fe1c 100644 --- a/drivers/iio/accel/stk8ba50.c +++ b/drivers/iio/accel/stk8ba50.c @@ -428,13 +428,10 @@ static int stk8ba50_probe(struct i2c_client *client) } =20 if (client->irq > 0) { - ret =3D devm_request_threaded_irq(&client->dev, client->irq, - stk8ba50_data_rdy_trig_poll, - NULL, - IRQF_TRIGGER_RISING | - IRQF_ONESHOT, - "stk8ba50_event", - indio_dev); + ret =3D devm_request_irq(&client->dev, client->irq, + stk8ba50_data_rdy_trig_poll, + IRQF_TRIGGER_RISING | IRQF_NO_THREAD, + "stk8ba50_event", indio_dev); if (ret < 0) { dev_err(&client->dev, "request irq %d failed\n", client->irq); diff --git a/drivers/iio/adc/ad4170-4.c b/drivers/iio/adc/ad4170-4.c index efaed92191f1b..82205bfae531e 100644 --- a/drivers/iio/adc/ad4170-4.c +++ b/drivers/iio/adc/ad4170-4.c @@ -2973,7 +2973,7 @@ static int ad4170_probe(struct spi_device *spi) =20 if (spi->irq) { ret =3D devm_request_irq(dev, spi->irq, &ad4170_irq_handler, - IRQF_ONESHOT, indio_dev->name, indio_dev); + IRQF_NO_THREAD, indio_dev->name, indio_dev); if (ret) return ret; =20 diff --git a/drivers/iio/adc/ad7768-1.c b/drivers/iio/adc/ad7768-1.c index d96802b7847a6..84ce23c8e5782 100644 --- a/drivers/iio/adc/ad7768-1.c +++ b/drivers/iio/adc/ad7768-1.c @@ -1394,9 +1394,8 @@ static int ad7768_probe(struct spi_device *spi) if (ret) return ret; =20 - ret =3D devm_request_irq(&spi->dev, spi->irq, - &ad7768_interrupt, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, + ret =3D devm_request_irq(&spi->dev, spi->irq, &ad7768_interrupt, + IRQF_TRIGGER_RISING | IRQF_NO_THREAD, indio_dev->name, indio_dev); if (ret) return ret; diff --git a/drivers/iio/adc/ad7779.c b/drivers/iio/adc/ad7779.c index aac5049c9a07b..695cc79e78da5 100644 --- a/drivers/iio/adc/ad7779.c +++ b/drivers/iio/adc/ad7779.c @@ -840,7 +840,7 @@ static int ad7779_setup_without_backend(struct ad7779_s= tate *st, struct iio_dev iio_trigger_set_drvdata(st->trig, st); =20 ret =3D devm_request_irq(dev, st->spi->irq, iio_trigger_generic_data_rdy_= poll, - IRQF_ONESHOT | IRQF_NO_AUTOEN, indio_dev->name, + IRQF_NO_THREAD | IRQF_NO_AUTOEN, indio_dev->name, st->trig); if (ret) return dev_err_probe(dev, ret, "request IRQ %d failed\n", diff --git a/drivers/iio/adc/mcp3911.c b/drivers/iio/adc/mcp3911.c index a6f21791c6859..ddc3721f3f688 100644 --- a/drivers/iio/adc/mcp3911.c +++ b/drivers/iio/adc/mcp3911.c @@ -815,7 +815,7 @@ static int mcp3911_probe(struct spi_device *spi) * don't enable the interrupt to avoid extra load on the system. */ ret =3D devm_request_irq(dev, spi->irq, &iio_trigger_generic_data_rdy_po= ll, - IRQF_NO_AUTOEN | IRQF_ONESHOT, + IRQF_NO_AUTOEN | IRQF_NO_THREAD, indio_dev->name, adc->trig); if (ret) return ret; diff --git a/drivers/iio/adc/ti-ads131e08.c b/drivers/iio/adc/ti-ads131e08.c index c9a20024d6b11..a585621b0bc30 100644 --- a/drivers/iio/adc/ti-ads131e08.c +++ b/drivers/iio/adc/ti-ads131e08.c @@ -827,7 +827,7 @@ static int ads131e08_probe(struct spi_device *spi) if (spi->irq) { ret =3D devm_request_irq(&spi->dev, spi->irq, ads131e08_interrupt, - IRQF_TRIGGER_FALLING | IRQF_ONESHOT, + IRQF_TRIGGER_FALLING | IRQF_NO_THREAD, spi->dev.driver->name, indio_dev); if (ret) return dev_err_probe(&spi->dev, ret, diff --git a/drivers/iio/chemical/ens160_core.c b/drivers/iio/chemical/ens1= 60_core.c index 86bde4a91bf7e..bbc96c4c62838 100644 --- a/drivers/iio/chemical/ens160_core.c +++ b/drivers/iio/chemical/ens160_core.c @@ -316,12 +316,9 @@ static int ens160_setup_trigger(struct iio_dev *indio_= dev, int irq) =20 indio_dev->trig =3D iio_trigger_get(trig); =20 - ret =3D devm_request_threaded_irq(dev, irq, - iio_trigger_generic_data_rdy_poll, - NULL, - IRQF_ONESHOT, - indio_dev->name, - indio_dev->trig); + ret =3D devm_request_irq(dev, irq, iio_trigger_generic_data_rdy_poll, + IRQF_NO_THREAD, indio_dev->name, + indio_dev->trig); if (ret) return dev_err_probe(dev, ret, "failed to request irq\n"); =20 diff --git a/drivers/iio/gyro/adxrs290.c b/drivers/iio/gyro/adxrs290.c index 8fcb41f45baac..3efe385ebedc4 100644 --- a/drivers/iio/gyro/adxrs290.c +++ b/drivers/iio/gyro/adxrs290.c @@ -597,7 +597,7 @@ static int adxrs290_probe_trigger(struct iio_dev *indio= _dev) =20 ret =3D devm_request_irq(&st->spi->dev, st->spi->irq, &iio_trigger_generic_data_rdy_poll, - IRQF_ONESHOT, "adxrs290_irq", st->dready_trig); + IRQF_NO_THREAD, "adxrs290_irq", st->dready_trig); if (ret < 0) return dev_err_probe(&st->spi->dev, ret, "request irq %d failed\n", st->spi->irq); diff --git a/drivers/iio/health/afe4403.c b/drivers/iio/health/afe4403.c index 0e5a512e3bb8f..d358f4d5e5da8 100644 --- a/drivers/iio/health/afe4403.c +++ b/drivers/iio/health/afe4403.c @@ -540,11 +540,10 @@ static int afe4403_probe(struct spi_device *spi) return ret; } =20 - ret =3D devm_request_threaded_irq(dev, afe->irq, - iio_trigger_generic_data_rdy_poll, - NULL, IRQF_ONESHOT, - AFE4403_DRIVER_NAME, - afe->trig); + ret =3D devm_request_irq(dev, afe->irq, + iio_trigger_generic_data_rdy_poll, + IRQF_NO_THREAD, AFE4403_DRIVER_NAME, + afe->trig); if (ret) { dev_err(dev, "Unable to request IRQ\n"); return ret; diff --git a/drivers/iio/health/afe4404.c b/drivers/iio/health/afe4404.c index 768d794e574b9..032da52a96d0e 100644 --- a/drivers/iio/health/afe4404.c +++ b/drivers/iio/health/afe4404.c @@ -547,11 +547,10 @@ static int afe4404_probe(struct i2c_client *client) return ret; } =20 - ret =3D devm_request_threaded_irq(dev, afe->irq, - iio_trigger_generic_data_rdy_poll, - NULL, IRQF_ONESHOT, - AFE4404_DRIVER_NAME, - afe->trig); + ret =3D devm_request_irq(dev, afe->irq, + iio_trigger_generic_data_rdy_poll, + IRQF_NO_THREAD, AFE4404_DRIVER_NAME, + afe->trig); if (ret) { dev_err(dev, "Unable to request IRQ\n"); return ret; diff --git a/drivers/iio/magnetometer/bmc150_magn.c b/drivers/iio/magnetome= ter/bmc150_magn.c index 6a73f6e2f1f06..a022e1805dff7 100644 --- a/drivers/iio/magnetometer/bmc150_magn.c +++ b/drivers/iio/magnetometer/bmc150_magn.c @@ -906,12 +906,9 @@ int bmc150_magn_probe(struct device *dev, struct regma= p *regmap, goto err_poweroff; } =20 - ret =3D request_threaded_irq(irq, - iio_trigger_generic_data_rdy_poll, - NULL, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, - "bmc150_magn_event", - data->dready_trig); + ret =3D request_irq(irq, iio_trigger_generic_data_rdy_poll, + IRQF_TRIGGER_RISING | IRQF_NO_THREAD, + "bmc150_magn_event", data->dready_trig); if (ret < 0) { dev_err(dev, "request irq %d failed\n", irq); goto err_trigger_unregister; diff --git a/drivers/iio/pressure/dlhl60d.c b/drivers/iio/pressure/dlhl60d.c index 8bad7162fec64..e975b733ce0a1 100644 --- a/drivers/iio/pressure/dlhl60d.c +++ b/drivers/iio/pressure/dlhl60d.c @@ -306,9 +306,9 @@ static int dlh_probe(struct i2c_client *client) indio_dev->num_channels =3D ARRAY_SIZE(dlh_channels); =20 if (client->irq > 0) { - ret =3D devm_request_threaded_irq(&client->dev, client->irq, - dlh_interrupt, NULL, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, + ret =3D devm_request_irq(&client->dev, client->irq, + dlh_interrupt, + IRQF_TRIGGER_RISING | IRQF_NO_THREAD, st->info->name, indio_dev); if (ret) { dev_err(&client->dev, "failed to allocate threaded irq"); diff --git a/drivers/iio/temperature/tmp006.c b/drivers/iio/temperature/tmp= 006.c index 10bd3f221929d..d8d8c8936d177 100644 --- a/drivers/iio/temperature/tmp006.c +++ b/drivers/iio/temperature/tmp006.c @@ -356,12 +356,10 @@ static int tmp006_probe(struct i2c_client *client) =20 indio_dev->trig =3D iio_trigger_get(data->drdy_trig); =20 - ret =3D devm_request_threaded_irq(&client->dev, client->irq, - iio_trigger_generic_data_rdy_poll, - NULL, - IRQF_ONESHOT, - "tmp006_irq", - data->drdy_trig); + ret =3D devm_request_irq(&client->dev, client->irq, + iio_trigger_generic_data_rdy_poll, + IRQF_NO_THREAD, "tmp006_irq", + data->drdy_trig); if (ret < 0) return ret; } --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2A57D35CB9C; Fri, 23 Jan 2026 11:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168248; cv=none; b=L1RtIRjr6FzwlTLuwLxZdrLh8ztDYN9LZb20iEXlCBDSx0FrEsSU52WsR2Kij0hMPQo5F2NY8ZP6YzcXJmMvteGPWRQQEV9DbVGCsj0QdVlxJWv3VeuUwwsvnpUXtHnB7m2ORdq/p3GVxYpiDkR512GVBRCoNgkyvmGLr2a5Mlw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168248; c=relaxed/simple; bh=aiGlVd1BN8puUjJE6R0x7uIAwGUTd87MrPMBKwUJFWU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uGwkPTh879GRD6RuQcahQQIZqSAUnmjuRtKUc0z4XHk8qoFk1RU0cyzEb/tddv+FANrzTgBfjPxqBKOzEEGLxeDDlZpUkAVmNz4w+ZBX4evNpI6yXvwQVzEvE83nmkpIE8lsJTu+v3+Gdywdkbh2sFU0a2SZTK9tP0wnIG8vTd8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=MZJ8YFCK; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=Ns2N6DET; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="MZJ8YFCK"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="Ns2N6DET" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vpXBre8hOpdCJLr/q1ncOEZ+dMlHMQh3hprNMSGTivM=; b=MZJ8YFCKYKRuYMBkOMwk1ji4zbhy2xZw/yO7gMCTZ1m9rUvc9BFw/VxHOAGZ+hvKerSPnZ WnO9L6brsbRsFvNyKLL0SDcheWanKqbrC50sheXdTTtvXqzpvF1BAlABsY4qSlXL5ZPuH3 fibX3fr4tt66KhL5TN09ryv/bQ8WcCfYqHLbLA/CP2NqL36W9bE3NuOYJWN6xGZO5VzdNe tlYABjRBhbyqaKvRwOftidCThKZKDLVFM++WGiEdVCsydInGE2yWIo/YVsCAqX+Xr5AOG3 IvWJklgo4LgF8o98m9J1p97yHg0y3fINrBf9iF/P7HYMAV1XYAi3ZShITPMaKg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vpXBre8hOpdCJLr/q1ncOEZ+dMlHMQh3hprNMSGTivM=; b=Ns2N6DET06fM6N7BGIt/OWS3nTl68HOB4wqPKt/rAyDHSVBy4GvoHUuLBBAizGSeSyXGe8 TaII2TOz775HpkAA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , Lars-Peter Clausen , Michael Hennerich , linux-iio@vger.kernel.org Subject: [PATCH 19/21] iio: Use IRQF_NO_THREAD Date: Fri, 23 Jan 2026 12:37:05 +0100 Message-ID: <20260123113708.416727-20-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The interrupt handler iio_trigger_generic_data_rdy_poll() will invoke other interrupt handler and this supposed to happen from within the hardirq. Use IRQF_NO_THREAD to forbid forced-threading. Cc: Jonathan Cameron Cc: David Lechner Cc: "Nuno S=C3=A1" Cc: Andy Shevchenko Cc: Lars-Peter Clausen Cc: Michael Hennerich Cc: linux-iio@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior --- drivers/iio/accel/bma180.c | 5 +++-- drivers/iio/adc/ad7766.c | 10 ++-------- drivers/iio/gyro/itg3200_buffer.c | 2 +- drivers/iio/light/si1145.c | 2 +- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c index 8925f5279e627..7bc6761f51354 100644 --- a/drivers/iio/accel/bma180.c +++ b/drivers/iio/accel/bma180.c @@ -986,8 +986,9 @@ static int bma180_probe(struct i2c_client *client) } =20 ret =3D devm_request_irq(dev, client->irq, - iio_trigger_generic_data_rdy_poll, IRQF_TRIGGER_RISING, - "bma180_event", data->trig); + iio_trigger_generic_data_rdy_poll, + IRQF_TRIGGER_RISING | IRQF_NO_THREAD, + "bma180_event", data->trig); if (ret) { dev_err(dev, "unable to request IRQ\n"); goto err_trigger_free; diff --git a/drivers/iio/adc/ad7766.c b/drivers/iio/adc/ad7766.c index 4d570383ef025..9e4a66477d2d0 100644 --- a/drivers/iio/adc/ad7766.c +++ b/drivers/iio/adc/ad7766.c @@ -184,12 +184,6 @@ static const struct iio_info ad7766_info =3D { .read_raw =3D &ad7766_read_raw, }; =20 -static irqreturn_t ad7766_irq(int irq, void *private) -{ - iio_trigger_poll(private); - return IRQ_HANDLED; -} - static int ad7766_set_trigger_state(struct iio_trigger *trig, bool enable) { struct ad7766 *ad7766 =3D iio_trigger_get_drvdata(trig); @@ -260,8 +254,8 @@ static int ad7766_probe(struct spi_device *spi) * Some platforms might not allow the option to power it down so * don't enable the interrupt to avoid extra load on the system */ - ret =3D devm_request_irq(&spi->dev, spi->irq, ad7766_irq, - IRQF_TRIGGER_FALLING | IRQF_NO_AUTOEN, + ret =3D devm_request_irq(&spi->dev, spi->irq, iio_trigger_generic_data_r= dy_poll, + IRQF_TRIGGER_FALLING | IRQF_NO_AUTOEN | IRQF_NO_THREAD, dev_name(&spi->dev), ad7766->trig); if (ret < 0) diff --git a/drivers/iio/gyro/itg3200_buffer.c b/drivers/iio/gyro/itg3200_b= uffer.c index a624400a239cb..767b87b7feea7 100644 --- a/drivers/iio/gyro/itg3200_buffer.c +++ b/drivers/iio/gyro/itg3200_buffer.c @@ -120,7 +120,7 @@ int itg3200_probe_trigger(struct iio_dev *indio_dev) =20 ret =3D request_irq(st->i2c->irq, &iio_trigger_generic_data_rdy_poll, - IRQF_TRIGGER_RISING, + IRQF_NO_THREAD | IRQF_TRIGGER_RISING, "itg3200_data_rdy", st->trig); if (ret) diff --git a/drivers/iio/light/si1145.c b/drivers/iio/light/si1145.c index f8eb251eca8dc..ef0abc4499b74 100644 --- a/drivers/iio/light/si1145.c +++ b/drivers/iio/light/si1145.c @@ -1248,7 +1248,7 @@ static int si1145_probe_trigger(struct iio_dev *indio= _dev) =20 ret =3D devm_request_irq(&client->dev, client->irq, iio_trigger_generic_data_rdy_poll, - IRQF_TRIGGER_FALLING, + IRQF_TRIGGER_FALLING | IRQF_NO_THREAD, "si1145_irq", trig); if (ret < 0) { --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C07F435C1A2; Fri, 23 Jan 2026 11:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168247; cv=none; b=FUABQ4Qm/cSFEJkPt3pNn3oAkUMljgJJRseBa8MDtHPC5IMt7Wds0crhkh9hLfx9iz0bvT6qlFcDcJBngy0jRVj0droNBaFE+WoVyYNea2DT5fohWwJWkSo2Xe5HZ3/qhs3aDi74cYyDTJFCTUMND/9zqHrQByqNCcMw0A0Sg7A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168247; c=relaxed/simple; bh=vIczClc3L+ZkHkVsSpNfq/q11uqYd3Qnw0GzCL2KdpQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Vh1zJlHs+E784/ZrZZ+FYqCCOx2Esqvxw2OHHBNmGOM0cvnUAQJNkJ05HK49vVFbqYmZoPXNRtgKHfhoHaTKKlIrvJfxsCBXf6LNIdKbwb0TOjOi6VQNle46kvmmoo+C+ytCEfCPoPSjRG+TjjixM2H56RiNDADTQXaYxR5Q11A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=d7gTBJwq; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=SjDsxl1b; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="d7gTBJwq"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="SjDsxl1b" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Sl9nxX2SYIE0FPFj1PICaucmWXvC8UFH0lqaW4a3QRk=; b=d7gTBJwqWu1/i93HjGI4i8O3WWlntyfw2Y+GUawJpVNqI4BewHYFOiYO2hEuMRnmrTE7GK TLleyiAyiYGpthbO3JesNquobYKS8+Vki/yTQv3DqlFFET0YXbyW8rzTthCDPF6etanq6K Q3ypQmR4ltQ6mzeHYDAzAkkMWOYZsOnksPHN1mWACsO5vFZozQZkeiWyFBKfygNmPkLpMY gdPr25HBx+rjLRk3cANI2gg3nnPvtaFM9xyZFPk0nFhAR5DpHGwAllEumKvLKhOi4115kW vgtjSVlOxm6y2isNHyMXXZag+pZU31iwR3q5TdIDHIZgnwHFeSaRsxfAdvyQCg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168240; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Sl9nxX2SYIE0FPFj1PICaucmWXvC8UFH0lqaW4a3QRk=; b=SjDsxl1b7xpJkADeaZGljWS5VK0SRl3ffFVRm/HFBzkVPplbGuxfnSjMnb4WXchTkJ4PyF lj3CAMBl82idT5AA== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Jonathan Cameron , David Lechner , =?UTF-8?q?Nuno=20S=C3=A1?= , Andy Shevchenko , linux-iio@vger.kernel.org Subject: [PATCH 20/21] iio: magnetometer: Remove IRQF_ONESHOT Date: Fri, 23 Jan 2026 12:37:06 +0100 Message-ID: <20260123113708.416727-21-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Passing IRQF_ONESHOT ensures that the interrupt source is masked until the secondary (threaded) handler is done. If only a primary handler is used then the flag makes no sense because the interrupt can not fire (again) while its handler is running. The flag also disallows force-threading of the primary handler and the irq-core will warn about this. The force-threading functionality is required on PREEMPT_RT because the handler is using locks with can sleep on PREEMPT_RT. Remove IRQF_ONESHOT from irqflags. Cc: Jonathan Cameron Cc: David Lechner Cc: "Nuno S=C3=A1" Cc: Andy Shevchenko Cc: linux-iio@vger.kernel.org Signed-off-by: Sebastian Andrzej Siewior Reviewed-by: Nuno S=C3=A1 Tested-by: Geert Uytterhoeven --- drivers/iio/magnetometer/ak8975.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/a= k8975.c index 3fd0171e5d69b..d30315ad85ded 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -581,7 +581,7 @@ static int ak8975_setup_irq(struct ak8975_data *data) irq =3D gpiod_to_irq(data->eoc_gpiod); =20 rc =3D devm_request_irq(&client->dev, irq, ak8975_irq_handler, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, + IRQF_TRIGGER_RISING, dev_name(&client->dev), data); if (rc < 0) { dev_err(&client->dev, "irq %d request failed: %d\n", irq, rc); --=20 2.51.0 From nobody Sat Feb 7 07:25:46 2026 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF8CC35B64A; Fri, 23 Jan 2026 11:37:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168248; cv=none; b=PYU3S8EC8JQlP6O5/J6jvxJ0SrlqHoxW1BspoAiTSa8tW80xtU6X1FW+P0pMbjGKtJRmG9rBTpiNQQNKvknvRsWSoNGWNVU5iAwzdjlxiRWvj8GFmFPV86V0hgqUJ1WHPIjrm75Fnl0s2BSQDDsOlJGrr8n5sGBiD+Nm9p76gm4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769168248; c=relaxed/simple; bh=yvzDIWWhEANEW4PbM7NkDFVfHEP4kbyT4pI78b1eorY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=K17B5rC01DJbI5X5gP5jD1Nv9s7jF7VP+pf8VX7vcAM8wARNvX3piYt6qxSSzeMBv+AX7xuCMucxn71wydpjQ4zrWOMgSVVRDwnp6veS4zQ1UM997y+XgBHYzKWs4leuhO2mjRNoG+6IESSub2xfgxVS8O9+9yGSFUU2VJb7g9Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=uNZGBqF2; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=dkAtlJcA; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="uNZGBqF2"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="dkAtlJcA" From: Sebastian Andrzej Siewior DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1769168241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=j0rNXMOI7j3rGJB/+4/ynkZTe41c0CB08LUfoR/1ch8=; b=uNZGBqF2HBQ4IjF5XXI4RozcvOK0eDbvgtmfG3q71PLU6NCUkKEFNjV8fZeR8a2qh48Yqm Ie1qPqfVpsX4Bzrc5tSyeendqZ+wX/WNbfLfSYYNBBRqGyHlc6ZF4X3NUwz67joHp9fWnw W/1YqLxQfVzOx/VINgiFFmJqa/vJEi296otWYOVvFYI3DxlBnO/S+bOWlAXDvkBMKiuAb9 vuTdLx9BNZPVwtaU9PG6DhDeRAJ6UgcGHPdtf2iZOKBMkw0xtMVUAZoNheQdMTiY1fQIOe sUAZc9vBp5+kUeeP79j9jUeGLP0IySpLzlhzdala4dONB5ckgT/SLQgOxx2wkA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1769168241; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=j0rNXMOI7j3rGJB/+4/ynkZTe41c0CB08LUfoR/1ch8=; b=dkAtlJcA7fdbuGNJCEXB5q7Mg1SR+dw/uCacVMHfsWwoydSrUM9TZgaDLaMNF3c4rMzVbJ FMLVSwbz7y0a9zDg== To: linux-kernel@vger.kernel.org Cc: linux-rt-devel@lists.linux.dev, Thomas Gleixner , Sebastian Andrzej Siewior , Martin Tuma , Mauro Carvalho Chehab , linux-media@vger.kernel.org Subject: [PATCH 21/21] media: pci: mg4b: Use IRQF_NO_THREAD Date: Fri, 23 Jan 2026 12:37:07 +0100 Message-ID: <20260123113708.416727-22-bigeasy@linutronix.de> In-Reply-To: <20260123113708.416727-1-bigeasy@linutronix.de> References: <20260123113708.416727-1-bigeasy@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The interrupt handler iio_trigger_generic_data_rdy_poll() will invoke other interrupt handler and this supposed to happen from within the hardirq. Use IRQF_NO_THREAD to forbid forced-threading. Cc: Martin Tuma Cc: Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org Fixes: 0ab13674a9bd1 ("media: pci: mgb4: Added Digiteq Automotive MGB4 driv= er") Signed-off-by: Sebastian Andrzej Siewior --- drivers/media/pci/mgb4/mgb4_trigger.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/pci/mgb4/mgb4_trigger.c b/drivers/media/pci/mgb4= /mgb4_trigger.c index 4f9a35904b418..70cad324df608 100644 --- a/drivers/media/pci/mgb4/mgb4_trigger.c +++ b/drivers/media/pci/mgb4/mgb4_trigger.c @@ -115,7 +115,7 @@ static int probe_trigger(struct iio_dev *indio_dev, int= irq) if (!st->trig) return -ENOMEM; =20 - ret =3D request_irq(irq, &iio_trigger_generic_data_rdy_poll, 0, + ret =3D request_irq(irq, &iio_trigger_generic_data_rdy_poll, IRQF_NO_THRE= AD, "mgb4-trigger", st->trig); if (ret) goto error_free_trig; --=20 2.51.0