16 Mar, 2016

1 commit

  • Pull EDAC updates from Borislav Petkov:

    - Altera: L2 cache and On-Chip RAM support (Thor Thayer).

    - EDAC: Workqueue handling cleanups (Borislav Petkov).

    - Xgene: Register bus error handling (Loc Ho).

    - Misc small fixes.

    * tag 'edac_for_4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
    ARM: socfpga: Enable OCRAM ECC on startup
    ARM: socfpga: Enable L2 cache ECC on startup
    ARM: dts: Add Altera L2 Cache and OCRAM EDAC entries
    EDAC, altera: Add Altera L2 cache and OCRAM support
    EDAC: Use edac_debugfs_remove_recursive() in edac_debugfs_exit()
    EDAC, mpc85xx: Silence unused variable warning
    EDAC: Cleanup/sync workqueue functions
    EDAC: Kill workqueue setup/teardown functions
    EDAC: Balance workqueue setup and teardown
    arm64: Update the APM X-Gene EDAC node with the RB register resource
    EDAC, xgene: Add missing SoC register bus error handling
    Documentation, EDAC: Update xgene binding for missing register bus
    EDAC, amd64_edac: Shift wrapping issue in f1x_get_norm_dct_addr()

    Linus Torvalds
     

15 Mar, 2016

1 commit

  • Pull RAS updates from Ingo Molnar:
    "Various RAS updates:

    - AMD MCE support updates for future CPUs, fixes and 'SMCA' (Scalable
    MCA) error decoding support (Aravind Gopalakrishnan)

    - x86 memcpy_mcsafe() support, to enable smart(er) hardware error
    recovery in NVDIMM drivers, based on an extension of the x86
    exception handling code. (Tony Luck)"

    * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    EDAC/sb_edac: Fix computation of channel address
    x86/mm, x86/mce: Add memcpy_mcsafe()
    x86/mce/AMD: Document some functionality
    x86/mce: Clarify comments regarding deferred error
    x86/mce/AMD: Fix logic to obtain block address
    x86/mce/AMD, EDAC: Enable error decoding of Scalable MCA errors
    x86/mce: Move MCx_CONFIG MSR definitions
    x86/mce: Check for faults tagged in EXTABLE_CLASS_FAULT exception table entries
    x86/mm: Expand the exception table logic to allow new handling options
    x86/mce/AMD: Set MCAX Enable bit
    x86/mce/AMD: Carve out threshold block preparation
    x86/mce/AMD: Fix LVT offset configuration for thresholding
    x86/mce/AMD: Reduce number of blocks scanned per bank
    x86/mce/AMD: Do not perform shared bank check for future processors
    x86/mce: Fix order of AMD MCE init function call

    Linus Torvalds
     

11 Mar, 2016

1 commit

  • Large memory Haswell-EX systems with multiple DIMMs per channel were
    sometimes reporting the wrong DIMM.

    Found three problems:

    1) Debug printouts for socket and channel interleave were not interpreting
    the register fields correctly. The socket interleave field is a 2^X
    value (0=1, 1=2, 2=4, 3=8). The channel interleave is X+1 (0=1, 1=2,
    2=3. 3=4).

    2) Actual use of the socket interleave value didn't interpret as 2^X

    3) Conversion of address to channel address was complicated, and wrong.

    Signed-off-by: Tony Luck
    Acked-by: Aristeu Rozanski
    Cc: Borislav Petkov
    Cc: Linus Torvalds
    Cc: Mauro Carvalho Chehab
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: linux-edac@vger.kernel.org
    Cc: stable@vger.kernel.org
    Signed-off-by: Ingo Molnar

    Luck, Tony
     

08 Mar, 2016

