Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 15, 2013
  1. Enhance "make xconfig".

    authored
    Signed-off-by: Shlomi Fish <shlomif@shlomifish.org>
    
    This is a modified version of this patch:
    
    http://www.shlomifish.org/open-source/projects/linux-kernel/xconfig-search/
    
    with the main changes being that most of the warnings and errors
    reported by checkpatch.pl were fixed.
    
    This patch adds substring, keyword search and regular expression search
    to the "make xconfig" Edit -> Find dialog in the kernel - all with
    case-sensitive vs. case-insensitive options.
Commits on May 14, 2013
  1. @torvalds

    Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/lin…

    torvalds authored
    …ux/kernel/git/tytso/ext4
    
    Pull ext4 update from Ted Ts'o:
     "Fixed regressions (two stability regressions and a performance
      regression) introduced during the 3.10-rc1 merge window.
    
      Also included is a bug fix relating to allocating blocks after
      resizing an ext3 file system when using the ext4 file system driver"
    
    * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
      jbd,jbd2: fix oops in jbd2_journal_put_journal_head()
      ext4: revert "ext4: use io_end for multiple bios"
      ext4: limit group search loop for non-extent files
      ext4: fix fio regression
  2. @torvalds

    Merge branch 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/k…

    torvalds authored
    …ernel/git/tj/wq
    
    Pull workqueue fix from Tejun Heo:
     "A fix for a workqueue_congested() regression that broke fscache"
    
    * 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
      workqueue: workqueue_congested() shouldn't translate WORK_CPU_UNBOUND into node number
  3. @torvalds

    Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git…

    torvalds authored
    …/benh/powerpc
    
    Pull powerpc fixes from Benjamin Herrenschmidt:
     "This is mostly bug fixes (some of them regressions, some of them I
      deemed worth merging now) along with some patches from Li Zhong
      hooking up the new context tracking stuff (for the new full NO_HZ)"
    
    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (25 commits)
      powerpc: Set show_unhandled_signals to 1 by default
      powerpc/perf: Fix setting of "to" addresses for BHRB
      powerpc/pmu: Fix order of interpreting BHRB target entries
      powerpc/perf: Move BHRB code into CONFIG_PPC64 region
      powerpc: select HAVE_CONTEXT_TRACKING for pSeries
      powerpc: Use the new schedule_user API on userspace preemption
      powerpc: Exit user context on notify resume
      powerpc: Exception hooks for context tracking subsystem
      powerpc: Syscall hooks for context tracking subsystem
      powerpc/booke64: Fix kernel hangs at kernel_dbg_exc
      powerpc: Fix irq_set_affinity() return values
      powerpc: Provide __bswapdi2
      powerpc/powernv: Fix starting of secondary CPUs on OPALv2 and v3
      powerpc/powernv: Detect OPAL v3 API version
      powerpc: Fix MAX_STACK_TRACE_ENTRIES too low warning again
      powerpc: Make CONFIG_RTAS_PROC depend on CONFIG_PROC_FS
      powerpc: Bring all threads online prior to migration/hibernation
      powerpc/rtas_flash: Fix validate_flash buffer overflow issue
      powerpc/kexec: Fix kexec when using VMX optimised memcpy
      powerpc: Fix build errors STRICT_MM_TYPECHECKS
      ...
  4. @ozbenh

    powerpc: Set show_unhandled_signals to 1 by default

    ozbenh authored
    Just like other architectures
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  5. @mikey @ozbenh

    powerpc/perf: Fix setting of "to" addresses for BHRB

    mikey authored ozbenh committed
    Currently we only set the "to" address in the branch stack when the CPU
    explicitly gives us a value.  Unfortunately it only does this for XL form
    branches (eg blr, bctr, bctar) and not I and B form branches (eg b, bc).
    
    Fortunately if we read the instruction from memory we can extract the offset of
    a branch and calculate the target address.
    
    This adds a function power_pmu_bhrb_to() to calculate the target/to address of
    the corresponding I and B form branches.  It handles branches in both user and
    kernel spaces.  It also plumbs this into the perf brhb reading code.
    
    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  6. @mikey @ozbenh

    powerpc/pmu: Fix order of interpreting BHRB target entries

    mikey authored ozbenh committed
    The current Branch History Rolling Buffer (BHRB) code misinterprets the order
    of entries in the hardware buffer.  It assumes that a branch target address
    will be read _after_ its corresponding branch.  In reality the branch target
    comes before (lower mfbhrb entry) it's corresponding branch.
    
    This is a rewrite of the code to take this into account.
    
    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  7. @mikey @ozbenh

    powerpc/perf: Move BHRB code into CONFIG_PPC64 region

    mikey authored ozbenh committed
    The new Branch History Rolling buffer (BHRB) code is only useful on 64bit
    processors, so move it into the #ifdef CONFIG_PPC64 region.
    
    This avoids code bloat on 32bit systems.
    
    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  8. @ozbenh

    powerpc: select HAVE_CONTEXT_TRACKING for pSeries

    Li Zhong authored ozbenh committed
    Start context tracking support from pSeries.
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  9. @ozbenh

    powerpc: Use the new schedule_user API on userspace preemption

    Li Zhong authored ozbenh committed
    This patch corresponds to
    [PATCH] x86: Use the new schedule_user API on userspace preemption
      commit 0430499
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  10. @ozbenh

    powerpc: Exit user context on notify resume

    Li Zhong authored ozbenh committed
    This patch allows RCU usage in do_notify_resume, e.g. signal handling.
    It corresponds to
    [PATCH] x86: Exit RCU extended QS on notify resume
      commit edf55fd
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  11. @ozbenh

    powerpc: Exception hooks for context tracking subsystem

    Li Zhong authored ozbenh committed
    This is the exception hooks for context tracking subsystem, including
    data access, program check, single step, instruction breakpoint, machine check,
    alignment, fp unavailable, altivec assist, unknown exception, whose handlers
    might use RCU.
    
    This patch corresponds to
    [PATCH] x86: Exception hooks for userspace RCU extended QS
      commit 6ba3c97
    
    But after the exception handling moved to generic code, and some changes in
    following two commits:
    56dd947
      context_tracking: Move exception handling to generic code
    6c1e025
      context_tracking: Restore correct previous context state on exception exit
    
    it is able for exception hooks to use the generic code above instead of a
    redundant arch implementation.
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  12. @ozbenh

    powerpc: Syscall hooks for context tracking subsystem

    Li Zhong authored ozbenh committed
    This is the syscall slow path hooks for context tracking subsystem,
    corresponding to
    [PATCH] x86: Syscall hooks for userspace RCU extended QS
      commit bf5a3c1
    
    TIF_MEMDIE is moved to the second 16-bits (with value 17), as it seems there
    is no asm code using it. TIF_NOHZ is added to _TIF_SYCALL_T_OR_A, so it is
    better for it to be in the same 16 bits with others in the group, so in the
    asm code, andi. with this group could work.
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  13. @ozbenh

    powerpc/booke64: Fix kernel hangs at kernel_dbg_exc

    Scott Wood authored ozbenh committed
    MSR_DE is not cleared on entry to the kernel, and we don't clear it
    explicitly outside of debug code.  If we have MSR_DE set in
    prime_debug_regs(), and the new thread has events enabled in DBCR0
    (e.g.  ICMP is set in thread->dbsr0, even though it was cleared in the
    real DBCR0 when the thread got scheduled out), we'll end up taking a
    debug exception in the kernel when DBCR0 is loaded.  DSRR0 will not
    point to an exception vector, and the kernel ends up hanging at
    kernel_dbg_exc.  Fix this by always clearing MSR_DE when we load new
    debug state.
    
    Another observed source of kernel_dbg_exc hangs is with the branch
    taken event.  If this event is active, but we take a non-debug trap
    (e.g. a TLB miss or an asynchronous interrupt) before the next branch.
    We end up taking a branch-taken debug exception on the initial branch
    instruction of the exception vector, but because the debug exception is
    DBSR_BT rather than DBSR_IC we branch to kernel_dbg_exc before even
    checking the DSRR0 address.  Fix this by checking for DBSR_BT as well
    as DBSR_IC, which is what 32-bit does and what the comments suggest was
    intended in the 64-bit code as well.
    
    Signed-off-by: Scott Wood <scottwood@freescale.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  14. @ozbenh

    powerpc: Fix irq_set_affinity() return values

    Alexander Gordeev authored ozbenh committed
    Signed-off-by: Alexander Gordeev <agordeev@redhat.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  15. @dwmw2 @ozbenh

    powerpc: Provide __bswapdi2

    dwmw2 authored ozbenh committed
    Some versions of GCC apparently expect this to be provided by libgcc.
    
    Updates from Mikey to fix 32 bit version and adding "r" to registers.
    
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
    Signed-off-by: Michael Neuling <mikey@neuling.org>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  16. @ozbenh

    powerpc/powernv: Fix starting of secondary CPUs on OPALv2 and v3

    ozbenh authored
    The current code fails to handle kexec on OPALv2. This fixes it
    and adds code to improve the situation on OPALv3 where we can
    query the CPU status from the firmware and decide what to do
    based on that.
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  17. @ozbenh

    powerpc/powernv: Detect OPAL v3 API version

    ozbenh authored
    Future firmwares will support that new version
    
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  18. @ozbenh

    powerpc: Fix MAX_STACK_TRACE_ENTRIES too low warning again

    Li Zhong authored ozbenh committed
    Saw this warning again, and this time from the ret_from_fork path.
    
    It seems we could clear the back chain earlier in copy_thread(), which
    could cover both path, and also fix potential lockdep usage in
    schedule_tail(), or exception occurred before we clear the back chain.
    
    Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  19. @mpe @ozbenh

    powerpc: Make CONFIG_RTAS_PROC depend on CONFIG_PROC_FS

    mpe authored ozbenh committed
    We are getting build errors with CONFIG_PROC_FS=n:
    
    arch/powerpc/kernel/rtas_flash.c
       In function 'rtas_flash_init':
      745:33: error: unused variable 'f' [-Werror=unused-variable]
    
    But rtas_flash.c should not be built when CONFIG_PROC_FS=n, beacause all
    it does is provide a /proc interface to the RTAS flash routines.
    
    CONFIG_RTAS_FLASH already depends on CONFIG_RTAS_PROC, to indicate that
    it depends on the RTAS proc support, but CONFIG_RTAS_PROC does not
    depend on CONFIG_PROC_FS. So fix that.
    
    Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  20. @rcj4747 @ozbenh

    powerpc: Bring all threads online prior to migration/hibernation

    rcj4747 authored ozbenh committed
    This patch brings online all threads which are present but not online
    prior to migration/hibernation.  After migration/hibernation those
    threads are taken back offline.
    
    During migration/hibernation all online CPUs must call H_JOIN, this is
    required by the hypervisor.  Without this patch, threads that are offline
    (H_CEDE'd) will not be woken to make the H_JOIN call and the OS will be
    deadlocked (all threads either JOIN'd or CEDE'd).
    
    Cc: <stable@kernel.org>
    Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  21. @hegdevasant @ozbenh

    powerpc/rtas_flash: Fix validate_flash buffer overflow issue

    hegdevasant authored ozbenh committed
    ibm,validate-flash-image RTAS call output buffer contains 150 - 200
    bytes of data on latest system. Presently we have output
    buffer size as 64 bytes and we use sprintf to copy data from
    RTAS buffer to local buffer. This causes kernel oops (see below
    call trace).
    
    This patch increases local buffer size to 256 and also uses
    snprintf instead of sprintf to copy data from RTAS buffer.
    
    Kernel call trace :
    -------------------
    Oops: Kernel access of bad area, sig: 11 [#1]
    SMP NR_CPUS=1024 NUMA pSeries
    Modules linked in: nfs fscache lockd auth_rpcgss nfs_acl sunrpc fuse loop dm_mod ipv6 ipv6_lib usb_storage ehea(X) sr_mod qlge ses cdrom enclosure st be2net sg ext3 jbd mbcache usbhid hid ohci_hcd ehci_hcd usbcore qla2xxx usb_common sd_mod crc_t10dif scsi_dh_hp_sw scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh lpfc scsi_transport_fc scsi_tgt ipr(X) libata scsi_mod
    Supported: Yes
    NIP: 4520323031333130 LR: 4520323031333130 CTR: 0000000000000000
    REGS: c0000001b91779b0 TRAP: 0400   Tainted: G            X  (3.0.13-0.27-ppc64)
    MSR: 8000000040009032 <EE,ME,IR,DR>  CR: 44022488  XER: 20000018
    TASK = c0000001bca1aba0[4736] 'cat' THREAD: c0000001b9174000 CPU: 36
    GPR00: 4520323031333130 c0000001b9177c30 c000000000f87c98 000000000000009b
    GPR04: c0000001b9177c4a 000000000000000b 3520323031333130 2032303133313031
    GPR08: 3133313031350a4d 000000000000009b 0000000000000000 c0000000003664a4
    GPR12: 0000000022022448 c000000003ee6c00 0000000000000002 00000000100e8a90
    GPR16: 00000000100cb9d8 0000000010093370 000000001001d310 0000000000000000
    GPR20: 0000000000008000 00000000100fae60 000000000000005e 0000000000000000
    GPR24: 0000000010129350 46573738302e3030 2046573738302e30 300a4d4720323031
    GPR28: 333130313520554e 4b4e4f574e0a4d47 2032303133313031 3520323031333130
    NIP [4520323031333130] 0x4520323031333130
    LR [4520323031333130] 0x4520323031333130
    Call Trace:
    [c0000001b9177c30] [4520323031333130] 0x4520323031333130 (unreliable)
    Instruction dump:
    XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
    XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
    
    Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  22. @ozbenh

    powerpc/kexec: Fix kexec when using VMX optimised memcpy

    Anton Blanchard authored ozbenh committed
    commit b3f271e (powerpc: POWER7 optimised memcpy using VMX and
    enhanced prefetch) uses VMX when it is safe to do so (ie not in
    interrupt). It also looks at the task struct to decide if we have to
    save the current tasks' VMX state.
    
    kexec calls memcpy() at a point where the task struct may have been
    overwritten by the new kexec segments. If it has been overwritten
    then when memcpy -> enable_altivec looks up current->thread.regs->msr
    we get a cryptic oops or lockup.
    
    I also notice we aren't initialising thread_info->cpu, which means
    smp_processor_id is broken. Fix that too.
    
    Signed-off-by: Anton Blanchard <anton@samba.org>
    Cc: <stable@vger.kernel.org> # 3.6+
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  23. @kvaneesh @ozbenh

    powerpc: Fix build errors STRICT_MM_TYPECHECKS

    kvaneesh authored ozbenh committed
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  24. @kvaneesh @ozbenh

    powerpc/mm: Use the correct mask value when looking at pgtable address

    kvaneesh authored ozbenh committed
    Our pgtable are 2*sizeof(pte_t)*PTRS_PER_PTE which is PTE_FRAG_SIZE.
    Instead of depending on frag size, mask with PMD_MASKED_BITS.
    
    Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
  25. @torvalds

    Merge tag 'fixes-for-3.10-rc2-tag' of git://git.kernel.org/pub/scm/li…

    torvalds authored
    …nux/kernel/git/sstabellini/xen
    
    Pull Xen/arm fixes from Stefano Stabellini:
     "This contains a couple of Xen on ARM initialization fixes and a patch
      to improve error handling"
    
    * tag 'fixes-for-3.10-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/sstabellini/xen:
      xen/arm: rename xen_secondary_init and run it on every online cpu
      xen/arm: do not handle VCPUOP_register_vcpu_info failures
      xen/arm: initialize pm functions later
Commits on May 13, 2013
  1. @torvalds

    Merge branch 'parisc-for-3.10' of git://git.kernel.org/pub/scm/linux/…

    torvalds authored
    …kernel/git/deller/parisc-linux
    
    Pull parisc update from Helge Deller:
     "The second round of parisc updates for 3.10 includes build fixes and
      enhancements to utilize irq stacks, fixes SMP races when updating PTE
      and TLB entries by proper locking and makes the search for the correct
      cross compiler more robust on Debian and Gentoo."
    
    * 'parisc-for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
      parisc: make default cross compiler search more robust (v3)
      parisc: fix SMP races when updating PTE and TLB entries in entry.S
      parisc: implement irq stacks - part 2 (v2)
  2. @torvalds

    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

    torvalds authored
    Pull networking fixes from David Miller:
     "Several small bug fixes all over:
    
       1) be2net driver uses wrong payload length when submitting MAC list
          get requests to the chip.  From Sathya Perla.
    
       2) Fix mwifiex memory leak on driver unload, from Amitkumar Karwar.
    
       3) Prevent random memory access in batman-adv, from Marek Lindner.
    
       4) batman-adv doesn't check for pskb_trim_rcsum() errors, also from
          Marek Lindner.
    
       5) Fix fec crashes on rapid link up/down, from Frank Li.
    
       6) Fix inner protocol grovelling in GSO, from Pravin B Shelar.
    
       7) Link event validation fix in qlcnic from Rajesh Borundia.
    
       8) Not all FEC chips can support checksum offload, fix from Shawn
          Guo.
    
       9) EXPORT_SYMBOL + inline doesn't make any sense, from Denis Efremov.
    
      10) Fix race in passthru mode during device removal in macvlan, from
          Jiri Pirko.
    
      11) Fix RCU hash table lookup socket state race in ipv6, leading to
          NULL pointer derefs, from Eric Dumazet.
    
      12) Add several missing HAS_DMA kconfig dependencies, from Geert
          Uyttterhoeven.
    
      13) Fix bogus PCI resource management in 3c59x driver, from Sergei
          Shtylyov.
    
      14) Fix info leak in ipv6 GRE tunnel driver, from Amerigo Wang.
    
      15) Fix device leak in ipv6 IPSEC policy layer, from Cong Wang.
    
      16) DMA mapping leak fix in qlge from Thadeu Lima de Souza Cascardo.
    
      17) Missing iounmap on probe failure in bna driver, from Wei Yongjun."
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (40 commits)
      bna: add missing iounmap() on error in bnad_init()
      qlge: fix dma map leak when the last chunk is not allocated
      xfrm6: release dev before returning error
      ipv6,gre: do not leak info to user-space
      virtio_net: use default napi weight by default
      emac: Fix EMAC soft reset on 460EX/GT
      3c59x: fix PCI resource management
      caif: CAIF_VIRTIO should depend on HAS_DMA
      net/ethernet: MACB should depend on HAS_DMA
      net/ethernet: ARM_AT91_ETHER should depend on HAS_DMA
      net/wireless: ATH9K should depend on HAS_DMA
      net/ethernet: STMMAC_ETH should depend on HAS_DMA
      net/ethernet: NET_CALXEDA_XGMAC should depend on HAS_DMA
      ipv6: do not clear pinet6 field
      macvlan: fix passthru mode race between dev removal and rx path
      ipv4: ip_output: remove inline marking of EXPORT_SYMBOL functions
      net/mlx4: Strengthen VLAN tags/priorities enforcement in VST mode
      net/mlx4_core: Add missing report on VST and spoof-checking dev caps
      net: fec: enable hardware checksum only on imx6q-fec
      qlcnic: Fix validation of link event command.
      ...
  3. parisc: make default cross compiler search more robust (v3)

    Helge Deller authored
    People/distros vary how they prefix the toolchain name for 64bit builds.
    Rather than enforce one convention over another, add a for loop which
    does a search for all the general prefixes.
    
    For 64bit builds, we now search for (in order):
    	hppa64-unknown-linux-gnu
    	hppa64-linux-gnu
    	hppa64-linux
    
    For 32bit builds, we look for:
    	hppa-unknown-linux-gnu
    	hppa-linux-gnu
    	hppa-linux
    	hppa2.0-unknown-linux-gnu
    	hppa2.0-linux-gnu
    	hppa2.0-linux
    	hppa1.1-unknown-linux-gnu
    	hppa1.1-linux-gnu
    	hppa1.1-linux
    
    This patch was initiated by Mike Frysinger, with feedback from Jeroen
    Roovers, John David Anglin and Helge Deller.
    
    Signed-off-by: Mike Frysinger <vapier@gentoo.org>
    Signed-off-by: Jeroen Roovers <jer@gentoo.org>
    Signed-off-by: John David Anglin <dave.anglin@bell.net>
    Signed-off-by: Helge Deller <deller@gmx.de>
  4. @davem330

    bna: add missing iounmap() on error in bnad_init()

    Wei Yongjun authored davem330 committed
    Add the missing iounmap() before return from bnad_init()
    in the error handling case.
    Introduced by commit 01b54b1
    (bna: tx rx cleanup fix).
    
    Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  5. @davem330

    qlge: fix dma map leak when the last chunk is not allocated

    Thadeu Lima de Souza Cascardo authored davem330 committed
    qlge allocates chunks from a page that it maps and unmaps that page when
    the last chunk is released. When the driver is unloaded or the card is
    removed, all chunks are released and the page is unmapped for the last
    chunk.
    
    However, when the last chunk of a page is not allocated and the device
    is removed, that page is not unmapped. In fact, its last reference is
    not put and there's also a page leak. This bug prevents a device from
    being properly hotplugged.
    
    When the DMA API debug option is enabled, the following messages show
    the pending DMA allocation after we remove the driver.
    
    This patch fixes the bug by unmapping and putting the page from the ring
    if its last chunk has not been allocated.
    
    pci 0005:98:00.0: DMA-API: device driver has pending DMA allocations while released from device [count=1]
    One of leaked entries details: [device address=0x0000000060a80000] [size=65536 bytes] [mapped with DMA_FROM_DEVICE] [mapped as page]
    ------------[ cut here ]------------
    WARNING: at lib/dma-debug.c:746
    Modules linked in: qlge(-) rpadlpar_io rpaphp pci_hotplug fuse [last unloaded: qlge]
    NIP: c0000000003fc3ec LR: c0000000003fc3e8 CTR: c00000000054de60
    REGS: c0000003ee9c74e0 TRAP: 0700   Tainted: G           O  (3.7.2)
    MSR: 8000000000029032 <SF,EE,ME,IR,DR,RI>  CR: 28002424  XER: 00000001
    SOFTE: 1
    CFAR: c0000000007a39c8
    TASK = c0000003ee8d5c90[8406] 'rmmod' THREAD: c0000003ee9c4000 CPU: 31
    GPR00: c0000000003fc3e8 c0000003ee9c7760 c000000000c789f8 00000000000000ee
    GPR04: 0000000000000000 00000000000000ef 0000000000004000 0000000000010000
    GPR08: 00000000000000be c000000000b22088 c000000000c4c218 00000000007c0000
    GPR12: 0000000028002422 c00000000ff26c80 0000000000000000 000001001b0f1b40
    GPR16: 00000000100cb9d8 0000000010093088 c000000000cdf910 0000000000000001
    GPR20: 0000000000000000 c000000000dbfc00 0000000000000000 c000000000dbfb80
    GPR24: c0000003fafc9d80 0000000000000001 000000000001ff80 c0000003f38f7888
    GPR28: c000000000ddfc00 0000000000000400 c000000000bd7790 c000000000ddfb80
    NIP [c0000000003fc3ec] .dma_debug_device_change+0x22c/0x2b0
    LR [c0000000003fc3e8] .dma_debug_device_change+0x228/0x2b0
    Call Trace:
    [c0000003ee9c7760] [c0000000003fc3e8] .dma_debug_device_change+0x228/0x2b0 (unreliable)
    [c0000003ee9c7840] [c00000000079a098] .notifier_call_chain+0x78/0xf0
    [c0000003ee9c78e0] [c0000000000acc20] .__blocking_notifier_call_chain+0x70/0xb0
    [c0000003ee9c7990] [c0000000004a9580] .__device_release_driver+0x100/0x140
    [c0000003ee9c7a20] [c0000000004a9708] .driver_detach+0x148/0x150
    [c0000003ee9c7ac0] [c0000000004a8144] .bus_remove_driver+0xc4/0x150
    [c0000003ee9c7b60] [c0000000004aa58c] .driver_unregister+0x8c/0xe0
    [c0000003ee9c7bf0] [c0000000004090b4] .pci_unregister_driver+0x34/0xf0
    [c0000003ee9c7ca0] [d000000002231194] .qlge_exit+0x1c/0x34 [qlge]
    [c0000003ee9c7d20] [c0000000000e36d8] .SyS_delete_module+0x1e8/0x290
    [c0000003ee9c7e30] [c0000000000098d4] syscall_exit+0x0/0x94
    Instruction dump:
    7f26cb78 e818003a e87e81a0 e8f80028 e9180030 796b1f24 78001f24 7d6a5a14
    7d2a002a e94b0020 483a7595 60000000 <0fe00000> 2fb80000 40de0048 80120050
    ---[ end trace 4294f9abdb01031d ]---
    Mapped at:
     [<d000000002222f54>] .ql_update_lbq+0x384/0x580 [qlge]
     [<d000000002227bd0>] .ql_clean_inbound_rx_ring+0x300/0xc60 [qlge]
     [<d0000000022288cc>] .ql_napi_poll_msix+0x39c/0x5a0 [qlge]
     [<c0000000006b3c50>] .net_rx_action+0x170/0x300
     [<c000000000081840>] .__do_softirq+0x170/0x300
    
    Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
    Acked-by: Jitendra Kalsaria <Jitendra.kalsaria@qlogic.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  6. @sstabellini

    xen/arm: rename xen_secondary_init and run it on every online cpu

    sstabellini authored
    Rename xen_secondary_init to xen_percpu_init.
    Run xen_percpu_init on the each online cpu, reuse the current on_each_cpu call.
    Merge xen_percpu_enable_events into xen_percpu_init.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
  7. @sstabellini

    xen/arm: do not handle VCPUOP_register_vcpu_info failures

    sstabellini authored
    We expect VCPUOP_register_vcpu_info to succeed, do not try to handle
    failures.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
    Acked-by: Ian Campbell <ian.campbell@citrix.com>
  8. @sstabellini

    xen/arm: initialize pm functions later

    sstabellini authored
    If we are running in dom0, we have to wait for the arch specific code to
    complete the initialization in order for us to successfully reset the
    power_off and pm_restart functions.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
  9. @torvalds

    Merge tag 'spi-v3.10-rc1' of git://git.kernel.org/pub/scm/linux/kerne…

    torvalds authored
    …l/git/broonie/spi
    
    Pull spi updates from Mark Brown:
     "A few driver specific fixes plus improved error handling in the
      generic DT GPIO chipselect handling - not exciting but useful."
    
    * tag 'spi-v3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
      spi/spi-atmel: BUG: fix doesn' support 16 bits transfers using PIO
      spi/davinci: fix module build error
      spi: Return error from of_spi_register_master on bad "cs-gpios" property
      spi: Initialize cs_gpio and cs_gpios with -ENOENT
      spi/atmel: fix speed_hz check in atmel_spi_transfer()
Something went wrong with that request. Please try again.