1. 22 6月, 2013 5 次提交
  2. 21 6月, 2013 9 次提交
  3. 20 6月, 2013 11 次提交
    • J
      perf: arm64: Record the user-mode PC in the call chain. · abc41254
      Jed Davis 提交于
      With this change, we no longer lose the innermost entry in the user-mode
      part of the call chain.  See also the x86 port, which includes the ip,
      and the corresponding change in arch/arm.
      Signed-off-by: NJed Davis <jld@mozilla.com>
      Acked-by: NIngo Molnar <mingo@kernel.org>
      Acked-by: NWill Deacon <will.deacon@arm.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      abc41254
    • A
      powerpc: Fix bad pmd error with book3E config · 8bbd9f04
      Aneesh Kumar K.V 提交于
      Book3E uses the hugepd at PMD level and don't encode pte directly
      at the pmd level. So it will find the lower bits of pmd set
      and the pmd_bad check throws error. Infact the current code
      will never take the free_hugepd_range call at all because it will
      clear the pmd if it find a hugepd pointer. Fix this by clearing
      bad pmd only if it is not a hugepd pointer.
      
      This is regression introduced by e2b3d202
      "powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format"
      Reported-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      8bbd9f04
    • R
      ACPI / LPSS: Power up LPSS devices during enumeration · b9e95fc6
      Rafael J. Wysocki 提交于
      Commit 7cd8407d (ACPI / PM: Do not execute _PS0 for devices without
      _PSC during initialization) introduced a regression on some systems
      with Intel Lynxpoint Low-Power Subsystem (LPSS) where some devices
      need to be powered up during initialization, but their device objects
      in the ACPI namespace have _PS0 and _PS3 only (without _PSC or power
      resources).
      
      To work around this problem, make the ACPI LPSS driver power up
      devices it knows about by using a new helper function
      acpi_device_fix_up_power() that does all of the necessary
      sanity checks and calls acpi_dev_pm_explicit_set() to put the
      device into D0.
      Reported-and-tested-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      b9e95fc6
    • R
      ACPI / PM: Fix error code path for power resources initialization · 6ee22e9d
      Rafael J. Wysocki 提交于
      Commit 781d737c (ACPI: Drop power resources driver) introduced a
      bug in the power resources initialization error code path causing
      a NULL pointer to be referenced in acpi_release_power_resource()
      if there's an error triggering a jump to the 'err' label in
      acpi_add_power_resource().  This happens because the list_node
      field of struct acpi_power_resource has not been initialized yet
      at this point and doing a list_del() on it is a bad idea.
      
      To prevent this problem from occuring, initialize the list_node
      field of struct acpi_power_resource upfront.
      Reported-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Tested-by: NLan Tianyu <tianyu.lan@intel.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: 3.9+ <stable@vger.kernel.org>
      Acked-by: NYasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
      Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      6ee22e9d
    • R
      ACPI / dock: Take ACPI scan lock in write_undock() · 8112006f
      Rafael J. Wysocki 提交于
      Since commit 3757b948 (ACPI / hotplug: Fix concurrency issues and
      memory leaks) acpi_bus_scan() and acpi_bus_trim() must always be
      called under acpi_scan_lock, but currently the following scenario
      violating that requirement is possible:
      
       write_undock()
        handle_eject_request()
         hotplug_dock_devices()
          dock_remove_acpi_device()
           acpi_bus_trim()
      
      Fix that by making write_undock() acquire acpi_scan_lock before
      calling handle_eject_request() as appropriate (begin_undock() is
      under the lock too in analogy with acpi_dock_deferred_cb()).
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Cc: 3.9+ <stable@vger.kernel.org>
      Acked-by: NToshi Kani <toshi.kani@hp.com>
      8112006f
    • M
      ACPI / resources: call acpi_get_override_irq() only for legacy IRQ resources · 204ebc0a
      Mika Westerberg 提交于
      acpi_get_override_irq() was added because there was a problem with
      buggy BIOSes passing wrong IRQ() resource for the RTC IRQ.  The
      commit that added the workaround was 61fd47e0 (ACPI: fix two
      IRQ8 issues in IOAPIC mode).
      
      With ACPI 5 enumerated devices there are typically one or more
      extended IRQ resources per device (and these IRQs can be shared).
      However, the acpi_get_override_irq() workaround forces all IRQs in
      range 0 - 15 (the legacy ISA IRQs) to be edge triggered, active high
      as can be seen from the dmesg below:
      
      	ACPI: IRQ 6 override to edge, high
      	ACPI: IRQ 7 override to edge, high
      	ACPI: IRQ 7 override to edge, high
      	ACPI: IRQ 13 override to edge, high
      
      Also /proc/interrupts for the I2C controllers (INT33C2 and INT33C3) shows
      the same thing:
      
      	7:          4          0          0          0   IO-APIC-edge INT33C2:00, INT33C3:00
      
      The _CSR method for INT33C2 (and INT33C3) device returns following
      resource:
      
      	Interrupt (ResourceConsumer, Level, ActiveLow, Shared,,, )
      	{
      		0x00000007,
      	}
      
      which states that this is supposed to be level triggered, active low,
      shared IRQ instead.
      
      Fix this by making sure that acpi_get_override_irq() gets only called
      when we are dealing with legacy IRQ() or IRQNoFlags() descriptors.
      
      While we are there, correct pr_warning() to print the right triggering
      value.
      
      This change turns out to be necessary to make DMA work correctly on
      systems based on the Intel Lynxpoint PCH (Platform Controller Hub).
      
      [rjw: Changelog]
      Signed-off-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      Cc: 3.9+ <stable@vger.kernel.org>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      204ebc0a
    • D
      mn10300: Fix include dependency in irqflags.h et al. · c0691143
      David Daney 提交于
      We need to pick up the definition of raw_smp_processor_id() from
      asm/smp.h.  For the !SMP case, we need to supply a definition of
      raw_smp_processor_id().
      
      Because of the include dependencies we cannot use smp_call_func_t in
      asm/smp.h, but we do need linux/thread_info.h
      Signed-off-by: NDavid Daney <david.daney@cavium.com>
      Acked-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c0691143
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · b9e763cd
      Linus Torvalds 提交于
      Pull sparc fixes from David Miller:
       "Various sparc bug fixes, in particular:
      
        1) TSB hashes have to be flushed before TLB on sparc64, from Dave
           Kleikamp.
      
        2) LEON timer interrupts can get stuck, from Andreas Larsson.
      
        3) Sparc64 needs to handle lack of address-congruence devicetree
           property, from Bob Picco"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc: tsb must be flushed before tlb
        sparc,leon: Convert to use devm_ioremap_resource
        sparc64 address-congruence property
        sparc32, leon: Enable interrupts before going idle to avoid getting stuck
        sparc32, leon: Remove separate "ticker" timer for SMP
        sparc: kernel: using strlcpy() instead of strcpy()
        arch: sparc: prom: looping issue, need additional length check in the outside looping
        sparc: remove inline marking of EXPORT_SYMBOL functions
        sparc: Switch to asm-generic/linkage.h
      b9e763cd
    • L
      Merge branch 'parisc-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · aa4927b9
      Linus Torvalds 提交于
      Pull parisc fixes from Helge Deller:
       "This contains a kernel segfault fix when reading /proc/kpageflags or
        /proc/kpagecount, two fixes for the serial port and PCI graphic card
        support on C8000 workstations and a fix to use unshadowed registers
        for flushing D- and I-caches."
      
      * 'parisc-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Use unshadowed index register for flush instructions in flush_dcache_page_asm and flush_icache_page_asm
        parisc: provide pci_mmap_page_range() for parisc
        parisc: fix serial ports on C8000 workstation
        parisc: fix kernel BUG at arch/parisc/include/asm/mmzone.h:50 (part 2)
      aa4927b9
    • J
      metag: fix mm/hugetlb.c build breakage · 418a133b
      James Hogan 提交于
      Commit 106c992a ("mm/hugetlb: add more arch-defined huge_pte
      functions") added an include of <asm-generic/hugetlb.h> to each
      architecture's <asm/hugetlb.h> (except s390).  Unfortunately metag was
      missed which resulted in build errors when hugetlbfs is enabled (see
      below).
      
      Add the include for metag too to fix the build errors:
      
        mm/hugetlb.c In function 'make_huge_pte':
        mm/hugetlb.c +2250 : error: implicit declaration of function 'huge_pte_mkwrite'
        mm/hugetlb.c +2250 : error: implicit declaration of function 'huge_pte_mkdirty'
        ...
      Signed-off-by: NJames Hogan <james.hogan@imgtec.com>
      Cc: Gerald Schaefer <gerald.schaefer@de.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Michal Hocko <mhocko@suse.cz>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      418a133b
    • L
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 262fd6ff
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "The larger changes this time are
      
         - "ARM: 7755/1: handle user space mapped pages in flush_kernel_dcache_page"
           which fixes more data corruption problems with O_DIRECT
      
         - "ARM: 7759/1: decouple CPU offlining from reboot/shutdown" which
           gets us back to working shutdown/reboot on SMP platforms
      
         - "ARM: 7752/1: errata: LoUIS bit field in CLIDR register is incorrect"
           which fixes a shutdown regression found in v3.10 on Versatile
           Express platforms.
      
        The remainder are the quite small, maybe one or two line changes"
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7759/1: decouple CPU offlining from reboot/shutdown
        ARM: 7756/1: zImage/virt: remove hyp-stub.S during distclean
        ARM: 7755/1: handle user space mapped pages in flush_kernel_dcache_page
        ARM: 7754/1: Fix the CPU ID and the mask associated to the PJ4B
        ARM: 7753/1: map_init_section flushes incorrect pmd
        ARM: 7752/1: errata: LoUIS bit field in CLIDR register is incorrect
      262fd6ff
  4. 19 6月, 2013 15 次提交