Message ID | 1445205337-32504-6-git-send-email-sjg@chromium.org |
---|---|
State | Accepted |
Delegated to: | Simon Glass |
Headers | show |
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>
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 --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);
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(-)