Message ID | 20230706153823.201943-2-nfraprado@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | thermal/drivers/mediatek/lvts_thermal: Fixes to the interrupt handling | expand |
On 06/07/2023 17:37, Nícolas F. R. A. Prado wrote: > There is a single IRQ handler for each LVTS thermal domain, and it is > supposed to check each of its underlying controllers for the origin of > the interrupt and clear its status. However due to a typo, only the > first controller was ever being handled, which resulted in the interrupt > never being cleared when it happened on the other controllers. Add the > missing index so interrupts are handled for all controllers. Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
diff --git a/drivers/thermal/mediatek/lvts_thermal.c b/drivers/thermal/mediatek/lvts_thermal.c index 1e11defe4f35..ba8f86ee12b6 100644 --- a/drivers/thermal/mediatek/lvts_thermal.c +++ b/drivers/thermal/mediatek/lvts_thermal.c @@ -451,7 +451,7 @@ static irqreturn_t lvts_irq_handler(int irq, void *data) for (i = 0; i < lvts_td->num_lvts_ctrl; i++) { - aux = lvts_ctrl_irq_handler(lvts_td->lvts_ctrl); + aux = lvts_ctrl_irq_handler(&lvts_td->lvts_ctrl[i]); if (aux != IRQ_HANDLED) continue;