diff mbox

[U-Boot,5/9] x86: ivybridge: Check the RTC return value

Message ID 1445205337-32504-6-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Oct. 18, 2015, 9:55 p.m. UTC
The RTC can fail, so check the return value for reads.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 arch/x86/cpu/ivybridge/sdram.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

Comments

Bin Meng Oct. 19, 2015, 2:23 a.m. UTC | #1
On Mon, Oct 19, 2015 at 5:55 AM, Simon Glass <sjg@chromium.org> wrote:
> The RTC can fail, so check the return value for reads.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  arch/x86/cpu/ivybridge/sdram.c | 13 ++++++++++---
>  1 file changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/arch/x86/cpu/ivybridge/sdram.c b/arch/x86/cpu/ivybridge/sdram.c
> index 26e2e5b..e637909 100644
> --- a/arch/x86/cpu/ivybridge/sdram.c
> +++ b/arch/x86/cpu/ivybridge/sdram.c
> @@ -107,11 +107,18 @@ static int read_seed_from_cmos(struct pei_data *pei_data)
>          * the flash too much. So we store these in CMOS and the large MRC
>          * data in SPI flash.
>          */
> -       rtc_read32(dev, CMOS_OFFSET_MRC_SEED, &pei_data->scrambler_seed);
> +       ret = rtc_read32(dev, CMOS_OFFSET_MRC_SEED, &pei_data->scrambler_seed);
> +       if (!ret) {
> +               ret = rtc_read32(dev, CMOS_OFFSET_MRC_SEED_S3,
> +                                &pei_data->scrambler_seed_s3);
> +       }
> +       if (ret) {
> +               debug("Failed to read from RTC %s\n", dev->name);
> +               return ret;
> +       }
> +
>         debug("Read scrambler seed    0x%08x from CMOS 0x%02x\n",
>               pei_data->scrambler_seed, CMOS_OFFSET_MRC_SEED);
> -
> -       rtc_read32(dev, CMOS_OFFSET_MRC_SEED_S3, &pei_data->scrambler_seed_s3);
>         debug("Read S3 scrambler seed 0x%08x from CMOS 0x%02x\n",
>               pei_data->scrambler_seed_s3, CMOS_OFFSET_MRC_SEED_S3);
>
> --

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Simon Glass Oct. 21, 2015, 11:24 p.m. UTC | #2
On 18 October 2015 at 20:23, Bin Meng <bmeng.cn@gmail.com> wrote:
> On Mon, Oct 19, 2015 at 5:55 AM, Simon Glass <sjg@chromium.org> wrote:
>> The RTC can fail, so check the return value for reads.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>>  arch/x86/cpu/ivybridge/sdram.c | 13 ++++++++++---
>>  1 file changed, 10 insertions(+), 3 deletions(-)
>>
[snip]
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

Applied to u-boot-x86.
diff mbox

Patch

diff --git a/arch/x86/cpu/ivybridge/sdram.c b/arch/x86/cpu/ivybridge/sdram.c
index 26e2e5b..e637909 100644
--- a/arch/x86/cpu/ivybridge/sdram.c
+++ b/arch/x86/cpu/ivybridge/sdram.c
@@ -107,11 +107,18 @@  static int read_seed_from_cmos(struct pei_data *pei_data)
 	 * the flash too much. So we store these in CMOS and the large MRC
 	 * data in SPI flash.
 	 */
-	rtc_read32(dev, CMOS_OFFSET_MRC_SEED, &pei_data->scrambler_seed);
+	ret = rtc_read32(dev, CMOS_OFFSET_MRC_SEED, &pei_data->scrambler_seed);
+	if (!ret) {
+		ret = rtc_read32(dev, CMOS_OFFSET_MRC_SEED_S3,
+				 &pei_data->scrambler_seed_s3);
+	}
+	if (ret) {
+		debug("Failed to read from RTC %s\n", dev->name);
+		return ret;
+	}
+
 	debug("Read scrambler seed    0x%08x from CMOS 0x%02x\n",
 	      pei_data->scrambler_seed, CMOS_OFFSET_MRC_SEED);
-
-	rtc_read32(dev, CMOS_OFFSET_MRC_SEED_S3, &pei_data->scrambler_seed_s3);
 	debug("Read S3 scrambler seed 0x%08x from CMOS 0x%02x\n",
 	      pei_data->scrambler_seed_s3, CMOS_OFFSET_MRC_SEED_S3);