2 commits

  • For Scalable MCA enabled processors, errors are listed per IP block. And
    since it is not required for an IP to map to a particular bank, we need
    to use HWID and McaType values from the MCx_IPID register to figure out
    which IP a given bank represents.

    We also have a new bit (TCC) in the MCx_STATUS register to indicate Task
    context is corrupt.

    Add logic here to decode errors from all known IP blocks for Fam17h
    Model 00-0fh and to print TCC errors.

    [ Minor fixups. ]
    Signed-off-by: Aravind Gopalakrishnan
    Signed-off-by: Borislav Petkov
    Cc: Borislav Petkov
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: Tony Luck
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1457021458-2522-3-git-send-email-Aravind.Gopalakrishnan@amd.com
    Signed-off-by: Ingo Molnar

    Aravind Gopalakrishnan
     
  • Correct a typo introduced by

    d0cdf9003140 ("EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support")

    As a result under some configurations DIMMs were not correctly
    recognized. Problem affects only Xeon Phi architecture.

    Signed-off-by: Hubert Chrzaniuk
    Acked-by: Aristeu Rozanski
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac
    Cc: lukasz.anaczkowski@intel.com
    Link: http://lkml.kernel.org/r/1457361045-26221-1-git-send-email-hubert.chrzaniuk@intel.com
    Signed-off-by: Borislav Petkov

    Hubert Chrzaniuk
     

11 Feb, 2016

1 commit

  • Add L2 Cache and On-Chip RAM EDAC support for the Altera SoCs. The SDRAM
    controller is using the Memory Controller model.

    Each type of ECC is individually configurable.

    Signed-off-by: Thor Thayer
    Cc: devicetree@vger.kernel.org
    Cc: dinguyen@opensource.altera.com
    Cc: galak@codeaurora.org
    Cc: grant.likely@linaro.org
    Cc: ijc+devicetree@hellion.org.uk
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux@arm.linux.org.uk
    Cc: linux-doc@vger.kernel.org
    Cc: linux-edac
    Cc: mark.rutland@arm.com
    Cc: Mauro Carvalho Chehab
    Cc: pawel.moll@arm.com
    Cc: robh+dt@kernel.org
    Link: http://lkml.kernel.org/r/1455132384-17108-1-git-send-email-tthayer@opensource.altera.com
    Signed-off-by: Borislav Petkov

    Thor Thayer
     

10 Feb, 2016

1 commit

  • debugfs_remove() is used to remove a file or a directory from the
    debugfs filesystem on an EDAC device exit. However edac_debugfs might
    not be empty. This is similar to

    30f84a891bf6 ("EDAC: Use edac_debugfs_remove_recursive()")

    which changed the EDAC MCI code to use edac_debugfs_remove_recursive().

    Suggested-by: Borislav Petkov
    Signed-off-by: Thor Thayer
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1455064165-3816-1-git-send-email-tthayer@opensource.altera.com
    Signed-off-by: Borislav Petkov

    Thor Thayer
     

03 Feb, 2016

1 commit

  • We were getting this build warning:

    drivers/edac/mpc85xx_edac.c:1247:6: warning: unused variable 'pvr'

    pvr is only used if CONFIG_FSL_SOC_BOOKE is defined. Declare it
    __maybe_unused.

    Suggested-by: Guenter Roeck
    Signed-off-by: Sudip Mukherjee
    Reviewed-by: Johannes Thumshirn
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1454427573-7994-1-git-send-email-sudipm.mukherjee@gmail.com
    Signed-off-by: Borislav Petkov

    Sudip Mukherjee
     

02 Feb, 2016

3 commits


25 Jan, 2016

2 commits

  • Add missing register bus error handling for APM X-Gene EDAC SoC and fix
    a checking condition for CE error promoted to UE.

    Signed-off-by: Loc Ho
    Cc: Arnd Bergmann
    Cc: devicetree@vger.kernel.org
    Cc: linux-arm-kernel@lists.infradead.org
    Cc: linux-edac
    Cc: Mauro Carvalho Chehab
    Cc: patches@apm.com
    Link: http://lkml.kernel.org/r/1453495625-28006-3-git-send-email-lho@apm.com
    Signed-off-by: Borislav Petkov

    Loc Ho
     
  • dct_sel_base_off is declared as a u64 but we're only using the lower 32
    bits because of a shift wrapping bug. This can possibly truncate the
    upper 16 bits of DctSelBaseOffset[47:26], causing us to misdecode the CS
    row.

    Fixes: c8e518d5673d ('amd64_edac: Sanitize f10_get_base_addr_offset')
    Signed-off-by: Dan Carpenter
    Cc: Aravind Gopalakrishnan
    Cc: linux-edac
    Cc:
    Link: http://lkml.kernel.org/r/20160120095451.GB19898@mwanda
    Signed-off-by: Borislav Petkov

    Dan Carpenter
     

02 Jan, 2016

