• Borislav Petkov's avatar
    EDAC: Correct scrub rate API · 5e8e19bf
    Borislav Petkov authored
    The original scrub rate API definition states that if scrub rate
    accessors are not implemented, a negative value (-1) should be written
    to the sysfs file (/sys/devices/system/edac/mc/mc<N>/sdram_scrub_rate,
    where N is the memory controller number on the system). This is
    counter-intuitive and awkward at the very least because, when setting
    the scrub rate, userspace has to write to sysfs and then read it back to
    check error status of the operation.
    
    As Tony notes, best it would be to not have the sdram_scrub_rate in
    sysfs if scrub rate support is not implemented. It is too late about
    that and a bunch of drivers on a bunch of arches would need to be
    changed and tested which is not a trivial task ATM.
    
    Instead, settle for the next best thing of returning -ENODEV when
    implementation is missing and -EINVAL when there was an error
    encountered while setting the scrub rate.
    Reported-by: default avatarHan Pingtian <phan@redhat.com>
    Cc: Tony Luck <tony.luck@intel.com>
    Link: http://lkml.kernel.org/r/20110916105856.GA13253@hpt.nay.redhat.comSigned-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
    5e8e19bf
edac_mc_sysfs.c 26.7 KB