Message ID | 20210907212543.20220-1-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Daniel Lezcano |
Headers | show |
Series | [v2,1/2] drivers: thermal: tsens: fix wrong check for tzd in irq handlers | expand |
Applied, thanks On 07/09/2021 23:25, Ansuel Smith wrote: > Some device can have some thermal sensor disabled from the factory. The > current 2 irq handler functions check all the sensor by default and the > check if the sensor was actually registered is wrong. The tzd is > actually never set if the registration fail hence the IS_ERR check is > wrong. > > Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > --- > drivers/thermal/qcom/tsens.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c > index 4c7ebd1d3f9c..b1162e566a70 100644 > --- a/drivers/thermal/qcom/tsens.c > +++ b/drivers/thermal/qcom/tsens.c > @@ -417,7 +417,7 @@ static irqreturn_t tsens_critical_irq_thread(int irq, void *data) > const struct tsens_sensor *s = &priv->sensor[i]; > u32 hw_id = s->hw_id; > > - if (IS_ERR(s->tzd)) > + if (!s->tzd) > continue; > if (!tsens_threshold_violated(priv, hw_id, &d)) > continue; > @@ -467,7 +467,7 @@ static irqreturn_t tsens_irq_thread(int irq, void *data) > const struct tsens_sensor *s = &priv->sensor[i]; > u32 hw_id = s->hw_id; > > - if (IS_ERR(s->tzd)) > + if (!s->tzd) > continue; > if (!tsens_threshold_violated(priv, hw_id, &d)) > continue; >
diff --git a/drivers/thermal/qcom/tsens.c b/drivers/thermal/qcom/tsens.c index 4c7ebd1d3f9c..b1162e566a70 100644 --- a/drivers/thermal/qcom/tsens.c +++ b/drivers/thermal/qcom/tsens.c @@ -417,7 +417,7 @@ static irqreturn_t tsens_critical_irq_thread(int irq, void *data) const struct tsens_sensor *s = &priv->sensor[i]; u32 hw_id = s->hw_id; - if (IS_ERR(s->tzd)) + if (!s->tzd) continue; if (!tsens_threshold_violated(priv, hw_id, &d)) continue; @@ -467,7 +467,7 @@ static irqreturn_t tsens_irq_thread(int irq, void *data) const struct tsens_sensor *s = &priv->sensor[i]; u32 hw_id = s->hw_id; - if (IS_ERR(s->tzd)) + if (!s->tzd) continue; if (!tsens_threshold_violated(priv, hw_id, &d)) continue;