lkml.org 
[lkml]   [2008]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: ADT746X: logical-bitwise & confusion in set_max_duty_at_crit()
    Date
    > diff --git a/drivers/hwmon/adt7473.c b/drivers/hwmon/adt7473.c
    > index 9587869..8ea7da2 100644
    > --- a/drivers/hwmon/adt7473.c
    > +++ b/drivers/hwmon/adt7473.c
    > @@ -570,7 +570,7 @@ static ssize_t set_max_duty_at_crit(struct device
    > *dev,
    > struct i2c_client *client = to_i2c_client(dev);
    > struct adt7473_data *data = i2c_get_clientdata(client);
    > int temp = simple_strtol(buf, NULL, 10);
    > - temp = temp && 0xFF;
    > + temp &= 0xFF;
    >
    > mutex_lock(&data->lock);
    > data->max_duty_at_overheat = temp;

    The & 0xff here is bogus anyway; temp is only ever used as an u8,
    so just declare it as that, or do proper overflow/underflow checking
    on it. The patch will need testing on hardware too, since it changes
    behaviour (it should be a bugfix, but who knows).


    Segher



    \
     
     \ /
      Last update: 2008-03-10 10:17    [W:0.021 / U:32.992 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site