watchdog: sch56xx-common: set correct bits in register()
authorDan Carpenter <dan.carpenter@oracle.com>
Thu, 24 May 2012 15:58:02 +0000 (18:58 +0300)
committerWim Van Sebroeck <wim@iguana.be>
Wed, 30 May 2012 05:56:17 +0000 (07:56 +0200)
WDOG_NO_WAY_OUT (3) and WDOG_ACTIVE (0) are the bit numbers, not a mask.
So "data->wddev.status |= WDOG_ACTIVE;" was intended to set bit zero but
it is a no-op.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/hwmon/sch56xx-common.c

index 839087c..4380f5d 100644 (file)
@@ -464,9 +464,9 @@ struct sch56xx_watchdog_data *sch56xx_watchdog_register(struct device *parent,
        data->wddev.min_timeout = 1;
        data->wddev.max_timeout = 255 * 60;
        if (nowayout)
-               data->wddev.status |= WDOG_NO_WAY_OUT;
+               set_bit(WDOG_NO_WAY_OUT, &data->wddev.status);
        if (output_enable & SCH56XX_WDOG_OUTPUT_ENABLE)
-               data->wddev.status |= WDOG_ACTIVE;
+               set_bit(WDOG_ACTIVE, &data->wddev.status);
 
        /* Since the watchdog uses a downcounter there is no register to read
           the BIOS set timeout from (if any was set at all) ->