1. 14 Feb, 2014 3 commits
  2. 12 Feb, 2014 7 commits
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.14-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · 4675348e
      Linus Torvalds authored
      Pull Xen bugfixes from Konrad Rzeszutek Wilk:
       "This has an healthy amount of code being removed - which we do not use
        anymore (the only user of it was ia64 Xen which had been removed
        already).  The other bug-fixes are to make Xen ARM be able to use the
        new event channel mechanism and proper export of header files to
        user-space.
      
        Summary:
         - Fix ARM and Xen FIFO not working.
         - Remove more Xen ia64 vestigates.
         - Fix UAPI missing Xen files"
      
      * tag 'stable/for-linus-3.14-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        ia64/xen: Remove Xen support for ia64 even more
        xen: install xen/gntdev.h and xen/gntalloc.h
        xen/events: bind all new interdomain events to VCPU0
      4675348e
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 9398a10c
      Linus Torvalds authored
      Pull regulator fixes from Mark Brown:
       "Two driver fixes, one fixing the mapping of interrupts on da9055
        (which previously wouldn't have worked at all) and a fix for reference
        counting OF nodes in the max14577 driver"
      
      * tag 'regulator-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: da9055: Remove use of regmap_irq_get_virq()
        regulator: max14577: Add missing of_node_put
      9398a10c
    • Linus Torvalds's avatar
      Merge tag 'gpio-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · dea054fc
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "Here are some accumulated patches with small fixes for this and that
        in a few GPIO drivers, and a more important fix to an #ifdef in the
        GPIO consumer header.
      
        Summary:
      
         - Get #ifdef's right in the <linux/gpio/consumer.h> header.
      
         - Minor fixes to tb10x, clps711x, bcm281xx, intel-mid and xtensa GPIO
           drivers"
      
      * tag 'gpio-v3.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: consumer.h: Move forward declarations outside #ifdef
        gpio: tb10x: GPIO_TB10X needs to select GENERIC_IRQ_CHIP
        gpio: clps711x: Add module alias to support module auto loading
        gpio: bcm281xx: Update MODULE_AUTHOR
        gpio: intel-mid: fix the incorrect return of idle callback
        gpio: xtensa: fix build when XCHAL_HAVE_CP is 0
      dea054fc
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 7df4d0c9
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A few driver and documentation fixes, plus a fix for double error
        handling which had crept in due to the confusing documentation - it
        wasn't clear if the core or the driver was responsible for cleanup in
        error cases so both tried to do it with unfortunate results"
      
      * tag 'spi-v3.14-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: nuc900: Set SPI_LSB_FIRST for master->mode_bits if hw->pdata->lsb is true
        spi: rspi: Document support for Renesas QSPI in Kconfig
        spi: Fix crash with double message finalisation on error handling
        spi: correct the transfer_one_message documentation wording
        spi: document the transfer_one spi_master callback
        spi: spi.h: clarify the documentation of transfer_one
      7df4d0c9
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 641f832c
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Nothing too crazy.
      
        Radeon irq fixes, i915 regression fixes, exynos fixes, tda998x chip
        fixes, and a bunch of msm fixes"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (31 commits)
        drm/i915: Pair va_copy with va_end in i915_error_vprintf
        drm/i915: Fix intel_pipe_to_cpu_transcoder for UMS
        drm/i915: Disable dp aux irq on g4x
        drm/msm: bigger synchronization hammer
        drm/exynos: Convert to use the standard hdmi.h header
        drm/exynos: Fix trivial typo
        drm/exynos: Remove unnecessary semicolon
        drm/exynos: Fix multiplatform breakage for ipp/gsc
        drm/exynos: Fix freeing issues in exynos_drm_drv.c
        drm/radeon: add missing include in btc_dpm.c
        drm/radeon/dpm: fix uninitialized read from stack in kv_dpm_late_enable
        drm/radeon: remove useless return
        drm/radeon/dpm: use stored max_vddc rather than looking it up
        drm/radeon/dpm: use the driver state for dpm debugfs
        drm/radeon: fix UVD IRQ support on 7xx
        drm/radeon: fix UVD IRQ support on SI
        drm/msm: fix deadlock in bo create fail path
        drm/msm/mdp4: cursor fixes
        drm/msm/mdp4: pageflip fixes
        drm/msm/mdp5: fix ref leaks in error paths
        ...
      641f832c
    • Mark Brown's avatar
      Merge remote-tracking branches 'regulator/fix/da9055' and... · 5c306c8a
      Mark Brown authored
      Merge remote-tracking branches 'regulator/fix/da9055' and 'regulator/fix/max14577' into regulator-linus
      5c306c8a
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 45f7fdc2
      Linus Torvalds authored
      Pull powerpc updates from Ben Herrenschmidt:
       "Here is some powerpc goodness for -rc2.  Arguably -rc1 material more
        than -rc2 but I was travelling (again !)
      
        It's mostly bug fixes including regressions, but there are a couple of
        new things that I decided to drop-in.
      
        One is a straightforward patch from Michael to add a bunch of P8 cache
        events to perf.
      
        The other one is a patch by myself to add the direct DMA (iommu
        bypass) for PCIe on Power8 for 64-bit capable devices.  This has been
        around for a while, I had lost track of it.  However it's been in our
        internal kernels we use for testing P8 already and it affects only P8
        related code.  Since P8 is still unreleased the risk is pretty much
        nil at this point"
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/powernv: Add iommu DMA bypass support for IODA2
        powerpc: Fix endian issues in kexec and crash dump code
        powerpc/ppc32: Fix the bug in the init of non-base exception stack for UP
        powerpc/xmon: Don't signal we've entered until we're finished printing
        powerpc/xmon: Fix timeout loop in get_output_lock()
        powerpc/xmon: Don't loop forever in get_output_lock()
        powerpc/perf: Configure BHRB filter before enabling PMU interrupts
        crypto/nx/nx-842: Fix handling of vmalloc addresses
        powerpc/pseries: Select ARCH_RANDOM on pseries
        powerpc/perf: Add Power8 cache & TLB events
        powerpc/relocate fix relocate processing in LE mode
        powerpc: Fix kdump hang issue on p8 with relocation on exception enabled.
        powerpc/pseries: Disable relocation on exception while going down during crash.
        powerpc/eeh: Drop taken reference to driver on eeh_rmv_device
        powerpc: Fix build failure in sysdev/mpic.c for MPIC_WEIRD=y
      45f7fdc2
  3. 11 Feb, 2014 30 commits
    • Dave Airlie's avatar
      Merge branch 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox into drm-next · 9b244b5d
      Dave Airlie authored
      These are a number of fixes from the patch set which Jean-Francois has
      been working on which I think are important to be merged during -rc, and
      have been tested independently here.  I've been in discussion with Rob,
      who is happy that I send these directly to you.
      
      * 'tda998x-fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-cubox:
        drm/i2c: tda998x: fix the ENABLE_SPACE register
        drm/i2c: tda998x: set the PLL division factor in range 0..3
        drm/i2c: tda998x: force the page register at startup time
        drm/i2c: tda998x: free the CEC device on encoder_destroy
        drm/i2c: tda998x: check the CEC device creation
        drm/i2c: tda998x: fix bad value in the AIF
      9b244b5d
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2014-02-11' of ssh://git.freedesktop.org/git/drm-intel into drm-next · da89486f
      Dave Airlie authored
      3 regression fixes in i915
      
      * tag 'drm-intel-fixes-2014-02-11' of ssh://git.freedesktop.org/git/drm-intel:
        drm/i915: Pair va_copy with va_end in i915_error_vprintf
        drm/i915: Fix intel_pipe_to_cpu_transcoder for UMS
        drm/i915: Disable dp aux irq on g4x
      da89486f
    • Linus Torvalds's avatar
      Merge tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · bbb19555
      Linus Torvalds authored
      Pull DeviceTree fixes from Rob Herring:
      
       - Fix compile error drivers/spi/spi-rspi.c with !CONFIG_OF
       - Fix warnings for unused/uninitialized variables with !CONFIG_OF
       - Fix PCIe bus matching for powerpc
       - Add documentation for various vendor strings
      
      * tag 'dt-fixes-for-3.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        DT: Add vendor prefix for Spansion Inc.
        of/device: Nullify match table in of_match_device() for CONFIG_OF=n
        dt-bindings: add vendor-prefix for neonode
        of: fix PCI bus match for PCIe slots
        of: restructure for_each macros to fix compile warnings
        of: add vendor prefix for Honeywell
        of: Update qcom vendor prefix description
        of: add vendor prefix for Allwinner Technology
      bbb19555
    • Linus Torvalds's avatar
      Merge tag 'microblaze-3.14-rc3' of git://git.monstr.eu/linux-2.6-microblaze · 738b52bb
      Linus Torvalds authored
      Pull microblaze fixes from Michal Simek:
       - Fix two compilation issues - HZ, readq/writeq
       - Fix stack protection support
      
      * tag 'microblaze-3.14-rc3' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Fix a typo when disabling stack protection
        microblaze: Define readq and writeq IO helper function
        microblaze: Fix missing HZ macro
      738b52bb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · a87af778
      Linus Torvalds authored
      Pull s390 bugfixes from Martin Schwidefsky:
       "A collection a bug fixes.  Most of them are minor but two of them are
        more severe.  The linkage stack bug can be used by user space to force
        an oops, with panic_on_oops this is a denial-of-service.  And the dump
        memory detection issue can cause incomplete memory dumps"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/cio: improve cio_commit_config
        s390: fix kernel crash due to linkage stack instructions
        s390/dump: Fix dump memory detection
        s390/appldata: restore missing init_virt_timer()
        s390/qdio: correct program-controlled interruption checking
        s390/qdio: for_each macro correctness
      a87af778
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 16e5a2ed
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) Fix flexcan build on big endian, from Arnd Bergmann
      
       2) Correctly attach cpsw to GPIO bitbang MDIO drive, from Stefan Roese
      
       3) udp_add_offload has to use GFP_ATOMIC since it can be invoked from
          non-sleepable contexts.  From Or Gerlitz
      
       4) vxlan_gro_receive() does not iterate over all possible flows
          properly, fix also from Or Gerlitz
      
       5) CAN core doesn't use a proper SKB destructor when it hooks up
          sockets to SKBs.  Fix from Oliver Hartkopp
      
       6) ip_tunnel_xmit() can use an uninitialized route pointer, fix from
          Eric Dumazet
      
       7) Fix address family assignment in IPVS, from Michal Kubecek
      
       8) Fix ath9k build on ARM, from Sujith Manoharan
      
       9) Make sure fail_over_mac only applies for the correct bonding modes,
          from Ding Tianhong
      
      10) The udp offload code doesn't use RCU correctly, from Shlomo Pongratz
      
      11) Handle gigabit features properly in generic PHY code, from Florian
          Fainelli
      
      12) Don't blindly invoke link operations in
          rtnl_link_get_slave_info_data_size, they are optional.  Fix from
          Fernando Luis Vazquez Cao
      
      13) Add USB IDs for Netgear Aircard 340U, from Bjørn Mork
      
      14) Handle netlink packet padding properly in openvswitch, from Thomas
          Graf
      
      15) Fix oops when deleting chains in nf_tables, from Patrick McHardy
      
      16) Fix RX stalls in xen-netback driver, from Zoltan Kiss
      
      17) Fix deadlock in mac80211 stack, from Emmanuel Grumbach
      
      18) inet_nlmsg_size() forgets to consider ifa_cacheinfo, fix from Geert
          Uytterhoeven
      
      19) tg3_change_mtu() can deadlock, fix from Nithin Sujir
      
      20) Fix regression in setting SCTP local source addresses on accepted
          sockets, caused by some generic ipv6 socket changes.  Fix from
          Matija Glavinic Pecotic
      
      21) IPPROTO_* must be pure defines, otherwise module aliases don't get
          constructed properly.  Fix from Jan Moskyto
      
      22) IPV6 netconsole setup doesn't work properly unless an explicit
          source address is specified, fix from Sabrina Dubroca
      
      23) Use __GFP_NORETRY for high order skb page allocations in
          sock_alloc_send_pskb and skb_page_frag_refill.  From Eric Dumazet
      
      24) Fix a regression added in netconsole over bridging, from Cong Wang
      
      25) TCP uses an artificial offset of 1ms for SRTT, but this doesn't jive
          well with TCP pacing which needs the SRTT to be accurate.  Fix from
          Eric Dumazet
      
      26) Several cases of missing header file includes from Rashika Kheria
      
      27) Add ZTE MF667 device ID to qmi_wwan driver, from Raymond Wanyoike
      
      28) TCP Small Queues doesn't handle nonagle properly in some corner
          cases, fix from Eric Dumazet
      
      29) Remove extraneous read_unlock in bond_enslave, whoops.  From Ding
          Tianhong
      
      30) Fix 9p trans_virtio handling of vmalloc buffers, from Richard Yao
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (136 commits)
        6lowpan: fix lockdep splats
        alx: add missing stats_lock spinlock init
        9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers
        bonding: remove unwanted bond lock for enslave processing
        USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800 Device Driver Support
        tcp: tsq: fix nonagle handling
        bridge: Prevent possible race condition in br_fdb_change_mac_address
        bridge: Properly check if local fdb entry can be deleted when deleting vlan
        bridge: Properly check if local fdb entry can be deleted in br_fdb_delete_by_port
        bridge: Properly check if local fdb entry can be deleted in br_fdb_change_mac_address
        bridge: Fix the way to check if a local fdb entry can be deleted
        bridge: Change local fdb entries whenever mac address of bridge device changes
        bridge: Fix the way to find old local fdb entries in br_fdb_change_mac_address
        bridge: Fix the way to insert new local fdb entries in br_fdb_changeaddr
        bridge: Fix the way to find old local fdb entries in br_fdb_changeaddr
        tcp: correct code comment stating 3 min timeout for FIN_WAIT2, we only do 1 min
        net: vxge: Remove unused device pointer
        net: qmi_wwan: add ZTE MF667
        3c59x: Remove unused pointer in vortex_eisa_cleanup()
        net: fix 'ip rule' iif/oif device rename
        ...
      16e5a2ed
    • Paul Bolle's avatar
      ia64/xen: Remove Xen support for ia64 even more · d8320b2d
      Paul Bolle authored
      Commit d52eefb4 ("ia64/xen: Remove Xen support for ia64") removed
      the Kconfig symbol XEN_XENCOMM. But it didn't remove the code depending
      on that symbol. Remove that code now.
      Signed-off-by: default avatarPaul Bolle <pebolle@tiscali.nl>
      Acked-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      d8320b2d
    • David Vrabel's avatar
      xen: install xen/gntdev.h and xen/gntalloc.h · 564eb714
      David Vrabel authored
      xen/gntdev.h and xen/gntalloc.h both provide userspace ABIs so they
      should be installed.
      
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      564eb714
    • David Vrabel's avatar
      xen/events: bind all new interdomain events to VCPU0 · 97253eee
      David Vrabel authored
      Commit fc087e10 (xen/events: remove
      unnecessary init_evtchn_cpu_bindings()) causes a regression.
      
      The kernel-side VCPU binding was not being correctly set for newly
      allocated or bound interdomain events.  In ARM guests where 2-level
      events were used, this would result in no interdomain events being
      handled because the kernel-side VCPU masks would all be clear.
      
      x86 guests would work because the irq affinity was set during irq
      setup and this would set the correct kernel-side VCPU binding.
      
      Fix this by properly initializing the kernel-side VCPU binding in
      bind_evtchn_to_irq().
      Reported-and-tested-by: default avatarJulien Grall <julien.grall@linaro.org>
      Signed-off-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      97253eee
    • Mark Brown's avatar
    • Mark Brown's avatar
      797d0dec
    • Mika Kuoppala's avatar
      drm/i915: Pair va_copy with va_end in i915_error_vprintf · 1d2cb9a5
      Mika Kuoppala authored
      Each invocation of va_copy() must be matched by a corresponding
      invocation of va_end() in the same function.
      
      This regression has been introduced in
      
      commit e29bb4eb
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Fri Sep 20 10:20:59 2013 +0100
      
          drm/i915: Use a temporary va_list for two-pass string handling
      Signed-off-by: default avatarMika Kuoppala <mika.kuoppala@intel.com>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      1d2cb9a5
    • Daniel Vetter's avatar
      drm/i915: Fix intel_pipe_to_cpu_transcoder for UMS · a2d213dd
      Daniel Vetter authored
      We don't have all the drm_crtc&co hanging around in that case.
      
      This regression has been introduced in
      
      commit 391f75e2
      Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Date:   Wed Sep 25 19:55:26 2013 +0300
      
          drm/i915: Fix pre-CTG vblank counter
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=69521
      Cc: stable@vger.kernel.org (for 3.13 only)
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      a2d213dd
    • Benjamin Herrenschmidt's avatar
      powerpc/powernv: Add iommu DMA bypass support for IODA2 · cd15b048
      Benjamin Herrenschmidt authored
      This patch adds the support for to create a direct iommu "bypass"
      window on IODA2 bridges (such as Power8) allowing to bypass iommu
      page translation completely for 64-bit DMA capable devices, thus
      significantly improving DMA performances.
      
      Additionally, this adds a hook to the struct iommu_table so that
      the IOMMU API / VFIO can disable the bypass when external ownership
      is requested, since in that case, the device will be used by an
      environment such as userspace or a KVM guest which must not be
      allowed to bypass translations.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      cd15b048
    • Dave Airlie's avatar
      Merge tag 'drm-intel-fixes-2014-02-06' of ssh://git.freedesktop.org/git/drm-intel into drm-next · 379dd277
      Dave Airlie authored
      Just minor stuff really, on vlv dp fix and two patches to tune down some
      opregion sanity check. Plus MAINTAINERS update for the new git repo, which
      is the only reason I've really bothered with this pull request.
      
      * tag 'drm-intel-fixes-2014-02-06' of ssh://git.freedesktop.org/git/drm-intel:
        drm/i915: demote opregion excessive timeout WARN_ONCE to DRM_INFO_ONCE
        drm: add DRM_INFO_ONCE() to print a one-time DRM_INFO() message
        MAINTAINERS: Update drm/i915 git repo
        drm/i915: vlv: fix DP PHY lockup due to invalid PP sequencer setup
      379dd277
    • Dave Airlie's avatar
      Merge branch 'exynos-drm-fixes' of... · 30d44425
      Dave Airlie authored
      Merge branch 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next
      
      This pull request fixes memory leak issue in exynos_drm_open() and
      multiplatform breakage for ipp/gsc. And also including some cleanups.
      
      * 'exynos-drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos:
        drm/exynos: Convert to use the standard hdmi.h header
        drm/exynos: Fix trivial typo
        drm/exynos: Remove unnecessary semicolon
        drm/exynos: Fix multiplatform breakage for ipp/gsc
        drm/exynos: Fix freeing issues in exynos_drm_drv.c
      30d44425
    • Dave Airlie's avatar
      Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next · 7431105b
      Dave Airlie authored
      Compared to original fixes pull req that I sent yesterday, this adds
      one more fix that I found for a synchronization issue which starts to
      crop up when we use XA in DDX for 2d accel on 3d core.  In particular,
      accelerating presentation blit triggers this problem.
      
      * 'msm-next' of git://people.freedesktop.org/~robclark/linux:
        drm/msm: bigger synchronization hammer
        drm/msm: fix deadlock in bo create fail path
        drm/msm/mdp4: cursor fixes
        drm/msm/mdp4: pageflip fixes
        drm/msm/mdp5: fix ref leaks in error paths
        drm/msm: fix inconsequential typo
      7431105b
    • Eric Dumazet's avatar
      6lowpan: fix lockdep splats · 20e7c4e8
      Eric Dumazet authored
      When a device ndo_start_xmit() calls again dev_queue_xmit(),
      lockdep can complain because dev_queue_xmit() is re-entered and the
      spinlocks protecting tx queues share a common lockdep class.
      
      Same issue was fixed for bonding/l2tp/ppp in commits
      
      0daa2303 ("[PATCH] bonding: lockdep annotation")
      49ee4920 ("bonding: set qdisc_tx_busylock to avoid LOCKDEP splat")
      23d3b8bf ("net: qdisc busylock needs lockdep annotations ")
      303c07db ("ppp: set qdisc_tx_busylock to avoid LOCKDEP splat ")
      Reported-by: default avatarAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Tested-by: default avatarAlexander Aring <alex.aring@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20e7c4e8
    • John Greene's avatar
      alx: add missing stats_lock spinlock init · 3e5ccc29
      John Greene authored
      Trivial fix for init time stack trace occuring in
      alx_get_stats64 upon start up. Should have been part of
      commit adding the spinlock:
      f1b6b106 alx: add alx_get_stats64 operation
      Signed-off-by: default avatarJohn Greene <jogreene@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3e5ccc29
    • Richard Yao's avatar
      9p/trans_virtio.c: Fix broken zero-copy on vmalloc() buffers · b6f52ae2
      Richard Yao authored
      The 9p-virtio transport does zero copy on things larger than 1024 bytes
      in size. It accomplishes this by returning the physical addresses of
      pages to the virtio-pci device. At present, the translation is usually a
      bit shift.
      
      That approach produces an invalid page address when we read/write to
      vmalloc buffers, such as those used for Linux kernel modules. Any
      attempt to load a Linux kernel module from 9p-virtio produces the
      following stack.
      
      [<ffffffff814878ce>] p9_virtio_zc_request+0x45e/0x510
      [<ffffffff814814ed>] p9_client_zc_rpc.constprop.16+0xfd/0x4f0
      [<ffffffff814839dd>] p9_client_read+0x15d/0x240
      [<ffffffff811c8440>] v9fs_fid_readn+0x50/0xa0
      [<ffffffff811c84a0>] v9fs_file_readn+0x10/0x20
      [<ffffffff811c84e7>] v9fs_file_read+0x37/0x70
      [<ffffffff8114e3fb>] vfs_read+0x9b/0x160
      [<ffffffff81153571>] kernel_read+0x41/0x60
      [<ffffffff810c83ab>] copy_module_from_fd.isra.34+0xfb/0x180
      
      Subsequently, QEMU will die printing:
      
      qemu-system-x86_64: virtio: trying to map MMIO memory
      
      This patch enables 9p-virtio to correctly handle this case. This not
      only enables us to load Linux kernel modules off virtfs, but also
      enables ZFS file-based vdevs on virtfs to be used without killing QEMU.
      
      Special thanks to both Avi Kivity and Alexander Graf for their
      interpretation of QEMU backtraces. Without their guidence, tracking down
      this bug would have taken much longer. Also, special thanks to Linus
      Torvalds for his insightful explanation of why this should use
      is_vmalloc_addr() instead of is_vmalloc_or_module_addr():
      
      https://lkml.org/lkml/2014/2/8/272Signed-off-by: default avatarRichard Yao <ryao@gentoo.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b6f52ae2
    • dingtianhong's avatar
      bonding: remove unwanted bond lock for enslave processing · 6b8790b5
      dingtianhong authored
      The bond enslave processing don't hold bond->lock anymore,
      so release an unlocked rw lock will cause warning message,
      remove the unwanted read_unlock(&bond->lock).
      
      Cc: Jay Vosburgh <fubar@us.ibm.com>
      Cc: Veaceslav Falico <vfalico@redhat.com>
      Cc: Andy Gospodarek <andy@greyhouse.net>
      Signed-off-by: default avatarDing Tianhong <dingtianhong@huawei.com>
      Acked-by: default avatarVeaceslav Falico <vfalico@redhat.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6b8790b5
    • Liu Junliang's avatar
    • Anton Blanchard's avatar
      powerpc: Fix endian issues in kexec and crash dump code · ea961a82
      Anton Blanchard authored
      We expose a number of OF properties in the kexec and crash dump code
      and these need to be big endian.
      
      Cc: stable@vger.kernel.org # v3.13
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      ea961a82
    • Kevin Hao's avatar
      powerpc/ppc32: Fix the bug in the init of non-base exception stack for UP · 04a34113
      Kevin Hao authored
      We would allocate one specific exception stack for each kind of
      non-base exceptions for every CPU. For ppc32 the CPU hard ID is
      used as the subscript to get the specific exception stack for
      one CPU. But for an UP kernel, there is only one element in the
      each kind of exception stack array. We would get stuck if the
      CPU hard ID is not equal to '0'. So in this case we should use the
      subscript '0' no matter what the CPU hard ID is.
      Signed-off-by: default avatarKevin Hao <haokexin@gmail.com>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      04a34113
    • Michael Ellerman's avatar
      powerpc/xmon: Don't signal we've entered until we're finished printing · d2b496e5
      Michael Ellerman authored
      Currently we set our cpu's bit in cpus_in_xmon, and then we take the
      output lock and print the exception information.
      
      This can race with the master cpu entering the command loop and printing
      the backtrace. The result is that the backtrace gets garbled with
      another cpu's exception print out.
      
      Fix it by delaying the set of cpus_in_xmon until we are finished
      printing.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      d2b496e5
    • Michael Ellerman's avatar
      powerpc/xmon: Fix timeout loop in get_output_lock() · 15075897
      Michael Ellerman authored
      As far as I can tell, our 70s era timeout loop in get_output_lock() is
      generating no code.
      
      This leads to the hostile takeover happening more or less simultaneously
      on all cpus. The result is "interesting", some example output that is
      more readable than most:
      
          cpu 0x1: Vector: 100 (Scypsut e0mx bR:e setV)e catto xc0p:u[ c 00
          c0:0  000t0o0V0erc0td:o5 rfc28050000]0c00 0 0  0 6t(pSrycsV1ppuot
          uxe 1m 2 0Rx21e3:0s0ce000c00000t00)00 60602oV2SerucSayt0y 0p 1sxs
      
      Fix it by using udelay() in the timeout loop. The wait time and check
      frequency are arbitrary, but seem to work OK. We already rely on
      udelay() working so this is not a new dependency.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      15075897
    • Michael Ellerman's avatar
      powerpc/xmon: Don't loop forever in get_output_lock() · 730efb61
      Michael Ellerman authored
      If we enter with xmon_speaker != 0 we skip the first cmpxchg(), we also
      skip the while loop because xmon_speaker != last_speaker (0) - meaning we
      skip the second cmpxchg() also.
      
      Following that code path the compiler sees no memory barriers and so is
      within its rights to never reload xmon_speaker. The end result is we loop
      forever.
      
      This manifests as all cpus being in xmon ('c' command), but they refuse
      to take control when you switch to them ('c x' for cpu # x).
      
      I have seen this deadlock in practice and also checked the generated code to
      confirm this is what's happening.
      
      The simplest fix is just to always try the cmpxchg().
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      730efb61
    • Anshuman Khandual's avatar
      powerpc/perf: Configure BHRB filter before enabling PMU interrupts · b4d6c06c
      Anshuman Khandual authored
      Right now the config_bhrb() PMU specific call happens after
      write_mmcr0(), which actually enables the PMU for event counting and
      interrupts. So there is a small window of time where the PMU and BHRB
      runs without the required HW branch filter (if any) enabled in BHRB.
      
      This can cause some of the branch samples to be collected through BHRB
      without any filter applied and hence affects the correctness of
      the results. This patch moves the BHRB config function call before
      enabling interrupts.
      
      Here are some data points captured via trace prints which depicts how we
      could get PMU interrupts with BHRB filter NOT enabled with a standard
      perf record command line (asking for branch record information as well).
      
          $ perf record -j any_call ls
      
      Before the patch:-
      
          ls-1962  [003] d...  2065.299590: .perf_event_interrupt: MMCRA: 40000000000
          ls-1962  [003] d...  2065.299603: .perf_event_interrupt: MMCRA: 40000000000
          ...
      
          All the PMU interrupts before this point did not have the requested
          HW branch filter enabled in the MMCRA.
      
          ls-1962  [003] d...  2065.299647: .perf_event_interrupt: MMCRA: 40040000000
          ls-1962  [003] d...  2065.299662: .perf_event_interrupt: MMCRA: 40040000000
      
      After the patch:-
      
          ls-1850  [008] d...   190.311828: .perf_event_interrupt: MMCRA: 40040000000
          ls-1850  [008] d...   190.311848: .perf_event_interrupt: MMCRA: 40040000000
      
          All the PMU interrupts have the requested HW BHRB branch filter
          enabled in MMCRA.
      Signed-off-by: default avatarAnshuman Khandual <khandual@linux.vnet.ibm.com>
      [mpe: Fixed up whitespace and cleaned up changelog]
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      b4d6c06c
    • Nathan Fontenot's avatar
      crypto/nx/nx-842: Fix handling of vmalloc addresses · 0ba3e101
      Nathan Fontenot authored
      The powerpc specific nx-842 compression driver does not currently
      handle translating a vmalloc address to a physical address.
      
      The current driver uses __pa() for all addresses which does not
      properly handle vmalloc addresses and thus causes a failure since
      we do not pass a proper physical address to the hypervisor.
      
      This patch adds a routine to convert an address to a physical
      address by checking for vmalloc addresses and handling them properly.
      Signed-off-by: default avatarNathan Fontenot <nfont@linux.vnet.ibm.com>
       ---
       drivers/crypto/nx/nx-842.c |   29 +++++++++++++++++++----------
       1 file changed, 19 insertions(+), 10 deletions(-)
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      0ba3e101
    • Michael Ellerman's avatar
      powerpc/pseries: Select ARCH_RANDOM on pseries · 8d4887ee
      Michael Ellerman authored
      We have a driver for the ARCH_RANDOM hook in rng.c, so we should select
      ARCH_RANDOM on pseries.
      
      Without this the build breaks if you turn ARCH_RANDOM off.
      
      This hasn't broken the build because pseries_defconfig doesn't specify a
      value for PPC_POWERNV, which is default y, and selects ARCH_RANDOM.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      8d4887ee