Messages in this thread | | | Date | Sun, 6 Jun 2021 05:50:12 -0700 | From | Guenter Roeck <> | Subject | Re: [PATCH v2] hwmon: (pmbus_core) Check adapter PEC support |
| |
On Sat, Jun 05, 2021 at 07:27:02AM +0200, Paul Menzel wrote: > From: Madhava Reddy Siddareddygari <msiddare@cisco.com> > > Currently, for Packet Error Checking (PEC) only the controller > is checked for support. This causes problems on the cisco-8000 > platform where a SMBUS transaction errors are observed. This is > because PEC has to be enabled only if both controller and > adapter support it. > > Added code to check PEC capability for adapter and enable it > only if both controller and adapter supports PEC. > > Signed-off-by: Madhava Reddy Siddareddygari <msiddare@cisco.com> > [Upstream from SONiC https://github.com/Azure/sonic-linux-kernel/pull/215] > Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Applied.
Thanks, Guenter
> --- > v2: Do not revert check introduced by commit e5befc02 (hwmon: (pmbus) > Add a PMBUS_NO_CAPABILITY platform data flag). > > drivers/hwmon/pmbus/pmbus_core.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c > index bbd745178147..2fd0fec59d4f 100644 > --- a/drivers/hwmon/pmbus/pmbus_core.c > +++ b/drivers/hwmon/pmbus/pmbus_core.c > @@ -2214,11 +2214,15 @@ static int pmbus_init_common(struct i2c_client *client, struct pmbus_data *data, > data->has_status_word = true; > } > > - /* Enable PEC if the controller supports it */ > + /* Enable PEC if the controller and bus supports it */ > if (!(data->flags & PMBUS_NO_CAPABILITY)) { > ret = i2c_smbus_read_byte_data(client, PMBUS_CAPABILITY); > - if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK)) > - client->flags |= I2C_CLIENT_PEC; > + if (ret >= 0 && (ret & PB_CAPABILITY_ERROR_CHECK)) { > + if (i2c_check_functionality(client->adapter, > + I2C_FUNC_SMBUS_PEC)) { > + client->flags |= I2C_CLIENT_PEC; > + } > + } > } > > /*
| |