830-v6.4-29-thermal-drivers-mediatek-lvts_thermal-Handle-IRQ-on-.patch 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. From 27b389d9f62c2174f95fe4002b11e77d4cb3ce80 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?N=C3=ADcolas=20F=2E=20R=2E=20A=2E=20Prado?=
  3. <[email protected]>
  4. Date: Thu, 6 Jul 2023 11:37:32 -0400
  5. Subject: [PATCH 25/42] thermal/drivers/mediatek/lvts_thermal: Handle IRQ on
  6. all controllers
  7. MIME-Version: 1.0
  8. Content-Type: text/plain; charset=UTF-8
  9. Content-Transfer-Encoding: 8bit
  10. There is a single IRQ handler for each LVTS thermal domain, and it is
  11. supposed to check each of its underlying controllers for the origin of
  12. the interrupt and clear its status. However due to a typo, only the
  13. first controller was ever being handled, which resulted in the interrupt
  14. never being cleared when it happened on the other controllers. Add the
  15. missing index so interrupts are handled for all controllers.
  16. Fixes: f5f633b18234 ("thermal/drivers/mediatek: Add the Low Voltage Thermal Sensor driver")
  17. Reviewed-by: Matthias Brugger <[email protected]>
  18. Reviewed-by: AngeloGioacchino Del Regno <[email protected]>
  19. Tested-by: Chen-Yu Tsai <[email protected]>
  20. Signed-off-by: Nícolas F. R. A. Prado <[email protected]>
  21. Reviewed-by: Alexandre Mergnat <[email protected]>
  22. Signed-off-by: Daniel Lezcano <[email protected]>
  23. Link: https://lore.kernel.org/r/[email protected]
  24. ---
  25. drivers/thermal/mediatek/lvts_thermal.c | 2 +-
  26. 1 file changed, 1 insertion(+), 1 deletion(-)
  27. --- a/drivers/thermal/mediatek/lvts_thermal.c
  28. +++ b/drivers/thermal/mediatek/lvts_thermal.c
  29. @@ -451,7 +451,7 @@ static irqreturn_t lvts_irq_handler(int
  30. for (i = 0; i < lvts_td->num_lvts_ctrl; i++) {
  31. - aux = lvts_ctrl_irq_handler(lvts_td->lvts_ctrl);
  32. + aux = lvts_ctrl_irq_handler(&lvts_td->lvts_ctrl[i]);
  33. if (aux != IRQ_HANDLED)
  34. continue;