drivers/hte/hte-tegra194.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
Registering the HTE chip publishes its request callbacks to consumers.
Initialize every slice lock before registration so a concurrent HTE
request cannot use an uninitialized lock.
Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn>
Fixes: 09574cca6ad6 ("hte: Add Tegra194 HTE kernel provider")
Cc: stable@vger.kernel.org
---
drivers/hte/hte-tegra194.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/hte/hte-tegra194.c b/drivers/hte/hte-tegra194.c
index 4a7702b32..1612812ab 100644
--- a/drivers/hte/hte-tegra194.c
+++ b/drivers/hte/hte-tegra194.c
@@ -910,17 +910,17 @@ static int tegra_hte_probe(struct platform_device *pdev)
hte_dev->chip = gc;
+ for (i = 0; i < slices; i++) {
+ hte_dev->sl[i].flags = 0;
+ spin_lock_init(&hte_dev->sl[i].s_lock);
+ }
+
ret = devm_hte_register_chip(hte_dev->chip);
if (ret) {
dev_err(gc->dev, "hte chip register failed");
return ret;
}
- for (i = 0; i < slices; i++) {
- hte_dev->sl[i].flags = 0;
- spin_lock_init(&hte_dev->sl[i].s_lock);
- }
-
val = HTE_TECTRL_ENABLE_ENABLE |
(HTE_TECTRL_INTR_ENABLE << HTE_TECTRL_INTR_SHIFT) |
(hte_dev->itr_thrshld << HTE_TECTRL_OCCU_SHIFT);
--
2.34.1
On 8/30/26 9:17 AM, Runyu Xiao wrote:
> Registering the HTE chip publishes its request callbacks to consumers.
> Initialize every slice lock before registration so a concurrent HTE
> request cannot use an uninitialized lock.
>
> Signed-off-by: Runyu Xiao <runyu.xiao@seu.edu.cn>
> Fixes: 09574cca6ad6 ("hte: Add Tegra194 HTE kernel provider")
> Cc: stable@vger.kernel.org
> ---
> drivers/hte/hte-tegra194.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/hte/hte-tegra194.c b/drivers/hte/hte-tegra194.c
> index 4a7702b32..1612812ab 100644
> --- a/drivers/hte/hte-tegra194.c
> +++ b/drivers/hte/hte-tegra194.c
> @@ -910,17 +910,17 @@ static int tegra_hte_probe(struct platform_device *pdev)
>
> hte_dev->chip = gc;
>
> + for (i = 0; i < slices; i++) {
> + hte_dev->sl[i].flags = 0;
> + spin_lock_init(&hte_dev->sl[i].s_lock);
> + }
> +
> ret = devm_hte_register_chip(hte_dev->chip);
> if (ret) {
> dev_err(gc->dev, "hte chip register failed");
> return ret;
> }
>
> - for (i = 0; i < slices; i++) {
> - hte_dev->sl[i].flags = 0;
> - spin_lock_init(&hte_dev->sl[i].s_lock);
> - }
> -
> val = HTE_TECTRL_ENABLE_ENABLE |
> (HTE_TECTRL_INTR_ENABLE << HTE_TECTRL_INTR_SHIFT) |
> (hte_dev->itr_thrshld << HTE_TECTRL_OCCU_SHIFT);
Acked-by: Dipen Patel <dipenp@nvidia.com>
© 2016 - 2026 Red Hat, Inc.