]> www.infradead.org Git - users/jedix/linux-maple.git/commit
iommu/tegra241-cmdqv: do not use smp_processor_id in preemptible context
authorLuis Claudio R. Goncalves <lgoncalv@redhat.com>
Fri, 6 Dec 2024 13:01:14 +0000 (10:01 -0300)
committerWill Deacon <will@kernel.org>
Mon, 9 Dec 2024 23:38:30 +0000 (23:38 +0000)
commit1f806218164d1bb93f3db21eaf61254b08acdf03
tree5c3ace523f1484647b955fc915bc24aad40e650b
parentfac04efc5c793dccbd07e2d59af9f90b7fc0dca4
iommu/tegra241-cmdqv: do not use smp_processor_id in preemptible context

During boot some of the calls to tegra241_cmdqv_get_cmdq() will happen
in preemptible context. As this function calls smp_processor_id(), if
CONFIG_DEBUG_PREEMPT is enabled, these calls will trigger a series of
"BUG: using smp_processor_id() in preemptible" backtraces.

As tegra241_cmdqv_get_cmdq() only calls smp_processor_id() to use the
CPU number as a factor to balance out traffic on cmdq usage, it is safe
to use raw_smp_processor_id() here.

Cc: <stable@vger.kernel.org>
Fixes: 918eb5c856f6 ("iommu/arm-smmu-v3: Add in-kernel support for NVIDIA Tegra241 (Grace) CMDQV")
Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Nicolin Chen <nicolinc@nvidia.com>
Tested-by: Nicolin Chen <nicolinc@nvidia.com>
Link: https://lore.kernel.org/r/Z1L1mja3nXzsJ0Pk@uudg.org
Signed-off-by: Will Deacon <will@kernel.org>
drivers/iommu/arm/arm-smmu-v3/tegra241-cmdqv.c