Skip to content
Snippets Groups Projects
  1. Jul 25, 2013
  2. Jul 24, 2013
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 07bc9dc1
      Linus Torvalds authored
      Pull powerpc fixes from Ben Herrenschmidt:
       "Here is a series of powerpc fixes.  It's a bit big, mostly because of
        the series of 11 "EEH" patches from Gavin.  The EEH (Our IBM specific
        PCI/PCIe Enhanced Error Handling) code had been rotting for a while
        and this merge window saw a significant rework & fixing of it by Gavin
        Shan.
      
        However, that wasn't complete and left some open issues.  There were
        still a few corner cases that didn't work properly, for example in
        relation to hotplug and devices without explicit error handlers.  We
        had some patches but they weren't quite good enough yet so I left them
        off the 3.11 merge window.
      
        Gavin since then fixed it all up, we ran quite a few rounds of testing
        and it seems fairly solid (at least probably more than it has ever
        been).  This should probably have made -rc1 but both Gavin and I took
        some vacation so it had to wait for -rc2.
      
        The rest is more bug fixes, mostly to new features recently added, for
        example, we missed the cpu table entry for one of the two models of P8
        (we didn't realize they had different PVR [Processor Version Register]
        values), some module CRC issues, etc..."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (23 commits)
        powerpc/perf: BHRB filter configuration should follow the task
        powerpc/perf: Ignore separate BHRB privilege state filter request
        powerpc/powernv: Mark pnv_pci_init_ioda2_phb() as __init
        powerpc/mm: Use the correct SLB(LLP) encoding in tlbie instruction
        powerpc/mm: Fix fallthrough bug in hpte_decode
        powerpc/pseries: Fix a typo in pSeries_lpar_hpte_insert()
        powerpc/eeh: Introdce flag to protect sysfs
        powerpc/eeh: Fix unbalanced enable for IRQ
        powerpc/eeh: Don't use pci_dev during BAR restore
        powerpc/eeh: Use partial hotplug for EEH unaware drivers
        powerpc/pci: Partial tree hotplug support
        powerpc/eeh: Use safe list traversal when walking EEH devices
        powerpc/eeh: Keep PE during hotplug
        powerpc/pci/hotplug: Don't need to remove from EEH cache twice
        powerpc/pci: Override pcibios_release_device()
        powerpc/eeh: Export functions for hotplug
        powerpc/eeh: Remove reference to PCI device
        powerpc: Fix the corrupt r3 error during MCE handling.
        powerpc/perf: Set PPC_FEATURE2_EBB when we register the power8 PMU
        powerpc/pseries: Drop "select HOTPLUG"
        ...
      07bc9dc1
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · b48a97be
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       "This push fixes a memory corruption issue in caam, as well as
        reverting the new optimised crct10dif implementation as it breaks boot
        on initrd systems.
      
        Hopefully crct10dif will be reinstated once the supporting code is
        added so that it doesn't break boot"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        Revert "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework"
        crypto: caam - Fixed the memory out of bound overwrite issue
      b48a97be
    • Herbert Xu's avatar
      Revert "crypto: crct10dif - Wrap crc_t10dif function all to use crypto transform framework" · e70308ec
      Herbert Xu authored
      
      This reverts commits
          67822649
          39761214
          0b95a7f8
          31d93962
          2d31e518
      
      Unfortunately this change broke boot on some systems that used an
      initrd which does not include the newly created crct10dif modules.
      As these modules are required by sd_mod under certain configurations
      this is a serious problem.
      
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      e70308ec
    • Anshuman Khandual's avatar
      powerpc/perf: BHRB filter configuration should follow the task · ff3d79dc
      Anshuman Khandual authored
      
      When the task moves around the system, the corresponding cpuhw
      per cpu strcuture should be popullated with the BHRB filter
      request value so that PMU could be configured appropriately with
      that during the next call into power_pmu_enable().
      
      Signed-off-by: default avatarAnshuman Khandual <khandual@linux.vnet.ibm.com>
      Acked-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ff3d79dc
    • Anshuman Khandual's avatar
      powerpc/perf: Ignore separate BHRB privilege state filter request · 7689bdca
      Anshuman Khandual authored
      
      Completely ignore BHRB privilege state filter request as we are
      already configuring that with privilege state filtering attribute
      for the accompanying PMU event. This would help achieve cleaner
      user space interaction for BHRB.
      
      This patch fixes a situation like this
      
      Before patch:-
      ------------
      ./perf record -j any -e branch-misses:k ls
      Error:
      The sys_perf_event_open() syscall returned with 95 (Operation not
      supported) for event (branch-misses:k).
      /bin/dmesg may provide additional information.
      No CONFIG_PERF_EVENTS=y kernel support configured?
      
      Here 'perf record' actually copies over ':k' filter request into BHRB
      privilege state filter config and our previous check in kernel would
      fail that.
      
      After patch:-
      -------------
      ./perf record -j any -e branch-misses:k ls
      perf  perf.data  perf.data.old  test-mmap-ring
      [ perf record: Woken up 1 times to write data ]
      [ perf record: Captured and wrote 0.002 MB perf.data (~102 samples)]
      
      Signed-off-by: default avatarAnshuman Khandual <khandual@linux.vnet.ibm.com>
      Acked-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7689bdca
    • Bjorn Helgaas's avatar
      powerpc/powernv: Mark pnv_pci_init_ioda2_phb() as __init · 67975005
      Bjorn Helgaas authored
      
      Mark pnv_pci_init_ioda2_phb() as __init.  It is called only from an
      init function (pnv_pci_init()), and it calls an init function
      (pnv_pci_init_ioda_phb()):
      
          pnv_pci_init                # init
            pnv_pci_init_ioda2_phb    # non-init
      	pnv_pci_init_ioda_phb   # init
      
      This should fix a section mismatch warning.
      
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      67975005
    • Aneesh Kumar K.V's avatar
      powerpc/mm: Use the correct SLB(LLP) encoding in tlbie instruction · de640959
      Aneesh Kumar K.V authored
      
      The sllp value is stored in mmu_psize_defs in such a way that we can easily OR
      the value to get the operand for slbmte instruction. ie, the L and LP bits are
      not contiguous. Decode the bits and use them correctly in tlbie.
      regression is introduced by 1f6aaacc
      "powerpc: Update tlbie/tlbiel as per ISA doc"
      
      Reported-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      de640959
    • Aneesh Kumar K.V's avatar
      powerpc/mm: Fix fallthrough bug in hpte_decode · 83383b73
      Aneesh Kumar K.V authored
      
      We should not fallthrough different case statements in hpte_decode. Add
      break statement to break out of the switch. The regression is introduced by
      dcda287a "powerpc/mm: Simplify hpte_decode"
      
      Reported-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      83383b73
    • Denis Kirjanov's avatar
      powerpc/pseries: Fix a typo in pSeries_lpar_hpte_insert() · ad92c615
      Denis Kirjanov authored
      
      Commit 801eb73f introduced
      a bug while checking PTE flags. We have to drop the _PAGE_COHERENT flag
      when __PAGE_NO_CACHE is set and the cache update policy is not write-through
      (i.e. _PAGE_WRITETHRU is not set)
      
      Signed-off-by: default avatarDenis Kirjanov <kda@linux-powerpc.org>
      Reviewed-by: default avatarAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      CC:  Michael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ad92c615
    • Gavin Shan's avatar
      powerpc/eeh: Introdce flag to protect sysfs · ab55d218
      Gavin Shan authored
      
      The patch introduces flag EEH_DEV_SYSFS to keep track that the sysfs
      entries for the corresponding EEH device (then PCI device) has been
      added or removed, in order to avoid race condition.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ab55d218
    • Gavin Shan's avatar
      powerpc/eeh: Fix unbalanced enable for IRQ · 91150af3
      Gavin Shan authored
      
      The patch fixes following issue:
      
      Unbalanced enable for IRQ 23
      ------------[ cut here ]------------
      WARNING: at kernel/irq/manage.c:437
      :
      NIP [c00000000016de8c] .__enable_irq+0x11c/0x140
      LR [c00000000016de88] .__enable_irq+0x118/0x140
      Call Trace:
      [c000003ea1f23880] [c00000000016de88] .__enable_irq+0x118/0x140 (unreliable)
      [c000003ea1f23910] [c00000000016df08] .enable_irq+0x58/0xa0
      [c000003ea1f239a0] [c0000000000388b4] .eeh_enable_irq+0xc4/0xe0
      [c000003ea1f23a30] [c000000000038a28] .eeh_report_reset+0x78/0x130
      [c000003ea1f23ac0] [c000000000037508] .eeh_pe_dev_traverse+0x98/0x170
      [c000003ea1f23b60] [c0000000000391ac] .eeh_handle_normal_event+0x2fc/0x3d0
      [c000003ea1f23bf0] [c000000000039538] .eeh_handle_event+0x2b8/0x2c0
      [c000003ea1f23c90] [c000000000039600] .eeh_event_handler+0xc0/0x170
      [c000003ea1f23d30] [c0000000000da9a0] .kthread+0xf0/0x100
      [c000003ea1f23e30] [c00000000000a1dc] .ret_from_kernel_thread+0x5c/0x80
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      91150af3
    • Gavin Shan's avatar
      powerpc/eeh: Don't use pci_dev during BAR restore · 4b83bd45
      Gavin Shan authored
      
      While restoring BARs for one specific PCI device, the pci_dev
      instance should have been released. So it's not reliable to use
      the pci_dev instance on restoring BARs. However, we still need
      some information (e.g. PCIe capability position, header type) from
      the pci_dev instance. So we have to store those information to
      EEH device in advance.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      4b83bd45
    • Gavin Shan's avatar
      powerpc/eeh: Use partial hotplug for EEH unaware drivers · f5c57710
      Gavin Shan authored
      
      When EEH error happens to one specific PE, some devices with drivers
      supporting EEH won't except hotplug on the device. However, there
      might have other deivces without driver, or with driver without EEH
      support. For the case, we need do partial hotplug in order to make
      sure that the PE becomes absolutely quite during reset. Otherise,
      the PE reset might fail and leads to failure of error recovery.
      
      The current code doesn't handle that 'mixed' case properly, it either
      uses the error callbacks to the drivers, or tries hotplug, but doesn't
      handle a PE (EEH domain) composed of a combination of the two.
      
      The patch intends to support so-called "partial" hotplug for EEH:
      Before we do reset, we stop and remove those PCI devices without
      EEH sensitive driver. The corresponding EEH devices are not detached
      from its PE, but with special flag. After the reset is done, those
      EEH devices with the special flag will be scanned one by one.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f5c57710
    • Gavin Shan's avatar
      powerpc/pci: Partial tree hotplug support · ab444ec9
      Gavin Shan authored
      
      When EEH error happens to one specific PE, the device drivers
      of its attached EEH devices (PCI devices) are checked to see
      the further action: reset with complete hotplug, or reset without
      hotplug. However, that's not enough for those PCI devices whose
      drivers can't support EEH, or those PCI devices without driver.
      So we need do so-called "partial hotplug" on basis of PCI devices.
      In the situation, part of PCI devices of the specific PE are
      unplugged and plugged again after PE reset.
      
      The patch changes pcibios_add_pci_devices() so that it can support
      full hotplug and so-called "partial" hotplug based on device-tree
      or real hardware. It's notable that pci_of_scan.c has been changed
      for a bit in order to support the "partial" hotplug based on dev-tree.
      
      Most of the generic code already supports that, we just need to
      plumb it properly on our side.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ab444ec9
    • Gavin Shan's avatar
      powerpc/eeh: Use safe list traversal when walking EEH devices · 9feed42e
      Gavin Shan authored
      
      Currently, we're trasversing the EEH devices list using list_for_each_entry().
      That's not safe enough because the EEH devices might be removed from
      its parent PE while doing iteration. The patch replaces that with
      list_for_each_entry_safe().
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      9feed42e
    • Gavin Shan's avatar
      powerpc/eeh: Keep PE during hotplug · 807a827d
      Gavin Shan authored
      
      When we do normal hotplug, the PE (shadow EEH structure) shouldn't be
      kept around.
      
      However, we need to keep it if the hotplug an artifial one caused by
      EEH errors recovery.
      
      Since we remove EEH device through the PCI hook pcibios_release_device(),
      the flag "purge_pe" passed to various functions is meaningless. So the patch
      removes the meaningless flag and introduce new flag "EEH_PE_KEEP"
      to save the PE while doing hotplug during EEH error recovery.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      807a827d
    • Gavin Shan's avatar
      powerpc/pci/hotplug: Don't need to remove from EEH cache twice · c7b51bce
      Gavin Shan authored
      
      Since pcibios_release_device() called by pci_stop_and_remove_bus_device()
      has removed the device from the EEH cache, we needn't do that again.
      
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c7b51bce
    • Gavin Shan's avatar
      powerpc/pci: Override pcibios_release_device() · 008a4938
      Gavin Shan authored
      
      The patch overrides pcibios_release_device() to release EEH
      resources (EEH cache, unbinding EEH device) for the indicated PCI
      device.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      008a4938
    • Gavin Shan's avatar
      powerpc/eeh: Export functions for hotplug · f2856491
      Gavin Shan authored
      
      Make some functions public in order to support hotplug on either specific
      PCI bus or PCI device in future.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      f2856491
    • Gavin Shan's avatar
      powerpc/eeh: Remove reference to PCI device · 0ba17888
      Gavin Shan authored
      
      We will rely on pcibios_release_device() to remove the EEH cache
      and unbind EEH device for the specific PCI device. So we shouldn't
      hold the reference to the PCI device from EEH cache and EEH device.
      Otherwise, pcibios_release_device() won't be called as we expected.
      The patch removes the reference to the PCI device in EEH core.
      
      Signed-off-by: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0ba17888
    • Mahesh Salgaonkar's avatar
      powerpc: Fix the corrupt r3 error during MCE handling. · ee1dd1e3
      Mahesh Salgaonkar authored
      
      During Machine Check interrupt on pseries platform, R3 generally points to
      memory region inside RTAS (FWNMI) area. We see r3 corruption because when RTAS
      delivers the machine check exception it passes the address inside FWNMI area
      with the top most bit set. This patch fixes this issue by masking top two bit
      in machine check exception handler.
      
      Signed-off-by: default avatarMahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ee1dd1e3
    • Michael Ellerman's avatar
      powerpc/perf: Set PPC_FEATURE2_EBB when we register the power8 PMU · 5d7ead00
      Michael Ellerman authored
      
      The presence or absence of EBB is advertised to userspace via the presence
      or absence of PPC_FEATURE2_EBB in cpu_user_features2.
      
      Because the kernel can be built without PMU support, we should only add
      PPC_FEATURE2_EBB to cpu_user_features2 when we successfully register the
      power8 PMU support.
      
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      5d7ead00
    • Paul Bolle's avatar
      powerpc/pseries: Drop "select HOTPLUG" · 97645154
      Paul Bolle authored
      
      The Kconfig symbol HOTPLUG was removed with commit 40b31360 ("Finally
      eradicate CONFIG_HOTPLUG"). But there's still one select statement for
      that symbol. It seems that select statement was added after the patch to
      remove CONFIG_HOTPLUG was submitted. Anyhow, it is useless and can be
      dropped.
      
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Reviewed-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      97645154
    • Tiejun Chen's avatar
      powerpc: Access local paca after hard irq disabled · 0b88f772
      Tiejun Chen authored
      
      In hard_irq_disable(), we accessed the PACA before we hard disabled
      the interrupts, potentially causing a warning as get_paca() will
      us debug_smp_processor_id().
      
      Move that to after the disabling, and also use local_paca directly
      rather than get_paca() to avoid several redundant and useless checks.
      
      Signed-off-by: default avatarTiejun Chen <tiejun.chen@windriver.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0b88f772
    • Anton Blanchard's avatar
      powerpc/modules: Module CRC relocation fix causes perf issues · 0e0ed640
      Anton Blanchard authored
      
      Module CRCs are implemented as absolute symbols that get resolved by
      a linker script. We build an intermediate .o that contains an
      unresolved symbol for each CRC. genksysms parses this .o, calculates
      the CRCs and writes a linker script that "resolves" the symbols to
      the calculated CRC.
      
      Unfortunately the ppc64 relocatable kernel sees these CRCs as symbols
      that need relocating and relocates them at boot. Commit d4703aef
      (module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y)
      added a hook to reverse the bogus relocations. Part of this patch
      created a symbol at 0x0:
      
      # head -2 /proc/kallsyms
      0000000000000000 T reloc_start
      c000000000000000 T .__start
      
      This reloc_start symbol is causing lots of confusion to perf. It
      thinks reloc_start is a massive function that stretches from 0x0 to
      0xc000000000000000 and we get various cryptic errors out of perf,
      including:
      
      problem incrementing symbol count, skipping event
      
      This patch removes the  reloc_start linker script label and instead
      defines it as PHYSICAL_START. We also need to wrap it with
      CONFIG_PPC64 because the ppc32 kernel can set a non zero
      PHYSICAL_START at compile time and we wouldn't want to subtract
      it from the CRCs in that case.
      
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Cc: <stable@kernel.org>
      Acked-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0e0ed640
    • Michael Neuling's avatar
      powerpc: Add second POWER8 PVR entry · 33959f88
      Michael Neuling authored
      
      POWER8 comes with two different PVRs.  This patch enables the additional
      PVR in the cputable.
      
      The existing entry (PVR=0x4b) is renamed to POWER8E and the new entry
      (PVR=0x4d) is given POWER8.
      
      Signed-off-by: default avatarMichael Neuling <mikey@neuling.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      33959f88
    • Linus Torvalds's avatar
      Merge tag 'please-pull-bp-edac' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 04012e30
      Linus Torvalds authored
      Pull EDAC fix from Tony Luck:
       "Fix EDAC lockdep splat"
      
      * tag 'please-pull-bp-edac' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC: Fix lockdep splat
      04012e30
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux · a474902c
      Linus Torvalds authored
      Pull device tree bug fixes and maintainership updates from Grant Likely:
       "This branch contains a couple of minor bug fixes and documentation
        additions, but the bulk of it are several changes to the MAINTAINERS
        file regarding the subsystems I've been involved with"
      
      * tag 'devicetree-for-linus' of git://git.secretlab.ca/git/linux:
        of/irq: init struct resource to 0 in of_irq_to_resource()
        of/irq: Avoid calling list_first_entry() for empty list
        of: add vendor prefixes for hisilicon
        of: add vendor prefix for Qualcomm Atheros, Inc.
        MAINTAINERS: Fix incorrect status tag
        MAINTAINERS: Refactor device tree maintainership
        MAINTAINERS: Change device tree mailing list
        MAINTAINERS: Remove Grant Likely
      a474902c
    • Borislav Petkov's avatar
      EDAC: Fix lockdep splat · 88d84ac9
      Borislav Petkov authored
      
      Fix the following:
      
      BUG: key ffff88043bdd0330 not in .data!
      ------------[ cut here ]------------
      WARNING: at kernel/lockdep.c:2987 lockdep_init_map+0x565/0x5a0()
      DEBUG_LOCKS_WARN_ON(1)
      Modules linked in: glue_helper sb_edac(+) edac_core snd acpi_cpufreq lrw gf128mul ablk_helper iTCO_wdt evdev i2c_i801 dcdbas button cryptd pcspkr iTCO_vendor_support usb_common lpc_ich mfd_core soundcore mperf processor microcode
      CPU: 2 PID: 599 Comm: modprobe Not tainted 3.10.0 #1
      Hardware name: Dell Inc. Precision T3600/0PTTT9, BIOS A08 01/24/2013
       0000000000000009 ffff880439a1d920 ffffffff8160a9a9 ffff880439a1d958
       ffffffff8103d9e0 ffff88043af4a510 ffffffff81a16e11 0000000000000000
       ffff88043bdd0330 0000000000000000 ffff880439a1d9b8 ffffffff8103dacc
      Call Trace:
        dump_stack
        warn_slowpath_common
        warn_slowpath_fmt
        lockdep_init_map
        ? trace_hardirqs_on_caller
        ? trace_hardirqs_on
        debug_mutex_init
        __mutex_init
        bus_register
        edac_create_sysfs_mci_device
        edac_mc_add_mc
        sbridge_probe
        pci_device_probe
        driver_probe_device
        __driver_attach
        ? driver_probe_device
        bus_for_each_dev
        driver_attach
        bus_add_driver
        driver_register
        __pci_register_driver
        ? 0xffffffffa0010fff
        sbridge_init
        ? 0xffffffffa0010fff
        do_one_initcall
        load_module
        ? unset_module_init_ro_nx
        SyS_init_module
        tracesys
      ---[ end trace d24a70b0d3ddf733 ]---
      EDAC MC0: Giving out device to 'sbridge_edac.c' 'Sandy Bridge Socket#0': DEV 0000:3f:0e.0
      EDAC sbridge: Driver loaded.
      
      What happens is that bus_register needs a statically allocated lock_key
      because the last is handed in to lockdep. However, struct mem_ctl_info
      embeds struct bus_type (the whole struct, not a pointer to it) and the
      whole thing gets dynamically allocated.
      
      Fix this by using a statically allocated struct bus_type for the MC bus.
      
      Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
      Acked-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
      Cc: Markus Trippelsdorf <markus@trippelsdorf.de>
      Cc: stable@kernel.org # v3.10
      Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
      88d84ac9
    • Linus Torvalds's avatar
      Merge branch 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · c2468d32
      Linus Torvalds authored
      Pull cgroup changes from Tejun Heo:
       "This contains two patches, both of which aren't fixes per-se but I
        think it'd be better to fast-track them.
      
        One removes bcache_subsys_id which was added without proper review
        through the block tree.  Fortunately, bcache cgroup code is
        unconditionally disabled, so this was never exposed to userland.  The
        cgroup subsys_id is removed.  Kent will remove the affected (disabled)
        code through bcache branch.
      
        The other simplifies task_group_path_from_hierarchy().  The function
        doesn't currently have in-kernel users but there are external code and
        development going on dependent on the function and making the function
        available for 3.11 would make things go smoother"
      
      * 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: replace task_cgroup_path_from_hierarchy() with task_cgroup_path()
        cgroup: remove bcache_subsys_id which got added stealthily
      c2468d32
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 549f3a12
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "This is just a regular fixes pull, mostly nouveau and i915, the i915
        ones fix RC6 on Sandybridge after suspend/resume, which I think people
        have be wanting for quite a while!
      
        Now you shouldn't wish for more patches, as the new mutex/reservation
        code found a number of problems with the qxl driver, and it currently
        makes lockdep angry, I'm working on a set of fixes for it, but its a
        bit large, I'll submit them separately later today or tomorrow once
        I've banged on them a bit more, just warning you in advance :-)"
      
      Yeah, I'm definitely over the whole "wish for more patches" thing.
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/crtc-helper: explicit DPMS on after modeset
        drm/i915: fix up gt init sequence fallout
        drm/i915: Serialize almost all register access
        drm/i915: quirk no PCH_PWM_ENABLE for Dell XPS13 backlight
        drm/i915: correctly restore fences with objects attached
        drm/i915: Fix dereferencing invalid connectors in is_crtc_connector_off()
        drm/i915: Sanitize shared dpll state
        drm/i915: fix long-standing SNB regression in power consumption after resume v2
        drm/i915: Preserve the DDI_A_4_LANES bit from the bios
        drm/i915: fix pfit regression for non-autoscaled resolutions
        drm/i915: fix up readout of the lvds dither bit on gen2/3
        drm/nouveau: do not allow negative sizes for now
        drm/nouveau: add falcon interrupt handler
        drm/nouveau: use dedicated channel for async moves on GT/GF chipsets.
        drm/nouveau: bump fence timeout to 15 seconds
        drm/nouveau: do not unpin in nouveau_gem_object_del
        drm/nv50/kms: fix pin refcnt leaks
        drm/nouveau: fix some error-path leaks in fbcon handling code
        drm/nouveau: fix locking issues in page flipping paths
      549f3a12
    • David Howells's avatar
      Fix __wait_on_atomic_t() to call the action func if the counter != 0 · 42577ca8
      David Howells authored
      
      Fix __wait_on_atomic_t() so that it calls the action func if the counter != 0
      rather than if the counter is 0 so as to be analogous to __wait_on_bit().
      
      Thanks to Yacine who found this by visual inspection.
      
      This will affect FS-Cache in that it will could fail to sleep correctly when
      trying to clean up after a netfs cookie is withdrawn.
      
      Reported-by: default avatarYacine Belkadi <yacine.belkadi.1@gmail.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      cc: Milosz Tanski <milosz@adfin.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      42577ca8
  3. Jul 23, 2013
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha · 7c6d4dca
      Linus Torvalds authored
      Pull alpha architecture fixes from Matt Turner:
       "This contains mostly clean ups and fixes but also an implementation of
        atomic64_dec_if_positive() and a pair of new syscalls"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha:
        alpha: Use handle_percpu_irq for the timer interrupt
        alpha: Force the user-visible HZ to a constant 1024.
        alpha: Don't if-out dp264_device_interrupt.
        alpha: Use __builtin_alpha_rpcc
        alpha: Fix type compatibility warning for marvel_map_irq
        alpha: Generate dwarf2 unwind info for various kernel entry points.
        alpha: Implement atomic64_dec_if_positive
        alpha: Improve atomic_add_unless
        alpha: Modernize lib/mpi/longlong.h
        alpha: Add kcmp and finit_module syscalls
        alpha: locks: remove unused arch_*_relax operations
        alpha: kernel: typo issue, using '1' instead of '11'
        alpha: kernel: using memcpy() instead of strcpy()
        alpha: Convert print_symbol to %pSR
      7c6d4dca
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · a030cbc3
      Linus Torvalds authored
      Pull vhost fixes from Michael Tsirkin:
       "vhost: more fixes for 3.11
      
        This includes some fixes for vhost net and scsi drivers.
      
        The test module has already been reworked to avoid rcu usage, but the
        necessary core changes are missing, we fixed this.
      
        Unlikely to affect any real-world users, but it's early in the cycle
        so, let's merge them"
      
      (It was earlier when Michael originally sent the email, but it somehot
      got missed in the flood, so here it is after -rc2)
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost: Remove custom vhost rcu usage
        vhost-scsi: Always access vq->private_data under vq mutex
        vhost-net: Always access vq->private_data under vq mutex
      a030cbc3
Loading