From: Dan Carpenter Date: Thu, 24 May 2012 15:58:02 +0000 (+0300) Subject: watchdog: sch56xx-common: set correct bits in register() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=bb644913a7d6dabcc4a1640817fa7b68938a56eb;p=linux-beck.git watchdog: sch56xx-common: set correct bits in register() 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 Acked-by: Hans de Goede Signed-off-by: Wim Van Sebroeck --- diff --git a/drivers/hwmon/sch56xx-common.c b/drivers/hwmon/sch56xx-common.c index 839087caa360..4380f5d07be2 100644 --- a/drivers/hwmon/sch56xx-common.c +++ b/drivers/hwmon/sch56xx-common.c @@ -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) ->