lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221130181905.GA2658232@roeck-us.net>
Date:   Wed, 30 Nov 2022 10:19:05 -0800
From:   Guenter Roeck <linux@...ck-us.net>
To:     Naresh Solanki <naresh.solanki@...ements.com>
Cc:     devicetree@...r.kernel.org, Jean Delvare <jdelvare@...e.com>,
        Liam Girdwood <lgirdwood@...il.com>,
        Mark Brown <broonie@...nel.org>, linux-kernel@...r.kernel.org,
        linux-hwmon@...r.kernel.org,
        Patrick Rudolph <patrick.rudolph@...ements.com>
Subject: Re: [PATCH v3 1/4] hwmon: (pmbus/core): Add status byte to regulator
 flag map

On Wed, Nov 30, 2022 at 11:42:32PM +0530, Naresh Solanki wrote:
> Hi,
> 
> On 30-11-2022 11:36 pm, Guenter Roeck wrote:
> > On Wed, Nov 30, 2022 at 05:58:28PM +0100, Naresh Solanki wrote:
> > > Add PMBus status byte to regulator flag map.
> > > 
> > > Signed-off-by: Naresh Solanki <Naresh.Solanki@...ements.com>
> > > 
> > > ---
> > > Changes:
> > > - Remove status input
> > 
> > Not really.
> > 
> This was about PMBUS_STATUS_INPUT & not STATUS_BYTE
> > > - Add comment for PMBUS status byte.
> > > ---
> > >   drivers/hwmon/pmbus/pmbus_core.c | 20 +++++++++++---------
> > >   1 file changed, 11 insertions(+), 9 deletions(-)
> > > 
> > > diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
> > > index 95e95783972a..a7b4ae0f1f3b 100644
> > > --- a/drivers/hwmon/pmbus/pmbus_core.c
> > > +++ b/drivers/hwmon/pmbus/pmbus_core.c
> > > @@ -2751,7 +2751,16 @@ struct pmbus_regulator_status_category {
> > >   };
> > >   static const struct pmbus_regulator_status_category pmbus_regulator_flag_map[] = {
> > > -	{
> > > +	{	/* STATUS byte is always present. */
> > > +		.func = -1,
> > > +		.reg = PMBUS_STATUS_BYTE,
> > > +		.bits = (const struct pmbus_regulator_status_assoc[]) {
> > > +			{ PB_STATUS_IOUT_OC,   REGULATOR_ERROR_OVER_CURRENT },
> > > +			{ PB_STATUS_VOUT_OV,   REGULATOR_ERROR_REGULATION_OUT },
> > > +			{ PB_STATUS_VIN_UV,    REGULATOR_ERROR_UNDER_VOLTAGE },
> > 
> > Still there.
> > 
> STATUS_INPUT remove & STATUS_BYTE retained.

You added a check for PB_STATUS_VIN_UV which reports an input failure
which was not reported before. You do so silently without mentioning the
change in the description. In the change log you claim "Remove status input".
Yet, the above adds reporting on an input voltage error. Maybe the
change log was supposed to refer to the input status register, but that
doesn't mean you can silently add a check for PB_STATUS_VIN_UV.

Guenter

> > > +			{ },
> > > +		},
> > > +	}, {
> > >   		.func = PMBUS_HAVE_STATUS_VOUT,
> > >   		.reg = PMBUS_STATUS_VOUT,
> > >   		.bits = (const struct pmbus_regulator_status_assoc[]) {
> > > @@ -2768,6 +2777,7 @@ static const struct pmbus_regulator_status_category pmbus_regulator_flag_map[] =
> > >   			{ PB_IOUT_OC_WARNING,    REGULATOR_ERROR_OVER_CURRENT_WARN },
> > >   			{ PB_IOUT_OC_FAULT,      REGULATOR_ERROR_OVER_CURRENT },
> > >   			{ PB_IOUT_OC_LV_FAULT,   REGULATOR_ERROR_OVER_CURRENT },
> > > +			{ PB_POUT_OP_FAULT,      REGULATOR_ERROR_FAIL },
> > 
> > Please document your changes in the description. There are two functional
> > changes hidden under "Add PMBus status byte to regulator flag map".
> > That is inappropriate. Those, as I have pointed out, should be separate
> > patches.
> My bad. I kept this change in this patch. Will remove this from this patch.
> > 
> > Guenter
> > 
> > >   			{ },
> > >   		},
> > >   	}, {
> > > @@ -2834,14 +2844,6 @@ static int pmbus_regulator_get_error_flags(struct regulator_dev *rdev, unsigned
> > >   		if (status & PB_STATUS_POWER_GOOD_N)
> > >   			*flags |= REGULATOR_ERROR_REGULATION_OUT;
> > >   	}
> > > -	/*
> > > -	 * Unlike most other status bits, PB_STATUS_{IOUT_OC,VOUT_OV} are
> > > -	 * defined strictly as fault indicators (not warnings).
> > > -	 */
> > > -	if (status & PB_STATUS_IOUT_OC)
> > > -		*flags |= REGULATOR_ERROR_OVER_CURRENT;
> > > -	if (status & PB_STATUS_VOUT_OV)
> > > -		*flags |= REGULATOR_ERROR_REGULATION_OUT;
> > >   	/*
> > >   	 * If we haven't discovered any thermal faults or warnings via
> > > 
> > > base-commit: 9494c53e1389b120ba461899207ac8a3aab2632c
> > > -- 
> > > 2.37.3
> > > 
> 
> Regards,
> Naresh

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