Re: [PATCH] pwm: berlin: Fix wrong register in suspend/resume

From: Uwe Kleine-König
Date: Tue Aug 19 2025 - 02:16:03 EST


Hello,

On Mon, Aug 18, 2025 at 08:09:33PM +0800, Jisheng Zhang wrote:
> On Sun, Aug 17, 2025 at 12:52:01PM +0200, Uwe Kleine-König wrote:
> > On Fri, Aug 15, 2025 at 11:10:16AM +0800, Jisheng Zhang wrote:
> > > diff --git a/drivers/pwm/pwm-berlin.c b/drivers/pwm/pwm-berlin.c
> > > index 831aed228caf..858d36991374 100644
> > > --- a/drivers/pwm/pwm-berlin.c
> > > +++ b/drivers/pwm/pwm-berlin.c
> > > @@ -234,7 +234,7 @@ static int berlin_pwm_suspend(struct device *dev)
> > > for (i = 0; i < chip->npwm; i++) {
> > > struct berlin_pwm_channel *channel = &bpc->channel[i];
> > >
> > > - channel->enable = berlin_pwm_readl(bpc, i, BERLIN_PWM_ENABLE);
> > > + channel->enable = berlin_pwm_readl(bpc, i, BERLIN_PWM_EN);
> >
> > BERLIN_PWM_ENABLE is 1 and BERLIN_PWM_EN is 0. What is the effect? Is
> > the low bit just ignored and the right thing happens? Or does this
>
> operate the wrong address then kernel panic
>
> > result in a bus exception and the machine catches fire?
>
> Yep, cpu exception then kernel panic.

Can you please mention that in the commit log to make reader able to
judge the importance, please?

> > If it's more the latter than the former, I wonder how that didn't pop up
> > earlier.
>
> This bug has been fixed in vendor's repo for a long time, it's just
> because we didn't upstream the fix.

Wow.

Best regards
Uwe

Attachment: signature.asc
Description: PGP signature