1 commit

  • Use to_delayed_work() instead of open-coding it.

    Signed-off-by: Geliang Tang
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/58c0e319c7263a10b692100c657c06c42814aecf.1451659910.git.geliangtang@163.com
    Signed-off-by: Borislav Petkov

    Geliang Tang
     

11 Dec, 2015

9 commits

  • Knights Landing does not come with register that could be used to fetch
    DIMM width. However the value is fixed for this architecture so it can
    be hardcoded.

    Signed-off-by: Hubert Chrzaniuk
    Cc: Doug Thompson
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac
    Cc: lukasz.anaczkowski@intel.com
    Link: http://lkml.kernel.org/r/1449840082-18673-1-git-send-email-hubert.chrzaniuk@intel.com
    Signed-off-by: Borislav Petkov

    Hubert Chrzaniuk
     
  • Hide the EDAC workqueue pointer in a separate compilation unit and add
    accessors for the workqueue manipulations needed.

    Remove edac_pci_reset_delay_period() which wasn't used by anything. It
    seems it got added without a user with

    91b99041c1d5 ("drivers/edac: updated PCI monitoring")

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • They're not used anywhere else.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • It cannot fail now. We either load EDAC core after having successfully
    initialized edac_subsys or we don't.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • ... and use the accessor instead.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • This was really dumb - reference counting for the main EDAC sysfs
    object. While we could've simply registered it as the first thing in the
    module init path and then hand it around to what needs it.

    Do that and rip out all the code around it, thus simplifying the whole
    handling significantly.

    Move the edac_subsys node back to edac_module.c.

    Signed-off-by: Borislav Petkov

    Borislav Petkov
     
  • EDAC workqueue destruction is really fragile. We cancel delayed work
    but if it is still running and requeues itself, we still go ahead and
    destroy the workqueue and the queued work explodes when workqueue core
    attempts to run it.

    Make the destruction more robust by switching op_state to offline so
    that requeuing stops. Cancel any pending work *synchronously* too.

    EDAC i7core: Driver loaded.
    general protection fault: 0000 [#1] SMP
    CPU 12
    Modules linked in:
    Supported: Yes
    Pid: 0, comm: kworker/0:1 Tainted: G IE 3.0.101-0-default #1 HP ProLiant DL380 G7
    RIP: 0010:[] [] __queue_work+0x17/0x3f0
    < ... regs ...>
    Process kworker/0:1 (pid: 0, threadinfo ffff88019def6000, task ffff88019def4600)
    Stack:
    ...
    Call Trace:
    call_timer_fn
    run_timer_softirq
    __do_softirq
    call_softirq
    do_softirq
    irq_exit
    smp_apic_timer_interrupt
    apic_timer_interrupt
    intel_idle
    cpuidle_idle_call
    cpu_idle
    Code: ...
    RIP __queue_work
    RSP

    Signed-off-by: Borislav Petkov
    Cc:

    Borislav Petkov
     
  • I get the splat below when modprobing/rmmoding EDAC drivers. It happens
    because bus->name is invalid after bus_unregister() has run. The Code: section
    below corresponds to:

    .loc 1 1108 0
    movq 672(%rbx), %rax # mci_1(D)->bus, mci_1(D)->bus
    .loc 1 1109 0
    popq %rbx #

    .loc 1 1108 0
    movq (%rax), %rdi # _7->name,
    jmp kfree #

    and %rax has some funky stuff 2030203020312030 which looks a lot like
    something walked over it.

    Fix that by saving the name ptr before doing stuff to string it points to.

    general protection fault: 0000 [#1] SMP
    Modules linked in: ...
    CPU: 4 PID: 10318 Comm: modprobe Tainted: G I EN 3.12.51-11-default+ #48
    Hardware name: HP ProLiant DL380 G7, BIOS P67 05/05/2011
    task: ffff880311320280 ti: ffff88030da3e000 task.ti: ffff88030da3e000
    RIP: 0010:[] [] edac_unregister_sysfs+0x22/0x30 [edac_core]
    RSP: 0018:ffff88030da3fe28 EFLAGS: 00010292
    RAX: 2030203020312030 RBX: ffff880311b4e000 RCX: 000000000000095c
    RDX: 0000000000000001 RSI: ffff880327bb9600 RDI: 0000000000000286
    RBP: ffff880311b4e750 R08: 0000000000000000 R09: ffffffff81296110
    R10: 0000000000000400 R11: 0000000000000000 R12: ffff88030ba1ac68
    R13: 0000000000000001 R14: 00000000011b02f0 R15: 0000000000000000
    FS: 00007fc9bf8f5700(0000) GS:ffff8801a7c40000(0000) knlGS:0000000000000000
    CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 0000000000403c90 CR3: 000000019ebdf000 CR4: 00000000000007e0
    Stack:
    Call Trace:
    i7core_unregister_mci.isra.9
    i7core_remove
    pci_device_remove
    __device_release_driver
    driver_detach
    bus_remove_driver
    pci_unregister_driver
    i7core_exit
    SyS_delete_module
    system_call_fastpath
    0x7fc9bf426536
    Code: 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 53 48 89 fb e8 52 2a 1f e1 48 8b bb a0 02 00 00 e8 46 59 1f e1 48 8b 83 a0 02 00 00 5b 8b 38 e9 26 9a fe e0 66 0f 1f 44 00 00 66 66 66 66 90 48 8b
    RIP [] edac_unregister_sysfs+0x22/0x30 [edac_core]
    RSP

    Signed-off-by: Borislav Petkov
    Cc: Mauro Carvalho Chehab
    Cc: # v3.6..
    Fixes: 7a623c039075 ("edac: rewrite the sysfs code to use struct device")

    Borislav Petkov
     
  • Originally the mpc85xx-pci-edac driver bound directly to the PCI
    controller node.

    Commit

    905e75c46dba ("powerpc/fsl-pci: Unify pci/pcie initialization code")

    turned the PCI controller code into a platform device. Since we can't
    have two drivers binding to the same device, the EDAC code was changed
    to be called into as a library-style submodule. However, this doesn't
    work if the EDAC driver is built as a module.

    Commit

    8d8fcba6d1ea ("EDAC: Rip out the edac_subsys reference counting")

    exposed another problem with this approach -- mpc85xx_pci_err_probe()
    was being called in the same early boot phase that the PCI controller
    is initialized, rather than in the device_initcall phase that the EDAC
    layer expects. This caused a crash on boot.

    To fix this, the PCI controller code now creates a child platform device
    specifically for EDAC, which the mpc85xx-pci-edac driver binds to.

    Reported-by: Michael Ellerman
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Scott Wood
    Cc: Andrew Morton
    Cc: Benjamin Herrenschmidt
    Cc: Daniel Axtens
    Cc: Doug Thompson
    Cc: Jia Hongtao
    Cc: Jiri Kosina
    Cc: Kim Phillips
    Cc: linux-edac
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: Masanari Iida
    Cc: Mauro Carvalho Chehab
    Cc: Paul Mackerras
    Cc: Randy Dunlap
    Cc: Rob Herring
    Link: http://lkml.kernel.org/r/1449774432-18593-1-git-send-email-scottwood@freescale.com
    Signed-off-by: Borislav Petkov

    Scott Wood
     

06 Dec, 2015

3 commits

  • Knights Landing is the next generation architecture for HPC market.

    KNL introduces concept of a tile and CHA - Cache/Home Agent for memory
    accesses.

    Some things are fixed in KNL:
    () There's single DIMM slot per channel
    () There's 2 memory controllers with 3 channels each, however,
    from EDAC standpoint, it is presented as single memory controller
    with 6 channels. In order to represent 2 MCs w/ 3 CH, it would
    require major redesign of EDAC core driver.

    Basically, two functionalities are added/extended:
    () during driver initialization KNL topology is being recognized, i.e.
    which channels are populated with what DIMM sizes
    (knl_get_dimm_capacity function)
    () handle MCE errors - channel swizzling

    Reviewed-by: Tony Luck
    Signed-off-by: Jim Snow
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac
    Cc: lukasz.anaczkowski@intel.com
    Link: http://lkml.kernel.org/r/1449136134-23706-5-git-send-email-hubert.chrzaniuk@intel.com
    [ Rebase to 4.4-rc3. ]
    Signed-off-by: Hubert Chrzaniuk
    Signed-off-by: Borislav Petkov

    Jim Snow
     
  • Add options to sbridge_get_all_devices() to allow for duplicate device
    IDs and devices that are scattered across mulitple PCI buses.

    Signed-off-by: Jim Snow
    Acked-by: Tony Luck
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac
    Cc: lukasz.anaczkowski@intel.com
    Link: http://lkml.kernel.org/r/1449136134-23706-4-git-send-email-hubert.chrzaniuk@intel.com
    [ Rebase to 4.4-rc3. ]
    Signed-off-by: Hubert Chrzaniuk
    Signed-off-by: Borislav Petkov

    Jim Snow
     
  • SAD limit, interleave mode and DRAM related functionalities are now
    virtualized, so that overriding them is easier.

    Signed-off-by: Jim Snow
    Acked-by: Tony Luck
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac
    Cc: lukasz.anaczkowski@intel.com
    Link: http://lkml.kernel.org/r/1449136134-23706-3-git-send-email-hubert.chrzaniuk@intel.com
    [ Rebase to 4.4-rc3. ]
    Signed-off-by: Hubert Chrzaniuk
    Signed-off-by: Borislav Petkov

    Jim Snow
     

03 Dec, 2015

2 commits

  • These new helpers simplify implementing multi-driver modules and
    properly handle failure to register one driver by unregistering all
    previously registered drivers.

    Signed-off-by: Thierry Reding
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1449073138-10852-2-git-send-email-thierry.reding@gmail.com
    Signed-off-by: Borislav Petkov

    Thierry Reding
     
  • These new helpers simplify implementing multi-driver modules and
    properly handle failure to register one driver by unregistering all
    previously registered drivers.

    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Thierry Reding
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1449136632-11680-1-git-send-email-thierry.reding@gmail.com
    Signed-off-by: Borislav Petkov

    Thierry Reding
     

18 Nov, 2015

1 commit


07 Nov, 2015

1 commit

  • Pull asm-generic cleanups from Arnd Bergmann:
    "The asm-generic changes for 4.4 are mostly a series from Christoph
    Hellwig to clean up various abuses of headers in there. The patch to
    rename the io-64-nonatomic-*.h headers caused some conflicts with new
    users, so I added a workaround that we can remove in the next merge
    window.

    The only other patch is a warning fix from Marek Vasut"

    * tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h
    asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
    gpio-mxc: stop including
    n_tracesink: stop including
    n_tracerouter: stop including
    mlx5: stop including
    hifn_795x: stop including
    drbd: stop including
    move count_zeroes.h out of asm-generic
    move io-64-nonatomic*.h out of asm-generic

    Linus Torvalds
     

04 Nov, 2015

1 commit

  • Pull RAS changes from Ingo Molnar:
    "The main system reliability related changes were from x86, but also
    some generic RAS changes:

    - AMD MCE error injection subsystem enhancements. (Aravind
    Gopalakrishnan)

    - Fix MCE and CPU hotplug interaction bug. (Ashok Raj)

    - kcrash bootup robustness fix. (Baoquan He)

    - kcrash cleanups. (Borislav Petkov)

    - x86 microcode driver rework: simplify it by unmodularizing it and
    other cleanups. (Borislav Petkov)"

    * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
    x86/mce: Add a default case to the switch in __mcheck_cpu_ancient_init()
    x86/mce: Add a Scalable MCA vendor flags bit
    MAINTAINERS: Unify the microcode driver section
    x86/microcode/intel: Move #ifdef DEBUG inside the function
    x86/microcode/amd: Remove maintainers from comments
    x86/microcode: Remove modularization leftovers
    x86/microcode: Merge the early microcode loader
    x86/microcode: Unmodularize the microcode driver
    x86/mce: Fix thermal throttling reporting after kexec
    kexec/crash: Say which char is the unrecognized
    x86/setup/crash: Check memblock_reserve() retval
    x86/setup/crash: Cleanup some more
    x86/setup/crash: Remove alignment variable
    x86/setup: Cleanup crashkernel reservation functions
    x86/amd_nb, EDAC: Rename amd_get_node_id()
    x86/setup: Do not reserve crashkernel high memory if low reservation failed
    x86/microcode/amd: Do not overwrite final patch levels
    x86/microcode/amd: Extract current patch level read to a function
    x86/ras/mce_amd_inj: Inject bank 4 errors on the NBC
    x86/ras/mce_amd_inj: Trigger deferred and thresholding errors interrupts
    ...

    Linus Torvalds
     

23 Oct, 2015

1 commit

  • The PAGES_TO_MiB macro is used for unit conversion but the
    trace_mc_event() tracepoint expects a page address. Fix that.

    Signed-off-by: Tan Xiaojun
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1445341538-24271-1-git-send-email-tanxiaojun@huawei.com
    Signed-off-by: Borislav Petkov

    Tan Xiaojun
     

21 Oct, 2015

1 commit

  • This function doesn't give us the "Node ID" as the function name
    suggests. Rather, it receives a PCI device as argument, checks
    the available F3 PCI device IDs in the system and returns the
    index of the matching Bus/Device IDs.

    Rename it to amd_pci_dev_to_node_id().

    No functional change is introduced.

    Suggested-by: Ingo Molnar
    Signed-off-by: Aravind Gopalakrishnan
    Signed-off-by: Borislav Petkov
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Mauro Carvalho Chehab
    Cc: Peter Zijlstra
    Cc: Suravee Suthikulpanit
    Cc: Thomas Gleixner
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1445246268-26285-3-git-send-email-bp@alien8.de
    Signed-off-by: Ingo Molnar

    Aravind Gopalakrishnan
     

15 Oct, 2015

3 commits

  • The bootloader may or may not enable the ECC_CORR_EN bit. By
    not enabling ECC_CORR_EN, when error happens, it is the user's
    responsibility to perform a full SDRAM scrub.

    Remove the check for ECC_CORR_EN.

    Signed-off-by: Dinh Nguyen
    Cc: linux-edac
    Cc: Mauro Carvalho Chehab
    Cc: Thor Thayer
    Link: http://lkml.kernel.org/r/1444864456-21778-1-git-send-email-dinguyen@opensource.altera.com
    Signed-off-by: Borislav Petkov

    Dinh Nguyen
     
  • These are not implementations of default architecture code but helpers
    for drivers. Move them to the place they belong to.

    Signed-off-by: Christoph Hellwig
    Acked-by: Darren Hart
    Acked-by: Hitoshi Mitake
    Signed-off-by: Arnd Bergmann

    Christoph Hellwig
     
  • debugfs_remove() is used to remove a file or a directory from the
    debugfs filesystem, but mci->debugfs might not empty.

    This can be triggered by the following sequence:

    1) Enable CONFIG_EDAC_DEBUG
    2) insmod an EDAC module (like i3000_edac or similar)
    3) rmmod this module
    4) we can see files remaining under /edac/ like
    "fake_inject", for example.

    Removing edac_core then, causes a NULL pointer dereference.

    Reported-by: Yun Wu (Abel)
    Signed-off-by: Tan Xiaojun
    Cc: Doug Thompson
    Cc: Mauro Carvalho Chehab
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1444787364-104353-1-git-send-email-tanxiaojun@huawei.com
    Signed-off-by: Borislav Petkov

    Tan Xiaojun
     

03 Oct, 2015

1 commit


29 Sep, 2015

2 commits

  • Git provides us all the changelogs anyway. So trim the comments section
    here. Update the copyrights info while at it.

    Signed-off-by: Aravind Gopalakrishnan
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1443440593-2316-3-git-send-email-Aravind.Gopalakrishnan@amd.com
    Signed-off-by: Borislav Petkov

    Aravind Gopalakrishnan
     
  • The scrub rate control register has moved to function 2 in PCI config
    space and is at a different offset on family 0x15, models 0x60 and
    later. The minimum recommended scrub rate has also changed. (Refer to
    D18F2x1c9_dct[1:0][DramScrub] in Fam15hM60h BKDG).

    Adjust set_scrub_rate() and get_scrub_rate() functions to accommodate
    this.

    Tested on F15hM60h, Fam15h, models 00h-0fh and Fam10h systems.

    Signed-off-by: Aravind Gopalakrishnan
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1443440593-2316-2-git-send-email-Aravind.Gopalakrishnan@amd.com
    [ Cleanup conditionals. ]
    Signed-off-by: Borislav Petkov

    Aravind Gopalakrishnan
     

28 Sep, 2015

1 commit

  • Updating dimm_label to an empty string does not make much sense. Change
    the sysfs dimm_label store operation to fail a request when an input
    string is empty.

    Suggested-by: Borislav Petkov
    Signed-off-by: Toshi Kani
    Cc: elliott@hpe.com
    Cc: Mauro Carvalho Chehab
    Cc: Tony Luck
    Cc: linux-edac
    Link: http://lkml.kernel.org/r/1443124767.25474.172.camel@hpe.com
    Signed-off-by: Borislav Petkov

    Toshi Kani