Re: [Bug #12162] Commit 7cd5b08be3 breaks startup on Toshiba Portege R500

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

I will test the watchdog part tonight on an ICH4 and ICH9 chipset.
I indeed moved the code over from the supermicro_old_pre_stop code.
And I'm sure this fix indeed needs to go in.

Kind regards,
Wim.

> 
> Rafael, I'm assuming my one-liner patch fixes your problem too, since you 
> attached the patch to the bugzilla entry. So I committed it as such. But 
> if it doesn't, we'll need to do something else.
> 
> The commit ended up being as appended..
> 
> 		Linus
> ---
> From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Date: Wed, 3 Dec 2008 16:20:19 -0800
> Subject: [PATCH] iTCO_wdt: fix typo when setting TCO_EN bit
> 
> The code used '&= 0x00002000' when it tried to set the TCO_EN bit, which
> obviously didn't set that bit at all, but instead just reset all the
> other bits in the SMI_EN register.
> 
> This bug seemingly caused various random behavior, with Frans Pop
> reporting that X.org just silently hung at startup and Rafael Wysocki
> reports the fan spinning with full speed.
> 
> See
> 	http://lkml.org/lkml/2008/12/3/178
> 	http://bugzilla.kernel.org/show_bug.cgi?id=12162
> 
> The problem seems to have been triggered by "[WATCHDOG] iTCO_wdt :
> problem with rebooting on new ICH9 based motherboards" (commit
> 7cd5b08be3c489df11b559fef210b81133764ad4), but the bogus code existed
> before that too (in the "supermicro_old_pre_stop()" function), it just
> apparently never showed up due to different logic.
> 
> In that commit the broken code got moved around and now gets executed
> much more.
> 
> Reported-by: Rafael J. Wysocki <rjw@xxxxxxx>
> Tested-by: Frans Pop <elendil@xxxxxxxxx>
> Cc: Wim Van Sebroeck <wim@xxxxxxxxx>
> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> ---
>  drivers/watchdog/iTCO_wdt.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/watchdog/iTCO_wdt.c b/drivers/watchdog/iTCO_wdt.c
> index 26173a2..5b395a4 100644
> --- a/drivers/watchdog/iTCO_wdt.c
> +++ b/drivers/watchdog/iTCO_wdt.c
> @@ -392,7 +392,7 @@ static int iTCO_wdt_stop(void)
>  
>  	/* Bit 13: TCO_EN -> 1 = Enables the TCO logic to generate SMI# */
>  	val32 = inl(SMI_EN);
> -	val32 &= 0x00002000;
> +	val32 |= 0x00002000;
>  	outl(val32, SMI_EN);
>  
>  	/* Set the NO_REBOOT bit to prevent later reboots, just for sure */
--
To unsubscribe from this list: send the line "unsubscribe kernel-testers" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux