Messages in this thread | | | Date | Fri, 16 Sep 2011 14:53:27 +0200 | From | Borislav Petkov <> | Subject | Re: [PATCH] Fix EDAC sdram_scrub_rate read failure |
| |
On Fri, Sep 16, 2011 at 06:58:56PM +0800, Han Pingtian wrote: > If sdram scrubbing rate ins't implemented on current system, read it > will cause an error: > > cat: /sys/devices/system/edac/mc//mc0/sdram_scrub_rate: Invalid argument > > The eba042a81edd6baaff44831b2d719b14a6d21e58 let it returning -EINVAL,
Can you please add the patch author to CC next time, out of courtesy? Thanks.
> but according to the document, it should show -1: > > dram memory scrubbing rate: > > 'sdram_scrub_rate' > > Read/Write attribute file that controls memory scrubbing. The scrubbing > rate is set by writing a minimum bandwidth in bytes/sec to the attribute > file. The rate will be translated to an internal value that gives at > least the specified rate. > > Reading the file will return the actual scrubbing rate employed. > > If configuration fails or memory scrubbing is not implemented, the value > of the attribute file will be -1. > > Signed-off-by: Han Pingtian <phan@redhat.com> > --- > drivers/edac/edac_mc_sysfs.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/edac/edac_mc_sysfs.c b/drivers/edac/edac_mc_sysfs.c > index 29ffa35..602fdcf 100644 > --- a/drivers/edac/edac_mc_sysfs.c > +++ b/drivers/edac/edac_mc_sysfs.c > @@ -475,7 +475,7 @@ static ssize_t mci_sdram_scrub_rate_show(struct mem_ctl_info *mci, char *data) > int bandwidth = 0; > > if (!mci->get_sdram_scrub_rate) > - return -EINVAL; > + return sprintf(date, "%d\n", -1);
Have you even build-tested your patch:
drivers/edac/edac_mc_sysfs.c: In function ‘mci_sdram_scrub_rate_show’: drivers/edac/edac_mc_sysfs.c:478: error: ‘date’ undeclared (first use in this function) drivers/edac/edac_mc_sysfs.c:478: error: (Each undeclared identifier is reported only once drivers/edac/edac_mc_sysfs.c:478: error: for each function it appears in.) make[2]: *** [drivers/edac/edac_mc_sysfs.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [drivers/edac] Error 2 make[1]: *** Waiting for unfinished jobs.... make: *** [drivers] Error 2 make: *** Waiting for unfinished jobs....
> > bandwidth = mci->get_sdram_scrub_rate(mci); > if (bandwidth < 0) {
Anyway, the EDAC document says that sdram_scrub_rate is read/write and when writing you have to write -1 too. Care to fix mci_sdram_scrub_rate_store too, test your patch properly and resend?
Thanks.
-- Regards/Gruss, Boris.
Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach GM: Alberto Bozzo Reg: Dornach, Landkreis Muenchen HRB Nr. 43632 WEEE Registernr: 129 19551 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |