Re: [PATCH 1/1] hwmon: (ina2xx) initialize mutex before locking

From: Ahsan Hussain
Date: Mon Apr 16 2018 - 13:48:17 EST




On 04/16/2018 10:28 PM, Guenter Roeck wrote:
> On Mon, Apr 16, 2018 at 10:08:19PM +0500, Ahsan Hussain wrote:
>>
>> Upstream commit
>>
>> 8d008c0c ("hwmon: (ina2xx) Make calibration register value fixed")
>>
> This doesn't have to be on separate lines; as written, it just causes
> confusion.
>
Will do in my next email.
>> makes ina2xx_set_shunt() call mutex_lock on an un-initialized mutex.
>> Initialize it prior so we don't get a NULL pointer dereference error
>>
>> Signed-off-by: Ahsan Hussain <ahsan_hussain@xxxxxxxxxx>
>
> Good find, but your patch is corrupted to the point where any attenpt to
> fix it up on my side failed. Please resend without corruption, and please
> provide a Fixes: line.
Appologies. This must be Thunderbird, I've been trying to coax into
doing otherwise. Will send the corrected patch shortly.
>
> Thanks,
> Guenter
>
>> ---
>> drivers/hwmon/ina2xx.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/hwmon/ina2xx.c b/drivers/hwmon/ina2xx.c
>> index a629f7c..1304f01 100644
>> --- a/drivers/hwmon/ina2xx.c
>> +++ b/drivers/hwmon/ina2xx.c
>> @@ -457,6 +457,8 @@ static int ina2xx_probe(struct i2c_client *client,
>> val = INA2XX_RSHUNT_DEFAULT;
>> }
>> + mutex_init(&data->config_lock);
>> +
>> ina2xx_set_shunt(data, val);
>> ina2xx_regmap_config.max_register = data->config->registers;
>> @@ -473,8 +475,6 @@ static int ina2xx_probe(struct i2c_client *client,
>> return -ENODEV;
>> }
>> - mutex_init(&data->config_lock);
>> -
>> data->groups[group++] = &ina2xx_group;
>> if (id->driver_data == ina226)
>> data->groups[group++] = &ina226_group;
>> --
>> 2.7.4
>>