Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1337345 > unrolled thread
| Started by | Peter Rosin <peda@lysator.liu.se> |
|---|---|
| First post | 2016-02-18 14:20 +0100 |
| Last post | 2016-02-19 23:30 +0100 |
| Articles | 4 — 3 participants |
Back to article view | Back to linux.kernel
[PATCH] hwmon: (ads1015) Handle negative conversion values correctly Peter Rosin <peda@lysator.liu.se> - 2016-02-18 14:20 +0100
Re: [PATCH] hwmon: (ads1015) Handle negative conversion values correctly Peter Rosin <peda@lysator.liu.se> - 2016-02-19 00:20 +0100
Re: [PATCH] hwmon: (ads1015) Handle negative conversion values correctly Guenter Roeck <linux@roeck-us.net> - 2016-02-19 04:20 +0100
Re: [PATCH] hwmon: (ads1015) Handle negative conversion values correctly Greg KH <gregkh@linuxfoundation.org> - 2016-02-19 23:30 +0100
| From | Peter Rosin <peda@lysator.liu.se> |
|---|---|
| Date | 2016-02-18 14:20 +0100 |
| Subject | [PATCH] hwmon: (ads1015) Handle negative conversion values correctly |
| Message-ID | <r3wEW-626-13@gated-at.bofh.it> |
From: Peter Rosin <peda@axentia.se> Make the divisor signed as DIV_ROUND_CLOSEST is undefined for negative dividends when the divisor is unsigned. Signed-off-by: Peter Rosin <peda@axentia.se> --- drivers/hwmon/ads1015.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c index f155b8380481..2b3105c8aed3 100644 --- a/drivers/hwmon/ads1015.c +++ b/drivers/hwmon/ads1015.c @@ -126,7 +126,7 @@ static int ads1015_reg_to_mv(struct i2c_client *client, unsigned int channel, struct ads1015_data *data = i2c_get_clientdata(client); unsigned int pga = data->channel_data[channel].pga; int fullscale = fullscale_table[pga]; - const unsigned mask = data->id == ads1115 ? 0x7fff : 0x7ff0; + const int mask = data->id == ads1115 ? 0x7fff : 0x7ff0; return DIV_ROUND_CLOSEST(reg * fullscale, mask); } -- 2.1.4
[toc] | [next] | [standalone]
| From | Peter Rosin <peda@lysator.liu.se> |
|---|---|
| Date | 2016-02-19 00:20 +0100 |
| Message-ID | <r3G1A-4rC-3@gated-at.bofh.it> |
| In reply to | #1337345 |
Hi! Sorry for the noise, but... On 2016-02-18 14:07, Peter Rosin wrote: > From: Peter Rosin <peda@axentia.se> > > Make the divisor signed as DIV_ROUND_CLOSEST is undefined for negative > dividends when the divisor is unsigned. > > Signed-off-by: Peter Rosin <peda@axentia.se> ...I forgot to add this to the commit message Cc: stable@vger.kernel.org I also didn't explicitly mention any example platform where this bug causes real problems; it was triggered on ARM (atmel sama5d). Cheers, Peter > --- > drivers/hwmon/ads1015.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c > index f155b8380481..2b3105c8aed3 100644 > --- a/drivers/hwmon/ads1015.c > +++ b/drivers/hwmon/ads1015.c > @@ -126,7 +126,7 @@ static int ads1015_reg_to_mv(struct i2c_client *client, unsigned int channel, > struct ads1015_data *data = i2c_get_clientdata(client); > unsigned int pga = data->channel_data[channel].pga; > int fullscale = fullscale_table[pga]; > - const unsigned mask = data->id == ads1115 ? 0x7fff : 0x7ff0; > + const int mask = data->id == ads1115 ? 0x7fff : 0x7ff0; > > return DIV_ROUND_CLOSEST(reg * fullscale, mask); > } >
[toc] | [prev] | [next] | [standalone]
| From | Guenter Roeck <linux@roeck-us.net> |
|---|---|
| Date | 2016-02-19 04:20 +0100 |
| Subject | Re: [PATCH] hwmon: (ads1015) Handle negative conversion values correctly |
| Message-ID | <r3JLP-7bz-3@gated-at.bofh.it> |
| In reply to | #1337764 |
On Fri, Feb 19, 2016 at 12:13:43AM +0100, Peter Rosin wrote: > Hi! > > Sorry for the noise, but... > > On 2016-02-18 14:07, Peter Rosin wrote: > > From: Peter Rosin <peda@axentia.se> > > > > Make the divisor signed as DIV_ROUND_CLOSEST is undefined for negative > > dividends when the divisor is unsigned. > > > > Signed-off-by: Peter Rosin <peda@axentia.se> > > ...I forgot to add this to the commit message > Cc: stable@vger.kernel.org > No problem, I prefer to do that myself anyway. Patch applied. Thanks, Guenter > I also didn't explicitly mention any example platform where this > bug causes real problems; it was triggered on ARM (atmel sama5d). > > Cheers, > Peter > > > --- > > drivers/hwmon/ads1015.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/hwmon/ads1015.c b/drivers/hwmon/ads1015.c > > index f155b8380481..2b3105c8aed3 100644 > > --- a/drivers/hwmon/ads1015.c > > +++ b/drivers/hwmon/ads1015.c > > @@ -126,7 +126,7 @@ static int ads1015_reg_to_mv(struct i2c_client *client, unsigned int channel, > > struct ads1015_data *data = i2c_get_clientdata(client); > > unsigned int pga = data->channel_data[channel].pga; > > int fullscale = fullscale_table[pga]; > > - const unsigned mask = data->id == ads1115 ? 0x7fff : 0x7ff0; > > + const int mask = data->id == ads1115 ? 0x7fff : 0x7ff0; > > > > return DIV_ROUND_CLOSEST(reg * fullscale, mask); > > } > >
[toc] | [prev] | [next] | [standalone]
| From | Greg KH <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-02-19 23:30 +0100 |
| Subject | Re: [PATCH] hwmon: (ads1015) Handle negative conversion values correctly |
| Message-ID | <r41IK-3Oe-21@gated-at.bofh.it> |
| In reply to | #1337345 |
On Thu, Feb 18, 2016 at 02:07:52PM +0100, Peter Rosin wrote: > From: Peter Rosin <peda@axentia.se> > > Make the divisor signed as DIV_ROUND_CLOSEST is undefined for negative > dividends when the divisor is unsigned. > > Signed-off-by: Peter Rosin <peda@axentia.se> > --- > drivers/hwmon/ads1015.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) <formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read Documentation/stable_kernel_rules.txt for how to do this properly. </formletter>
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web