From: Stefan Reinauer Date: Fri, 21 Oct 2011 21:37:52 +0000 (-0700) Subject: Fix CMOS checksum calculation in libpayload. X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=coreboot.git;a=commitdiff_plain;h=d7ecfa7c152da59cf76b5dfd8ff4ef1313a74260 Fix CMOS checksum calculation in libpayload. Change-Id: I64ea53fa098fbcfc76e0ebd5f049a2ee3d0a1024 Signed-off-by: Stefan Reinauer Reviewed-on: http://review.coreboot.org/314 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones --- diff --git a/payloads/libpayload/drivers/options.c b/payloads/libpayload/drivers/options.c index fdb4be34b..394c7920e 100644 --- a/payloads/libpayload/drivers/options.c +++ b/payloads/libpayload/drivers/options.c @@ -41,7 +41,6 @@ static int options_checksum_valid(void) for(i = range_start; i <= range_end; i++) { checksum += nvram_read(i); } - checksum = (~checksum)&0xffff; checksum_old = ((nvram_read(checksum_location)<<8) | nvram_read(checksum_location+1)); @@ -59,7 +58,6 @@ void fix_options_checksum(void) for(i = range_start; i <= range_end; i++) { checksum += nvram_read(i); } - checksum = (~checksum)&0xffff; nvram_write((checksum >> 8), checksum_location); nvram_write((checksum & 0xff), checksum_location + 1);