* Re: Patch "platform-msi: Prepare for real per device domains" has been added to the 6.6-stable tree
[not found] <20241211183908.3808070-1-sashal@kernel.org>
@ 2024-12-11 19:08 ` Thomas Gleixner
2024-12-11 19:09 ` [PATCH 6.6.y] scsi: ufs: qcom: Only free platform MSIs when ESI is enabled Thomas Gleixner
1 sibling, 0 replies; 5+ messages in thread
From: Thomas Gleixner @ 2024-12-11 19:08 UTC (permalink / raw)
To: stable, stable-commits; +Cc: Greg Kroah-Hartman, Rafael J. Wysocki
On Wed, Dec 11 2024 at 13:39, Sasha Levin wrote:
> platform-msi: Prepare for real per device domains
>
> [ Upstream commit c88f9110bfbca5975a8dee4c9792ba12684c7bca ]
>
> Provide functions to create and remove per device MSI domains which replace
> the platform-MSI domains. The new model is that each of the devices which
> utilize platform-MSI gets now its private MSI domain which is "customized"
> in size and with a device specific function to write the MSI message into
> the device.
>
> This is the same functionality as platform-MSI but it avoids all the down
> sides of platform MSI, i.e. the extra ID book keeping, the special data
> structure in the msi descriptor. Further the domains are only created when
> the devices are really in use, so the burden is on the usage and not on the
> infrastructure.
>
> Fill in the domain template and provide two functions to init/allocate and
> remove a per device MSI domain.
>
> Until all users and parent domain providers are converted, the init/alloc
> function invokes the original platform-MSI code when the irqdomain which is
> associated to the device does not provide MSI parent functionality yet.
>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Anup Patel <apatel@ventanamicro.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Link: https://lore.kernel.org/r/20240127161753.114685-6-apatel@ventanamicro.com
> Stable-dep-of: 64506b3d23a3 ("scsi: ufs: qcom: Only free platform MSIs when ESI is enabled")
See my other reply. Please don't backport the world if it's not really
required. I'll send a backport of 64506b3d23a3 in a minute.
Thanks,
tglx
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 6.6.y] scsi: ufs: qcom: Only free platform MSIs when ESI is enabled
[not found] <20241211183908.3808070-1-sashal@kernel.org>
2024-12-11 19:08 ` Patch "platform-msi: Prepare for real per device domains" has been added to the 6.6-stable tree Thomas Gleixner
@ 2024-12-11 19:09 ` Thomas Gleixner
2024-12-12 6:57 ` Greg Kroah-Hartman
1 sibling, 1 reply; 5+ messages in thread
From: Thomas Gleixner @ 2024-12-11 19:09 UTC (permalink / raw)
To: stable, stable-commits
Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Manivannan Sadhasivam
From: Manivannan Sadhasivam <mani@kernel.org>
commit 64506b3d23a337e98a74b18dcb10c8619365f2bd upstream.
Otherwise, it will result in a NULL pointer dereference as below:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
Call trace:
mutex_lock+0xc/0x54
platform_device_msi_free_irqs_all+0x14/0x20
ufs_qcom_remove+0x34/0x48 [ufs_qcom]
platform_remove+0x28/0x44
device_remove+0x4c/0x80
device_release_driver_internal+0xd8/0x178
driver_detach+0x50/0x9c
bus_remove_driver+0x6c/0xbc
driver_unregister+0x30/0x60
platform_driver_unregister+0x14/0x20
ufs_qcom_pltform_exit+0x18/0xb94 [ufs_qcom]
__arm64_sys_delete_module+0x180/0x260
invoke_syscall+0x44/0x100
el0_svc_common.constprop.0+0xc0/0xe0
do_el0_svc+0x1c/0x28
el0_svc+0x34/0xdc
el0t_64_sync_handler+0xc0/0xc4
el0t_64_sync+0x190/0x194
Cc: stable@vger.kernel.org # 6.3
Fixes: 519b6274a777 ("scsi: ufs: qcom: Add MCQ ESI config vendor specific ops")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20241111-ufs_bug_fix-v1-2-45ad8b62f02e@linaro.org
Reviewed-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
drivers/ufs/host/ufs-qcom.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1926,7 +1926,8 @@ static int ufs_qcom_remove(struct platfo
pm_runtime_get_sync(&(pdev)->dev);
ufshcd_remove(hba);
- platform_msi_domain_free_irqs(hba->dev);
+ if (host->esi_enabled)
+ platform_msi_domain_free_irqs(hba->dev);
return 0;
}
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 6.6.y] scsi: ufs: qcom: Only free platform MSIs when ESI is enabled
2024-12-11 19:09 ` [PATCH 6.6.y] scsi: ufs: qcom: Only free platform MSIs when ESI is enabled Thomas Gleixner
@ 2024-12-12 6:57 ` Greg Kroah-Hartman
0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2024-12-12 6:57 UTC (permalink / raw)
To: Thomas Gleixner
Cc: stable, stable-commits, Rafael J. Wysocki, Manivannan Sadhasivam
On Wed, Dec 11, 2024 at 08:09:51PM +0100, Thomas Gleixner wrote:
>
> From: Manivannan Sadhasivam <mani@kernel.org>
>
> commit 64506b3d23a337e98a74b18dcb10c8619365f2bd upstream.
>
> Otherwise, it will result in a NULL pointer dereference as below:
>
> Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
> Call trace:
> mutex_lock+0xc/0x54
> platform_device_msi_free_irqs_all+0x14/0x20
> ufs_qcom_remove+0x34/0x48 [ufs_qcom]
> platform_remove+0x28/0x44
> device_remove+0x4c/0x80
> device_release_driver_internal+0xd8/0x178
> driver_detach+0x50/0x9c
> bus_remove_driver+0x6c/0xbc
> driver_unregister+0x30/0x60
> platform_driver_unregister+0x14/0x20
> ufs_qcom_pltform_exit+0x18/0xb94 [ufs_qcom]
> __arm64_sys_delete_module+0x180/0x260
> invoke_syscall+0x44/0x100
> el0_svc_common.constprop.0+0xc0/0xe0
> do_el0_svc+0x1c/0x28
> el0_svc+0x34/0xdc
> el0t_64_sync_handler+0xc0/0xc4
> el0t_64_sync+0x190/0x194
>
> Cc: stable@vger.kernel.org # 6.3
> Fixes: 519b6274a777 ("scsi: ufs: qcom: Add MCQ ESI config vendor specific ops")
> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
> Link: https://lore.kernel.org/r/20241111-ufs_bug_fix-v1-2-45ad8b62f02e@linaro.org
> Reviewed-by: Bean Huo <beanhuo@micron.com>
> Reviewed-by: Bart Van Assche <bvanassche@acm.org>
> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> ---
> drivers/ufs/host/ufs-qcom.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
Thanks for this, I've dropped the other backports and just taken this
one instead.
greg k-h
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 6.6.y] scsi: ufs: qcom: Only free platform MSIs when ESI is enabled
@ 2025-03-27 9:10 jianqi.ren.cn
2025-03-28 17:03 ` Sasha Levin
0 siblings, 1 reply; 5+ messages in thread
From: jianqi.ren.cn @ 2025-03-27 9:10 UTC (permalink / raw)
To: stable
Cc: patches, gregkh, linux-kernel, jianqi.ren.cn, mani, agross,
andersson, konrad.dybcio, jejb, martin.petersen, bvanassche,
quic_asutoshd, quic_cang, linux-arm-msm, linux-scsi,
manivannan.sadhasivam, beanhuo
From: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
commit 64506b3d23a337e98a74b18dcb10c8619365f2bd upstream.
Otherwise, it will result in a NULL pointer dereference as below:
Unable to handle kernel NULL pointer dereference at virtual address 0000000000000008
Call trace:
mutex_lock+0xc/0x54
platform_device_msi_free_irqs_all+0x14/0x20
ufs_qcom_remove+0x34/0x48 [ufs_qcom]
platform_remove+0x28/0x44
device_remove+0x4c/0x80
device_release_driver_internal+0xd8/0x178
driver_detach+0x50/0x9c
bus_remove_driver+0x6c/0xbc
driver_unregister+0x30/0x60
platform_driver_unregister+0x14/0x20
ufs_qcom_pltform_exit+0x18/0xb94 [ufs_qcom]
__arm64_sys_delete_module+0x180/0x260
invoke_syscall+0x44/0x100
el0_svc_common.constprop.0+0xc0/0xe0
do_el0_svc+0x1c/0x28
el0_svc+0x34/0xdc
el0t_64_sync_handler+0xc0/0xc4
el0t_64_sync+0x190/0x194
Cc: stable@vger.kernel.org # 6.3
Fixes: 519b6274a777 ("scsi: ufs: qcom: Add MCQ ESI config vendor specific ops")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Link: https://lore.kernel.org/r/20241111-ufs_bug_fix-v1-2-45ad8b62f02e@linaro.org
Reviewed-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jianqi Ren <jianqi.ren.cn@windriver.com>
Signed-off-by: He Zhe <zhe.he@windriver.com>
---
Verified the build test
---
drivers/ufs/host/ufs-qcom.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
index c5a6b133d364..51ed40529f9a 100644
--- a/drivers/ufs/host/ufs-qcom.c
+++ b/drivers/ufs/host/ufs-qcom.c
@@ -1918,10 +1918,12 @@ static int ufs_qcom_probe(struct platform_device *pdev)
static int ufs_qcom_remove(struct platform_device *pdev)
{
struct ufs_hba *hba = platform_get_drvdata(pdev);
+ struct ufs_qcom_host *host = ufshcd_get_variant(hba);
pm_runtime_get_sync(&(pdev)->dev);
ufshcd_remove(hba);
- platform_msi_domain_free_irqs(hba->dev);
+ if (host->esi_enabled)
+ platform_msi_domain_free_irqs(hba->dev);
return 0;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 6.6.y] scsi: ufs: qcom: Only free platform MSIs when ESI is enabled
2025-03-27 9:10 jianqi.ren.cn
@ 2025-03-28 17:03 ` Sasha Levin
0 siblings, 0 replies; 5+ messages in thread
From: Sasha Levin @ 2025-03-28 17:03 UTC (permalink / raw)
To: stable; +Cc: jianqi.ren.cn, Sasha Levin
[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected.
No action required from the submitter.
The upstream commit SHA1 provided is correct: 64506b3d23a337e98a74b18dcb10c8619365f2bd
WARNING: Author mismatch between patch and upstream commit:
Backport author: <jianqi.ren.cn@windriver.com>
Commit author: Manivannan Sadhasivam<manivannan.sadhasivam@linaro.org>
Status in newer kernel trees:
6.13.y | Present (exact SHA1)
6.12.y | Present (different SHA1: f99cb5f6344e)
Note: The patch differs from the upstream commit:
---
1: 64506b3d23a33 < -: ------------- scsi: ufs: qcom: Only free platform MSIs when ESI is enabled
-: ------------- > 1: e2ac4e6ae36e7 scsi: ufs: qcom: Only free platform MSIs when ESI is enabled
---
Results of testing on various branches:
| Branch | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.6.y | Success | Success |
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-03-28 17:03 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20241211183908.3808070-1-sashal@kernel.org>
2024-12-11 19:08 ` Patch "platform-msi: Prepare for real per device domains" has been added to the 6.6-stable tree Thomas Gleixner
2024-12-11 19:09 ` [PATCH 6.6.y] scsi: ufs: qcom: Only free platform MSIs when ESI is enabled Thomas Gleixner
2024-12-12 6:57 ` Greg Kroah-Hartman
2025-03-27 9:10 jianqi.ren.cn
2025-03-28 17:03 ` Sasha Levin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox