]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
10 years agoMerge remote-tracking branch 'renesas/next'
Stephen Rothwell [Tue, 20 May 2014 01:41:54 +0000 (11:41 +1000)]
Merge remote-tracking branch 'renesas/next'

10 years agoMerge remote-tracking branch 'mvebu/for-next'
Stephen Rothwell [Tue, 20 May 2014 01:40:48 +0000 (11:40 +1000)]
Merge remote-tracking branch 'mvebu/for-next'

Conflicts:
arch/arm/mach-mvebu/Kconfig

10 years agoMerge remote-tracking branch 'keystone/next'
Stephen Rothwell [Tue, 20 May 2014 01:30:25 +0000 (11:30 +1000)]
Merge remote-tracking branch 'keystone/next'

10 years agoMerge remote-tracking branch 'imx-mxs/for-next'
Stephen Rothwell [Tue, 20 May 2014 01:29:22 +0000 (11:29 +1000)]
Merge remote-tracking branch 'imx-mxs/for-next'

10 years agoMerge remote-tracking branch 'ep93xx/ep93xx-for-next'
Stephen Rothwell [Tue, 20 May 2014 01:29:14 +0000 (11:29 +1000)]
Merge remote-tracking branch 'ep93xx/ep93xx-for-next'

10 years agoMerge remote-tracking branch 'berlin/berlin/for-next'
Stephen Rothwell [Tue, 20 May 2014 01:28:21 +0000 (11:28 +1000)]
Merge remote-tracking branch 'berlin/berlin/for-next'

10 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Tue, 20 May 2014 01:27:25 +0000 (11:27 +1000)]
Merge remote-tracking branch 'arm-soc/for-next'

10 years agoMerge remote-tracking branch 'arm-perf/for-next/perf'
Stephen Rothwell [Tue, 20 May 2014 01:26:35 +0000 (11:26 +1000)]
Merge remote-tracking branch 'arm-perf/for-next/perf'

10 years agoMerge remote-tracking branch 'arm-kvm-cpuresume/arm-kvm-cpuresume'
Stephen Rothwell [Tue, 20 May 2014 01:25:39 +0000 (11:25 +1000)]
Merge remote-tracking branch 'arm-kvm-cpuresume/arm-kvm-cpuresume'

10 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Tue, 20 May 2014 01:23:35 +0000 (11:23 +1000)]
Merge remote-tracking branch 'arm/for-next'

10 years agoMerge remote-tracking branch 'arc/for-next'
Stephen Rothwell [Tue, 20 May 2014 01:22:44 +0000 (11:22 +1000)]
Merge remote-tracking branch 'arc/for-next'

10 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Stephen Rothwell [Tue, 20 May 2014 01:11:44 +0000 (11:11 +1000)]
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

10 years agoMerge remote-tracking branch 'devicetree-current/devicetree/merge'
Stephen Rothwell [Tue, 20 May 2014 01:11:41 +0000 (11:11 +1000)]
Merge remote-tracking branch 'devicetree-current/devicetree/merge'

10 years agoMerge remote-tracking branch 'ide/master'
Stephen Rothwell [Tue, 20 May 2014 01:11:38 +0000 (11:11 +1000)]
Merge remote-tracking branch 'ide/master'

10 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Tue, 20 May 2014 01:11:36 +0000 (11:11 +1000)]
Merge remote-tracking branch 'crypto-current/master'

10 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Tue, 20 May 2014 01:11:33 +0000 (11:11 +1000)]
Merge remote-tracking branch 'input-current/for-linus'

10 years agoMerge remote-tracking branch 'staging.current/staging-linus'
Stephen Rothwell [Tue, 20 May 2014 01:11:32 +0000 (11:11 +1000)]
Merge remote-tracking branch 'staging.current/staging-linus'

10 years agoMerge remote-tracking branch 'driver-core.current/driver-core-linus'
Stephen Rothwell [Tue, 20 May 2014 01:11:31 +0000 (11:11 +1000)]
Merge remote-tracking branch 'driver-core.current/driver-core-linus'

10 years agoMerge remote-tracking branch 'wireless/master'
Stephen Rothwell [Tue, 20 May 2014 01:11:29 +0000 (11:11 +1000)]
Merge remote-tracking branch 'wireless/master'

10 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Tue, 20 May 2014 01:11:28 +0000 (11:11 +1000)]
Merge remote-tracking branch 'pci-current/for-linus'

10 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Tue, 20 May 2014 01:11:27 +0000 (11:11 +1000)]
Merge remote-tracking branch 'sound-current/for-linus'

10 years agonext-20140519/net
Stephen Rothwell [Tue, 20 May 2014 00:58:26 +0000 (10:58 +1000)]
next-20140519/net

10 years agoMerge remote-tracking branch 'sparc/master'
Stephen Rothwell [Tue, 20 May 2014 00:40:01 +0000 (10:40 +1000)]
Merge remote-tracking branch 'sparc/master'

10 years agoMerge remote-tracking branch 'powerpc-merge/merge'
Stephen Rothwell [Tue, 20 May 2014 00:40:00 +0000 (10:40 +1000)]
Merge remote-tracking branch 'powerpc-merge/merge'

10 years agoMerge remote-tracking branch 'metag-fixes/fixes'
Stephen Rothwell [Tue, 20 May 2014 00:39:59 +0000 (10:39 +1000)]
Merge remote-tracking branch 'metag-fixes/fixes'

10 years agoMerge remote-tracking branch 'fixes/master'
Stephen Rothwell [Tue, 20 May 2014 00:29:14 +0000 (10:29 +1000)]
Merge remote-tracking branch 'fixes/master'

10 years agoMerge branch 'berlin/soc' into berlin/for-next
Sebastian Hesselbarth [Mon, 19 May 2014 21:05:39 +0000 (23:05 +0200)]
Merge branch 'berlin/soc' into berlin/for-next

10 years agoARM: dts: berlin: enable SD card reader and eMMC for the BG2Q DMP
Antoine Tenart [Mon, 19 May 2014 20:04:33 +0000 (22:04 +0200)]
ARM: dts: berlin: enable SD card reader and eMMC for the BG2Q DMP

Enable the SD Card reader and the internal eMMC on the Berlin BG2Q DMP
using two of the SDHCI nodes of the Berlin BG2Q.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: add the SDHCI nodes for the BG2Q
Antoine Tenart [Mon, 19 May 2014 20:03:00 +0000 (22:03 +0200)]
ARM: dts: berlin: add the SDHCI nodes for the BG2Q

Add the SDHCI nodes for the Marvell Berlin BG2Q, using the mrvl,pxav3-mmc
driver.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: add the pinctrl node and muxing setup for uarts
Antoine Tenart [Sun, 18 May 2014 18:15:57 +0000 (20:15 +0200)]
ARM: dts: berlin: add the pinctrl node and muxing setup for uarts

Add pinctrl bindings and system control nodes to what we currently know
about Berlin SoCs. Where available, also set default pinctrl property
for uarts, when there is only one pinmux option for it.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agodt-binding: ARM: add pinctrl binding docs for Marvell Berlin2 SoCs
Antoine Tenart [Mon, 5 May 2014 05:27:28 +0000 (07:27 +0200)]
dt-binding: ARM: add pinctrl binding docs for Marvell Berlin2 SoCs

Add pin control binding documentation to the SoC binding documentaion
as pinctrl is part of chip/system control registers. The documentation
also explains how to configure this group based controller.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: convert BG2Q to DT clock nodes
Alexandre Belloni [Mon, 12 May 2014 20:07:35 +0000 (22:07 +0200)]
ARM: dts: berlin: convert BG2Q to DT clock nodes

This converts Berlin BG2Q SoC dtsi to make use of the new DT clock
nodes for Berlin SoCs.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: convert BG2 to DT clock nodes
Sebastian Hesselbarth [Sun, 11 May 2014 19:32:41 +0000 (21:32 +0200)]
ARM: dts: berlin: convert BG2 to DT clock nodes

This converts Berlin BG2 SoC dtsi to make use of the new DT clock
nodes for Berlin SoCs. While at it, also fix up twdclk which is
running at cpuclk/3 instead of sysclk.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: convert BG2CD to DT clock nodes
Sebastian Hesselbarth [Sat, 10 May 2014 13:22:48 +0000 (15:22 +0200)]
ARM: dts: berlin: convert BG2CD to DT clock nodes

This converts Berlin BG2CD SoC dtsi to make use of the new DT clock
nodes for Berlin SoCs. Also add a binding include to ease core clock
references.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoclk: berlin: add binding include for Berlin SoC clock ids
Sebastian Hesselbarth [Wed, 14 May 2014 19:04:16 +0000 (21:04 +0200)]
clk: berlin: add binding include for Berlin SoC clock ids

This adds a dt-binding include for Marvell Berlin BG2/BG2CD and BG2Q
core clock IDs.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
10 years agodt-binding: ARM: add clock binding docs for Marvell Berlin2 SoCs
Sebastian Hesselbarth [Sat, 10 May 2014 11:46:12 +0000 (13:46 +0200)]
dt-binding: ARM: add clock binding docs for Marvell Berlin2 SoCs

This adds mandatory device tree binding documentation for the clock related
IP found on Marvell Berlin2 (BG2, BG2CD, and BG2Q) SoCs to the Berlin SoC
binding documentation.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: add the BG2CD GPIO nodes
Antoine Tenart [Thu, 17 Apr 2014 08:45:29 +0000 (10:45 +0200)]
ARM: dts: berlin: add the BG2CD GPIO nodes

The Berlin BG2CD has 32 GPIOs in SoC power domain and 16 in the SM one.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: add the BG2 GPIO nodes
Antoine Tenart [Thu, 17 Apr 2014 08:45:28 +0000 (10:45 +0200)]
ARM: dts: berlin: add the BG2 GPIO nodes

The Berlin BG2 has 32 GPIOs in SoC power domain and 16 in the SM one.
Only the first 8 SM GPIOs have interrupt support.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: add the BG2Q GPIO nodes
Antoine Tenart [Wed, 16 Apr 2014 19:18:41 +0000 (21:18 +0200)]
ARM: dts: berlin: add the BG2Q GPIO nodes

The Marvell Berlin BG2Q has 6 GPIO ports compatible with the snps,dw-apb-gpio
driver. This patch adds the corresponding device tree nodes.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Reviewed-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: add scu and chipctrl device nodes for BG2/BG2Q
Sebastian Hesselbarth [Thu, 13 Mar 2014 12:32:34 +0000 (13:32 +0100)]
ARM: dts: berlin: add scu and chipctrl device nodes for BG2/BG2Q

This adds scu and general purpose registers device nodes required for
SMP on Berlin BG2 and BG2Q SoCs. The secondary CPUs will pick their jump
address from general purpose (SW generic) register 1.

Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Acked-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Jisheng Zhang <jszhang@marvell.com>
Tested-by: Antoine Tenart <antoine.tenart@free-electrons.com>
10 years agoARM: dts: berlin: add the Marvell BG2-Q DMP device tree
Antoine Tenart [Tue, 18 Mar 2014 14:32:47 +0000 (15:32 +0100)]
ARM: dts: berlin: add the Marvell BG2-Q DMP device tree

Adds initial support for the Marvell BG2-Q DMP. The board has 2GB of
memory, an uart activated and what's initially supported by the Marvell
Armada 1500 pro dtsi.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: dts: berlin: add the Marvell Armada 1500 pro
Antoine Tenart [Tue, 18 Mar 2014 14:32:45 +0000 (15:32 +0100)]
ARM: dts: berlin: add the Marvell Armada 1500 pro

Adds initial support for the Marvell Armada 1500 pro (BG2Q) SoC (Berlin family).
The SoC has nodes for cpu, l2 cache controller, interrupt controllers, local
timer, apb timers and uarts for now. Also add corresponding binding documentation.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: berlin: add the pinctrl dependency for the Marvell Berlin SoCs
Antoine Tenart [Sun, 18 May 2014 18:06:32 +0000 (20:06 +0200)]
ARM: berlin: add the pinctrl dependency for the Marvell Berlin SoCs

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: berlin: add the LIBGPIO as a dependency for the BG2Q
Antoine Tenart [Wed, 16 Apr 2014 07:46:34 +0000 (09:46 +0200)]
ARM: berlin: add the LIBGPIO as a dependency for the BG2Q

The BG2Q has GPIOs driven by the dwapb GPIO driver. Add the LIBGPIO as a
dependency to be able to support them.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Reviewed-by: Jisheng Zhang <jszhang@marvell.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: berlin: add MACH_BERLIN_BG2Q symbol
Alexandre Belloni [Fri, 21 Mar 2014 19:39:16 +0000 (20:39 +0100)]
ARM: berlin: add MACH_BERLIN_BG2Q symbol

Now that we start supporting the Marvell Berlin BG2Q, add a symbol allowing to
differentiate that SoC from the other SoCs of the Berlin family.

Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoARM: berlin: add Marvell Armada 1500 pro to Marvell doc
Antoine Tenart [Tue, 18 Mar 2014 14:32:46 +0000 (15:32 +0100)]
ARM: berlin: add Marvell Armada 1500 pro to Marvell doc

This adds Marvell Berlin Armada 1500 Pro (BG2Q) to Marvell SoC documentation.

Signed-off-by: Antoine Tenart <antoine.tenart@free-electrons.com>
Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
10 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth...
John W. Linville [Mon, 19 May 2014 20:34:27 +0000 (16:34 -0400)]
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth

10 years agoPCI: Wrong register used to check pending traffic
Gavin Shan [Mon, 19 May 2014 03:06:46 +0000 (13:06 +1000)]
PCI: Wrong register used to check pending traffic

The incorrect register offset is passed to pci_wait_for_pending(), which is
caused by commit 157e876ffe ("PCI: Add pci_wait_for_pending() (refactor
pci_wait_for_pending_transaction())").

Fixes: 157e876ffe ("PCI: Add pci_wait_for_pending() (refactor pci_wait_for_pending_transaction())
Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Alex Williamson <alex.williamson@gmail.com>
CC: stable@vger.kernel.org # v3.14+
10 years agoALSA: pcm_dmaengine: Add check during device suspend
Tushar Behera [Mon, 19 May 2014 09:23:53 +0000 (14:53 +0530)]
ALSA: pcm_dmaengine: Add check during device suspend

Currently snd_dmaengine_pcm_trigger() calls dmaengine_pause()
unconditinally during device suspend. In case where DMA controller
doesn't support PAUSE/RESUME functionality, this call is not able
to stop the DMA controller. In this scenario, audio playback doesn't
resume after device resume.

Calling dmaengine_pause/dmaengine_terminate_all conditionally fixes
the issue.

It has been tested with audio playback on Samsung platform having
PL330 DMA controller which doesn't support PAUSE/RESUME.

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
10 years agosparc64: Add membar to Niagara2 memcpy code.
David S. Miller [Sat, 17 May 2014 18:28:05 +0000 (11:28 -0700)]
sparc64: Add membar to Niagara2 memcpy code.

This is the prevent previous stores from overlapping the block stores
done by the memcpy loop.

Based upon a glibc patch by Jose E. Marchesi

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'stacked_netdevice_locking'
David S. Miller [Sat, 17 May 2014 02:15:23 +0000 (22:15 -0400)]
Merge branch 'stacked_netdevice_locking'

Vlad Yasevich says:

====================
Fix lockdep issues with stacked devices

Recent commit dc8eaaa006350d24030502a4521542e74b5cb39f
    vlan: Fix lockdep warning when vlan dev handle notification

attempted to solve lockdep issues with vlans where multiple
vlans were stacked.  However, the code does not work correctly
when the vlan stack is interspersed with other devices in between
the vlans.  Additionally, similar lockdep issues show up with other
devices.

This series provides a generic way to solve these issue for any
devices that can be stacked.  It also addresses the concern for
vlan and macvlan devices.  I am not sure whether it makes sense
to do so for other types like team, vxlan, and bond.

Thanks
-vlad

Since v2:
  - Remove rcu variants from patch1, since that function is called
    only under rtnl.
  - Fix whitespace problems reported by checkpatch

Since v1:
  - Fixed up a goofed-up rebase.
    * is_vlan_dev() should be bool and that change belongs in patch3.
    * patch4 should not have any vlan changes in it.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agomacvlan: Fix lockdep warnings with stacked macvlan devices
Vlad Yasevich [Fri, 16 May 2014 21:04:56 +0000 (17:04 -0400)]
macvlan: Fix lockdep warnings with stacked macvlan devices

Macvlan devices try to avoid stacking, but that's not always
successfull or even desired.  As an example, the following
configuration is perefectly legal and valid:

eth0 <--- macvlan0 <---- vlan0.10 <--- macvlan1

However, this configuration produces the following lockdep
trace:
[  115.620418] ======================================================
[  115.620477] [ INFO: possible circular locking dependency detected ]
[  115.620516] 3.15.0-rc1+ #24 Not tainted
[  115.620540] -------------------------------------------------------
[  115.620577] ip/1704 is trying to acquire lock:
[  115.620604]  (&vlan_netdev_addr_lock_key/1){+.....}, at: [<ffffffff815df49c>] dev_uc_sync+0x3c/0x80
[  115.620686]
but task is already holding lock:
[  115.620723]  (&macvlan_netdev_addr_lock_key){+.....}, at: [<ffffffff815da5be>] dev_set_rx_mode+0x1e/0x40
[  115.620795]
which lock already depends on the new lock.

[  115.620853]
the existing dependency chain (in reverse order) is:
[  115.620894]
-> #1 (&macvlan_netdev_addr_lock_key){+.....}:
[  115.620935]        [<ffffffff810d57f2>] lock_acquire+0xa2/0x130
[  115.620974]        [<ffffffff816f62e7>] _raw_spin_lock_nested+0x37/0x50
[  115.621019]        [<ffffffffa07296c3>] vlan_dev_set_rx_mode+0x53/0x110 [8021q]
[  115.621066]        [<ffffffff815da557>] __dev_set_rx_mode+0x57/0xa0
[  115.621105]        [<ffffffff815da5c6>] dev_set_rx_mode+0x26/0x40
[  115.621143]        [<ffffffff815da6be>] __dev_open+0xde/0x140
[  115.621174]        [<ffffffff815da9ad>] __dev_change_flags+0x9d/0x170
[  115.621174]        [<ffffffff815daaa9>] dev_change_flags+0x29/0x60
[  115.621174]        [<ffffffff815e7f11>] do_setlink+0x321/0x9a0
[  115.621174]        [<ffffffff815ea59f>] rtnl_newlink+0x51f/0x730
[  115.621174]        [<ffffffff815e6e75>] rtnetlink_rcv_msg+0x95/0x250
[  115.621174]        [<ffffffff81608b19>] netlink_rcv_skb+0xa9/0xc0
[  115.621174]        [<ffffffff815e6dca>] rtnetlink_rcv+0x2a/0x40
[  115.621174]        [<ffffffff81608150>] netlink_unicast+0xf0/0x1c0
[  115.621174]        [<ffffffff8160851f>] netlink_sendmsg+0x2ff/0x740
[  115.621174]        [<ffffffff815bc9db>] sock_sendmsg+0x8b/0xc0
[  115.621174]        [<ffffffff815bd4b9>] ___sys_sendmsg+0x369/0x380
[  115.621174]        [<ffffffff815bdbb2>] __sys_sendmsg+0x42/0x80
[  115.621174]        [<ffffffff815bdc02>] SyS_sendmsg+0x12/0x20
[  115.621174]        [<ffffffff816ffd69>] system_call_fastpath+0x16/0x1b
[  115.621174]
-> #0 (&vlan_netdev_addr_lock_key/1){+.....}:
[  115.621174]        [<ffffffff810d4d43>] __lock_acquire+0x1773/0x1a60
[  115.621174]        [<ffffffff810d57f2>] lock_acquire+0xa2/0x130
[  115.621174]        [<ffffffff816f62e7>] _raw_spin_lock_nested+0x37/0x50
[  115.621174]        [<ffffffff815df49c>] dev_uc_sync+0x3c/0x80
[  115.621174]        [<ffffffffa0696d2a>] macvlan_set_mac_lists+0xca/0x110 [macvlan]
[  115.621174]        [<ffffffff815da557>] __dev_set_rx_mode+0x57/0xa0
[  115.621174]        [<ffffffff815da5c6>] dev_set_rx_mode+0x26/0x40
[  115.621174]        [<ffffffff815da6be>] __dev_open+0xde/0x140
[  115.621174]        [<ffffffff815da9ad>] __dev_change_flags+0x9d/0x170
[  115.621174]        [<ffffffff815daaa9>] dev_change_flags+0x29/0x60
[  115.621174]        [<ffffffff815e7f11>] do_setlink+0x321/0x9a0
[  115.621174]        [<ffffffff815ea59f>] rtnl_newlink+0x51f/0x730
[  115.621174]        [<ffffffff815e6e75>] rtnetlink_rcv_msg+0x95/0x250
[  115.621174]        [<ffffffff81608b19>] netlink_rcv_skb+0xa9/0xc0
[  115.621174]        [<ffffffff815e6dca>] rtnetlink_rcv+0x2a/0x40
[  115.621174]        [<ffffffff81608150>] netlink_unicast+0xf0/0x1c0
[  115.621174]        [<ffffffff8160851f>] netlink_sendmsg+0x2ff/0x740
[  115.621174]        [<ffffffff815bc9db>] sock_sendmsg+0x8b/0xc0
[  115.621174]        [<ffffffff815bd4b9>] ___sys_sendmsg+0x369/0x380
[  115.621174]        [<ffffffff815bdbb2>] __sys_sendmsg+0x42/0x80
[  115.621174]        [<ffffffff815bdc02>] SyS_sendmsg+0x12/0x20
[  115.621174]        [<ffffffff816ffd69>] system_call_fastpath+0x16/0x1b
[  115.621174]
other info that might help us debug this:

[  115.621174]  Possible unsafe locking scenario:

[  115.621174]        CPU0                    CPU1
[  115.621174]        ----                    ----
[  115.621174]   lock(&macvlan_netdev_addr_lock_key);
[  115.621174]                                lock(&vlan_netdev_addr_lock_key/1);
[  115.621174]                                lock(&macvlan_netdev_addr_lock_key);
[  115.621174]   lock(&vlan_netdev_addr_lock_key/1);
[  115.621174]
 *** DEADLOCK ***

[  115.621174] 2 locks held by ip/1704:
[  115.621174]  #0:  (rtnl_mutex){+.+.+.}, at: [<ffffffff815e6dbb>] rtnetlink_rcv+0x1b/0x40
[  115.621174]  #1:  (&macvlan_netdev_addr_lock_key){+.....}, at: [<ffffffff815da5be>] dev_set_rx_mode+0x1e/0x40
[  115.621174]
stack backtrace:
[  115.621174] CPU: 3 PID: 1704 Comm: ip Not tainted 3.15.0-rc1+ #24
[  115.621174] Hardware name: Hewlett-Packard HP xw8400 Workstation/0A08h, BIOS 786D5 v02.38 10/25/2010
[  115.621174]  ffffffff82339ae0 ffff880465f79568 ffffffff816ee20c ffffffff82339ae0
[  115.621174]  ffff880465f795a8 ffffffff816e9e1b ffff880465f79600 ffff880465b019c8
[  115.621174]  0000000000000001 0000000000000002 ffff880465b019c8 ffff880465b01230
[  115.621174] Call Trace:
[  115.621174]  [<ffffffff816ee20c>] dump_stack+0x4d/0x66
[  115.621174]  [<ffffffff816e9e1b>] print_circular_bug+0x200/0x20e
[  115.621174]  [<ffffffff810d4d43>] __lock_acquire+0x1773/0x1a60
[  115.621174]  [<ffffffff810d3172>] ? trace_hardirqs_on_caller+0xb2/0x1d0
[  115.621174]  [<ffffffff810d57f2>] lock_acquire+0xa2/0x130
[  115.621174]  [<ffffffff815df49c>] ? dev_uc_sync+0x3c/0x80
[  115.621174]  [<ffffffff816f62e7>] _raw_spin_lock_nested+0x37/0x50
[  115.621174]  [<ffffffff815df49c>] ? dev_uc_sync+0x3c/0x80
[  115.621174]  [<ffffffff815df49c>] dev_uc_sync+0x3c/0x80
[  115.621174]  [<ffffffffa0696d2a>] macvlan_set_mac_lists+0xca/0x110 [macvlan]
[  115.621174]  [<ffffffff815da557>] __dev_set_rx_mode+0x57/0xa0
[  115.621174]  [<ffffffff815da5c6>] dev_set_rx_mode+0x26/0x40
[  115.621174]  [<ffffffff815da6be>] __dev_open+0xde/0x140
[  115.621174]  [<ffffffff815da9ad>] __dev_change_flags+0x9d/0x170
[  115.621174]  [<ffffffff815daaa9>] dev_change_flags+0x29/0x60
[  115.621174]  [<ffffffff811e1db1>] ? mem_cgroup_bad_page_check+0x21/0x30
[  115.621174]  [<ffffffff815e7f11>] do_setlink+0x321/0x9a0
[  115.621174]  [<ffffffff810d394c>] ? __lock_acquire+0x37c/0x1a60
[  115.621174]  [<ffffffff815ea59f>] rtnl_newlink+0x51f/0x730
[  115.621174]  [<ffffffff815ea169>] ? rtnl_newlink+0xe9/0x730
[  115.621174]  [<ffffffff815e6e75>] rtnetlink_rcv_msg+0x95/0x250
[  115.621174]  [<ffffffff810d329d>] ? trace_hardirqs_on+0xd/0x10
[  115.621174]  [<ffffffff815e6dbb>] ? rtnetlink_rcv+0x1b/0x40
[  115.621174]  [<ffffffff815e6de0>] ? rtnetlink_rcv+0x40/0x40
[  115.621174]  [<ffffffff81608b19>] netlink_rcv_skb+0xa9/0xc0
[  115.621174]  [<ffffffff815e6dca>] rtnetlink_rcv+0x2a/0x40
[  115.621174]  [<ffffffff81608150>] netlink_unicast+0xf0/0x1c0
[  115.621174]  [<ffffffff8160851f>] netlink_sendmsg+0x2ff/0x740
[  115.621174]  [<ffffffff815bc9db>] sock_sendmsg+0x8b/0xc0
[  115.621174]  [<ffffffff8119d4af>] ? might_fault+0x5f/0xb0
[  115.621174]  [<ffffffff8119d4f8>] ? might_fault+0xa8/0xb0
[  115.621174]  [<ffffffff8119d4af>] ? might_fault+0x5f/0xb0
[  115.621174]  [<ffffffff815cb51e>] ? verify_iovec+0x5e/0xe0
[  115.621174]  [<ffffffff815bd4b9>] ___sys_sendmsg+0x369/0x380
[  115.621174]  [<ffffffff816faa0d>] ? __do_page_fault+0x11d/0x570
[  115.621174]  [<ffffffff810cfe9f>] ? up_read+0x1f/0x40
[  115.621174]  [<ffffffff816fab04>] ? __do_page_fault+0x214/0x570
[  115.621174]  [<ffffffff8120a10b>] ? mntput_no_expire+0x6b/0x1c0
[  115.621174]  [<ffffffff8120a0b7>] ? mntput_no_expire+0x17/0x1c0
[  115.621174]  [<ffffffff8120a284>] ? mntput+0x24/0x40
[  115.621174]  [<ffffffff815bdbb2>] __sys_sendmsg+0x42/0x80
[  115.621174]  [<ffffffff815bdc02>] SyS_sendmsg+0x12/0x20
[  115.621174]  [<ffffffff816ffd69>] system_call_fastpath+0x16/0x1b

Fix this by correctly providing macvlan lockdep class.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agovlan: Fix lockdep warning with stacked vlan devices.
Vlad Yasevich [Fri, 16 May 2014 21:04:55 +0000 (17:04 -0400)]
vlan: Fix lockdep warning with stacked vlan devices.

This reverts commit dc8eaaa006350d24030502a4521542e74b5cb39f.
vlan: Fix lockdep warning when vlan dev handle notification

Instead we use the new new API to find the lock subclass of
our vlan device.  This way we can support configurations where
vlans are interspersed with other devices:
  bond -> vlan -> macvlan -> vlan

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: Allow for more then a single subclass for netif_addr_lock
Vlad Yasevich [Fri, 16 May 2014 21:04:54 +0000 (17:04 -0400)]
net: Allow for more then a single subclass for netif_addr_lock

Currently netif_addr_lock_nested assumes that there can be only
a single nesting level between 2 devices.  However, if we
have multiple devices of the same type stacked, this fails.
For example:
 eth0 <-- vlan0.10 <-- vlan0.10.20

A more complicated configuration may stack more then one type of
device in different order.
Ex:
  eth0 <-- vlan0.10 <-- macvlan0 <-- vlan1.10.20 <-- macvlan1

This patch adds an ndo_* function that allows each stackable
device to report its nesting level.  If the device doesn't
provide this function default subclass of 1 is used.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: Find the nesting level of a given device by type.
Vlad Yasevich [Fri, 16 May 2014 21:04:53 +0000 (17:04 -0400)]
net: Find the nesting level of a given device by type.

Multiple devices in the kernel can be stacked/nested and they
need to know their nesting level for the purposes of lockdep.
This patch provides a generic function that determines a nesting
level of a particular device by its type (ex: vlan, macvlan, etc).
We only care about nesting of the same type of devices.

For example:
  eth0 <- vlan0.10 <- macvlan0 <- vlan1.20

The nesting level of vlan1.20 would be 1, since there is another vlan
in the stack under it.

Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'heads/r7s72100-ccf-for-v3.16' into next
Simon Horman [Sat, 17 May 2014 00:15:27 +0000 (09:15 +0900)]
Merge branch 'heads/r7s72100-ccf-for-v3.16' into next

Conflicts:
arch/arm/boot/dts/Makefile

This conflict was resolved by:

CONFIG_ARCH_SHMOBILE_LEGACY hunk:
* Remove emev2-kzm9d.dtb
* Remove r7s72100-genmai-reference.dtb
* Keep r7s72100-genmai.dtb

CONFIG_ARCH_SHMOBILE_MULTI hunk:
* Remove r7s72100-genmai-reference.dtb
* Keep r7s72100-genmai.dtb
* Keep r8a7791-henninger.dtb

10 years agoARM: shmobile: Remove Genmai reference DTS
Wolfram Sang [Fri, 16 May 2014 12:10:16 +0000 (14:10 +0200)]
ARM: shmobile: Remove Genmai reference DTS

Now that the DTS file r7s72100-genmai.dts can be used with
board-genmai.c and board-genmai-reference.c, proceed with removing
r7s72100-genmai-reference.dts.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoARM: shmobile: Let Genmai multiplatform boot with Genmai DTB
Wolfram Sang [Fri, 16 May 2014 12:10:15 +0000 (14:10 +0200)]
ARM: shmobile: Let Genmai multiplatform boot with Genmai DTB

Let the multiplatform Genmai support boot with the unified DTS.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoARM: shmobile: Sync Genmai DTS with Genmai reference DTS
Wolfram Sang [Fri, 16 May 2014 12:10:14 +0000 (14:10 +0200)]
ARM: shmobile: Sync Genmai DTS with Genmai reference DTS

Copy the device nodes from Genmai reference into the Genmai device tree
file. This will allow us to use a single DTS file regardless of kernel
configuration. In case of legacy C board code the device nodes may or
may not be used, but in the multiplatform case all the DT device nodes
will be used.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoARM: shmobile: genmai-reference: Remove legacy clock support
Wolfram Sang [Fri, 16 May 2014 12:10:13 +0000 (14:10 +0200)]
ARM: shmobile: genmai-reference: Remove legacy clock support

genmai-reference is now only built for multiplatform which means that
CCF comes with the package. Remove unused legacy code ifdefs to clean up
the code.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoARM: shmobile: Remove non-multiplatform Genmai reference support
Wolfram Sang [Fri, 16 May 2014 12:10:12 +0000 (14:10 +0200)]
ARM: shmobile: Remove non-multiplatform Genmai reference support

Now that r7s72100 has CCF support, remove the legacy Genmai reference
Kconfig bits for the non-multiplatform case.

Starting from this commit Genmai board support is always enabled via
CONFIG_MACH_GENMAI, and CONFIG_ARCH_MULTIPLATFORM is used to select
between board-genmai.c and board-genmai-reference.c

The file board-genmai-reference.c can no longer be used together with
the legacy sh-clk clock framework, instead CCF is used.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
10 years agoarm-soc: document new merges
Olof Johansson [Fri, 16 May 2014 23:29:42 +0000 (16:29 -0700)]
arm-soc: document new merges

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge branch 'next/boards' into for-next
Olof Johansson [Fri, 16 May 2014 23:27:50 +0000 (16:27 -0700)]
Merge branch 'next/boards' into for-next

* next/boards:
  ARM: configs: enable XHCI mvebu support in multi_v7_defconfig

10 years agoMerge branch 'next/dt' into for-next
Olof Johansson [Fri, 16 May 2014 23:26:41 +0000 (16:26 -0700)]
Merge branch 'next/dt' into for-next

* next/dt:
  ARM: socfpga: dts: Add div-reg to the main_pll clocks
  ARM: socfpga: dts: add reset-controller
  Documentation: dt: reset: move socfpga-reset
  Documentation: dt: socfpga: add reset-cells property
  ARM: socfpga: dts: Add DTS entries for USB
  ARM: socfpga: dts: Remove hard coded clock-frequency property
  ARM: socfpga: dts: add eeprom and rtc on i2c0
  ARM: socfpga: dts: convert to preprocessor includes
  ARM: socfpga: dts: add rtc on i2c0 to socrates
  ARM: socfpga: dts: add support for EBV SOCrates
  ARM: socfpga: dts: add can0+1
  ARM: socfpga: dts: add i2c busses
  ARM: socfpga: dts: add remaining interrupts for pdma
  ARM: socfpga: dts: fix pdma interrupt

10 years agoMerge branch 'next/soc' into for-next
Olof Johansson [Fri, 16 May 2014 23:25:41 +0000 (16:25 -0700)]
Merge branch 'next/soc' into for-next

* next/soc: (28 commits)
  ARM: at91/dt: at91-cosino_mega2560 remove useless tsadcc node
  ARM: at91: remove atmel_tsadcc platform_data
  Input: atmel_tsadcc: remove driver
  ARM: at91: remove atmel_tsadcc from sama5_defconfig
  ARM: at91: sam9rl: switch from atmel_tsadcc to at91_adc
  ARM: at91: sam9g45: switch from atmel_tsadcc to at91_adc
  ARM: at91: sam9rlek add touchscreen support through at91_adc
  ARM: at91: sam9rl: add at91_adc to support adc and touchscreen
  iio: adc: at91: add sam9rl support
  iio: adc: at91: remove unused include from include/mach
  ARM: at91: sam9m10g45ek: Add touchscreen support through at91_adc
  iio: adc: at91_adc: Add support for touchscreens without TSMR
  iio: adc: at91: cleanup platform_data
  ARM: at91: sam9260: remove unused platform_data
  ARM: at91: sam9g45: remove unused platform_data
  ARM: at91/dt: define sam9rlek crystal frequencies
  ARM: at91/dt: move at91sam9rl SoC to the new slow/main clock models
  ARM: at91/dt: define main xtal frequency of the at91sam9261ek board
  ARM: at91/dt: move at91sam9261 SoC to the new main clock model
  ARM: at91/dt: add xtal frequencies to sama5d3 xplained board
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
Conflicts:
arch/arm/boot/dts/at91sam9rl.dtsi

10 years agoMerge tag 'at91-cleanup' of git://github.com/at91linux/linux-at91 into next/soc
Olof Johansson [Fri, 16 May 2014 23:22:41 +0000 (16:22 -0700)]
Merge tag 'at91-cleanup' of git://github.com/at91linux/linux-at91 into next/soc

Merge "at91: cleanup for 3.16 #1" from Nicolas Ferre:

First cleanup series for 3.15
- localize GPIO header in mach-at91 directory
- big update on the CCF front with main and slow clocks
- a cleanup of ADC and touchscreen driver with unification on IIO and
  removal of old driver

[olof: Most of this branch is new code, not cleanups, so I'm merging this into
the SoC branch in spite of the branch name]

* tag 'at91-cleanup' of git://github.com/at91linux/linux-at91: (28 commits)
  ARM: at91/dt: at91-cosino_mega2560 remove useless tsadcc node
  ARM: at91: remove atmel_tsadcc platform_data
  Input: atmel_tsadcc: remove driver
  ARM: at91: remove atmel_tsadcc from sama5_defconfig
  ARM: at91: sam9rl: switch from atmel_tsadcc to at91_adc
  ARM: at91: sam9g45: switch from atmel_tsadcc to at91_adc
  ARM: at91: sam9rlek add touchscreen support through at91_adc
  ARM: at91: sam9rl: add at91_adc to support adc and touchscreen
  iio: adc: at91: add sam9rl support
  iio: adc: at91: remove unused include from include/mach
  ARM: at91: sam9m10g45ek: Add touchscreen support through at91_adc
  iio: adc: at91_adc: Add support for touchscreens without TSMR
  iio: adc: at91: cleanup platform_data
  ARM: at91: sam9260: remove unused platform_data
  ARM: at91: sam9g45: remove unused platform_data
  ARM: at91/dt: define sam9rlek crystal frequencies
  ARM: at91/dt: move at91sam9rl SoC to the new slow/main clock models
  ARM: at91/dt: define main xtal frequency of the at91sam9261ek board
  ARM: at91/dt: move at91sam9261 SoC to the new main clock model
  ARM: at91/dt: add xtal frequencies to sama5d3 xplained board
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoARM: configs: enable XHCI mvebu support in multi_v7_defconfig
Gregory CLEMENT [Wed, 7 May 2014 13:52:21 +0000 (15:52 +0200)]
ARM: configs: enable XHCI mvebu support in multi_v7_defconfig

The Marvell Armada 38x platform needs the xhci_mvebu driver enabled
for the xHCI USB hosts, so this commit enables the corresponding
Kconfig option in multi_v7_defconfig.

Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: arm@kernel.org
Cc: Kevin Hilman <khilman@linaro.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agoMerge tag 'socfpga-dt-updates-for-3.16_v3' of git://git.rocketboards.org/linux-socfpg...
Olof Johansson [Fri, 16 May 2014 23:07:37 +0000 (16:07 -0700)]
Merge tag 'socfpga-dt-updates-for-3.16_v3' of git://git.rocketboards.org/linux-socfpga-next into next/dt

Merge "dts: socfpga: general updates for the socfpga platform" from Dinh
Nguyen:

Mostly DTS additions to the SOCFPGA platform from Steffan Trumtrar, and a
couple of device tree documentation updates/typo fix.

This one does not the GPIO binding patch, as that is pending further
discussion. Also, v3 fixes a rebase artifact and compile tested.

* tag 'socfpga-dt-updates-for-3.16_v3' of git://git.rocketboards.org/linux-socfpga-next:
  ARM: socfpga: dts: Add div-reg to the main_pll clocks
  ARM: socfpga: dts: add reset-controller
  Documentation: dt: reset: move socfpga-reset
  Documentation: dt: socfpga: add reset-cells property
  ARM: socfpga: dts: Add DTS entries for USB
  ARM: socfpga: dts: Remove hard coded clock-frequency property
  ARM: socfpga: dts: add eeprom and rtc on i2c0
  ARM: socfpga: dts: convert to preprocessor includes
  ARM: socfpga: dts: add rtc on i2c0 to socrates
  ARM: socfpga: dts: add support for EBV SOCrates
  ARM: socfpga: dts: add can0+1
  ARM: socfpga: dts: add i2c busses
  ARM: socfpga: dts: add remaining interrupts for pdma
  ARM: socfpga: dts: fix pdma interrupt

Signed-off-by: Olof Johansson <olof@lixom.net>
10 years agostaging: rtl8723au: Do not reset wdev->iftype in netdev_close()
Jes Sorensen [Fri, 16 May 2014 20:59:18 +0000 (22:59 +0200)]
staging: rtl8723au: Do not reset wdev->iftype in netdev_close()

wdev->ifdev should be set by .change_virtual_intf(). This solves the
problem of WARN() messages on module unload.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agonet: gro: make sure skb->cb[] initial content has not to be zero
Eric Dumazet [Fri, 16 May 2014 18:34:37 +0000 (11:34 -0700)]
net: gro: make sure skb->cb[] initial content has not to be zero

Starting from linux-3.13, GRO attempts to build full size skbs.

Problem is the commit assumed one particular field in skb->cb[]
was clean, but it is not the case on some stacked devices.

Timo reported a crash in case traffic is decrypted before
reaching a GRE device.

Fix this by initializing NAPI_GRO_CB(skb)->last at the right place,
this also removes one conditional.

Thanks a lot to Timo for providing full reports and bisecting this.

Fixes: 8a29111c7ca6 ("net: gro: allow to build full sized skb")
Bisected-by: Timo Teras <timo.teras@iki.fi>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoipv4: ip_tunnels: disable cache for nbma gre tunnels
Timo Teräs [Fri, 16 May 2014 05:34:39 +0000 (08:34 +0300)]
ipv4: ip_tunnels: disable cache for nbma gre tunnels

The connected check fails to check for ip_gre nbma mode tunnels
properly. ip_gre creates temporary tnl_params with daddr specified
to pass-in the actual target on per-packet basis from neighbor
layer. Detect these tunnels by inspecting the actual tunnel
configuration.

Minimal test case:
 ip route add 192.168.1.1/32 via 10.0.0.1
 ip route add 192.168.1.2/32 via 10.0.0.2
 ip tunnel add nbma0 mode gre key 1 tos c0
 ip addr add 172.17.0.0/16 dev nbma0
 ip link set nbma0 up
 ip neigh add 172.17.0.1 lladdr 192.168.1.1 dev nbma0
 ip neigh add 172.17.0.2 lladdr 192.168.1.2 dev nbma0
 ping 172.17.0.1
 ping 172.17.0.2

The second ping should be going to 192.168.1.2 and head 10.0.0.2;
but cached gre tunnel level route is used and it's actually going
to 192.168.1.1 via 10.0.0.1.

The lladdr's need to go to separate dst for the bug to trigger.
Test case uses separate route entries, but this can also happen
when the route entry is same: if there is a nexthop exception or
the GRE tunnel is IPsec'ed in which case the dst points to xfrm
bundle unique to the gre lladdr.

Fixes: 7d442fab0a67 ("ipv4: Cache dst in tunnels")
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Cc: Tom Herbert <therbert@google.com>
Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet/dsa/dsa.c: increment chip_index during of_node handling on dsa_of_probe()
Fabian Godehardt [Fri, 16 May 2014 04:21:44 +0000 (06:21 +0200)]
net/dsa/dsa.c: increment chip_index during of_node handling on dsa_of_probe()

Adding more than one chip on device-tree currently causes the probing
routine to always use the first chips data pointer.

Signed-off-by: Fabian Godehardt <fg@emlix.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: ipv6: make "ip -6 route get mark xyz" work.
Lorenzo Colitti [Thu, 15 May 2014 23:38:41 +0000 (16:38 -0700)]
net: ipv6: make "ip -6 route get mark xyz" work.

Currently, "ip -6 route get mark xyz" ignores the mark passed in
by userspace. Make it honour the mark, just like IPv4 does.

Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge
David S. Miller [Fri, 16 May 2014 20:28:53 +0000 (16:28 -0400)]
Merge tag 'batman-adv-fix-for-davem' of git://git.open-mesh.org/linux-merge

Include changes:
- fix NULL dereference in batadv_orig_hardif_seq_print_text()
- fix reference counting imbalance when using fragmentation
- avoid access to orig_node objects after they have been free'd
- fix local TT check for outgoing arp requests in DAT

10 years agoxen-netback: fix race between napi_complete() and interrupt handler
David Vrabel [Fri, 16 May 2014 11:26:04 +0000 (12:26 +0100)]
xen-netback: fix race between napi_complete() and interrupt handler

When the NAPI budget was not all used, xenvif_poll() would call
napi_complete() /after/ enabling the interrupt.  This resulted in a
race between the napi_complete() and the napi_schedule() in the
interrupt handler.  The use of local_irq_save/restore() avoided by
race iff the handler is running on the same CPU but not if it was
running on a different CPU.

Fix this properly by calling napi_complete() before reenabling
interrupts (in the xenvif_napi_schedule_or_enable_irq() call).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
David S. Miller [Fri, 16 May 2014 19:45:56 +0000 (15:45 -0400)]
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless

John W. Linville says:

====================
pull request: wireless 2014-05-15

Please pull this batch of fixes for the 3.15 stream...

For the mac80211 bits, Johannes says:

"One fix is to get better VHT performance and the other fixes tracing
garbage or other potential issues with the interface name tracing."

And...

"This has a fix from Emmanuel for a problem I failed to fix - when
association is in progress then it needs to be cancelled while
suspending (I had fixed the same for authentication). Also included a
fix from myself for a userspace API problem that hit the iw tool and a
fix to the remain-on-channel framework."

For the iwlwifi bits, Emmanuel says:

"Alex fixes the scan by disabling the fragmented scan. David prevents
scan offload while associated, the firmware seems not to like it. I
fix a stupid bug I made in BT Coex, and fix a bad #ifdef clause in rate
scaling.  Along with that there is a fix for a NULL pointer exception
that can happen if we load the driver and our ISR gets called because
the interrupt line is shared. The fix has been tested by the reporter."

And...

"We have here a fix from David Spinadel that makes a previous fix more
complete, and an off-by-one issue fixed by Eliad in the same area.
I fix the monitor that broke on the way."

Beyond that...

Daniel Kim's one-liner fixes a brcmfmac regression caused by a typo
in an earlier commit..

Rajkumar Manoharan fixes an ath9k oops reported by David Herrmann.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoaf_rxrpc: Fix XDR length check in rxrpc key demarshalling.
Nathaniel W Filardo [Thu, 15 May 2014 14:51:22 +0000 (15:51 +0100)]
af_rxrpc: Fix XDR length check in rxrpc key demarshalling.

There may be padding on the ticket contained in the key payload, so just ensure
that the claimed token length is large enough, rather than exactly the right
size.

Signed-off-by: Nathaniel Wesley Filardo <nwf@cs.jhu.edu>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet: phy: resume phydev when going to RESUMING
Zhangfei Gao [Thu, 15 May 2014 05:35:34 +0000 (13:35 +0800)]
net: phy: resume phydev when going to RESUMING

With commit be9dad1f9f26604fb ("net: phy: suspend phydev when going
to HALTED"), an unused PHY device will be put in a low-power mode
using BMCR_PDOWN. Some Ethernet drivers might be calling phy_start()
and phy_stop() from ndo_open and ndo_close() respectively, while
calling phy_connect() and phy_disconnect() from probe and remove.
In such a case, the PHY will be powered down during the phy_stop()
call, but will fail to be powered up in phy_start().
This patch fixes this scenario.

Signed-off-by: Jiancheng Xue <xuejiancheng@huawei.com>
Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoMerge branch 'mlx4-net'
David S. Miller [Fri, 16 May 2014 19:13:18 +0000 (15:13 -0400)]
Merge branch 'mlx4-net'

Or Gerlitz says:

====================
mlx4: Fix VF MAC address change under RoCE usage

This short series provides proper handling for the case where a
VF netdevice change their MAC address under a RoCE use case. The code
it deals with was introduced in 3.15-rc1

Prior to this series the source MAC used for the VM RoCE CM
packets remains as before the MAC modification. Hence RoCE CM
packets sent by the VF will not carry the same source MAC
address as the non-CM packets.

Earlier 3.15-rc commit f24f790 "net/mlx4_core: Load the Eth driver
first" handled just one instance of the problem, but this one
provides a more generic and proper solution which covers all
cases of VF mac change.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agoIB/mlx4: Invoke UPDATE_QP for proxy QP1 on MAC changes
Matan Barak [Thu, 15 May 2014 12:29:28 +0000 (15:29 +0300)]
IB/mlx4: Invoke UPDATE_QP for proxy QP1 on MAC changes

When we receive a netdev event indicating a netdev change and/or
a netdev address change, we must change the MAC index used by the
proxy QP1 (in the QP context), otherwise RoCE CM packets sent by the
VF will not carry the same source MAC address as the non-CM packets.

We use the UPDATE_QP command to perform this change.

In order to avoid modifying a QP context based on netdev event,
while the driver attempts to destroy this QP (e.g either the mlx4_ib
or ib_mad modules are unloaded), we use mutex locking in both flows.

Since the relevant mlx4 proxy GSI QP is created indirectly by the
mad module when they create their GSI QP, the mlx4 didn't need to
keep track on that QP prior to this change.

Now, when QP modifications are needed to this QP from within the
driver, we added refernece to it.

Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agonet/mlx4_core: Add UPDATE_QP SRIOV wrapper support
Matan Barak [Thu, 15 May 2014 12:29:27 +0000 (15:29 +0300)]
net/mlx4_core: Add UPDATE_QP SRIOV wrapper support

This patch adds UPDATE_QP SRIOV wrapper support.

The mechanism is a general one, but currently only source MAC
index changes are allowed for VFs.

Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
10 years agostaging: rtl8723au: Use correct pipe type for USB interrupts
Jes Sorensen [Fri, 16 May 2014 08:05:04 +0000 (10:05 +0200)]
staging: rtl8723au: Use correct pipe type for USB interrupts

Use a correct pipe type when filling un interrupt urbs. This should
finally take care of the WARN() messages on the console when USB urbs
are submitted.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
10 years agoMerge branch 'mvebu/dt' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:50 +0000 (18:00 +0000)]
Merge branch 'mvebu/dt' into for-next

Conflicts:
arch/arm/boot/dts/kirkwood-t5325.dts

10 years agoMerge branch 'mvebu/defconfig' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:37 +0000 (18:00 +0000)]
Merge branch 'mvebu/defconfig' into for-next

10 years agoMerge branch 'mvebu/soc' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:34 +0000 (18:00 +0000)]
Merge branch 'mvebu/soc' into for-next

10 years agoMerge branch 'mvebu/soc-orion5x' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:31 +0000 (18:00 +0000)]
Merge branch 'mvebu/soc-orion5x' into for-next

10 years agoMerge branch 'mvebu/soc-cpuidle' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:28 +0000 (18:00 +0000)]
Merge branch 'mvebu/soc-cpuidle' into for-next

10 years agoMerge branch 'mvebu/soc-pmsu' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:25 +0000 (18:00 +0000)]
Merge branch 'mvebu/soc-pmsu' into for-next

10 years agoMerge branch 'mvebu/drivers' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:22 +0000 (18:00 +0000)]
Merge branch 'mvebu/drivers' into for-next

10 years agoMerge branch 'mvebu/drivers-clk' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:20 +0000 (18:00 +0000)]
Merge branch 'mvebu/drivers-clk' into for-next

10 years agoMerge branch 'mvebu/irqchip' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:17 +0000 (18:00 +0000)]
Merge branch 'mvebu/irqchip' into for-next

10 years agoMerge branch 'mvebu/drivers-mbus_pci-fixes' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:14 +0000 (18:00 +0000)]
Merge branch 'mvebu/drivers-mbus_pci-fixes' into for-next

10 years agoMerge branch 'mvebu/drivers-irqchip-fixes' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:11 +0000 (18:00 +0000)]
Merge branch 'mvebu/drivers-irqchip-fixes' into for-next

10 years agoMerge branch 'mvebu/dt-fixes' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:09 +0000 (18:00 +0000)]
Merge branch 'mvebu/dt-fixes' into for-next

10 years agoMerge branch 'mvebu/dt-fixes-non-critical' into for-next
Jason Cooper [Fri, 16 May 2014 18:00:05 +0000 (18:00 +0000)]
Merge branch 'mvebu/dt-fixes-non-critical' into for-next

10 years agoARM: dts: kirkwood: add kirkwood-km_fixedeth DTS file
Valentin Longchamp [Fri, 16 May 2014 08:49:03 +0000 (10:49 +0200)]
ARM: dts: kirkwood: add kirkwood-km_fixedeth DTS file

Besides our Kirkwood Reference design, there is another group of board
on which the eth interface is not connected to a phy but to a switch for
some board internal communication. For these designs, the memory also is
raised to 256MB.

The configuration of the switch is handled by an EEPROM or by the
bootloader, but on the kirkwood side, the port is always configured as
1000 Mbits, full duplex.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Link: https://lkml.kernel.org/r/1400230143-15620-4-git-send-email-valentin.longchamp@keymile.com
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agoARM: dts: kirkwood: add kirkwood-km_common DTSI files
Valentin Longchamp [Fri, 16 May 2014 08:49:02 +0000 (10:49 +0200)]
ARM: dts: kirkwood: add kirkwood-km_common DTSI files

This file allows to factor the common parts between the various Keymile
Kirkwood Designs.

kirkwood-km_common configures the peripherals that are currently
common to all our Kirkwood designs: PCIe, pinctrl, bitbang I2C, NAND
Flash controller.

The kirkwood-km_kirkwood file is then changed to include this common
file.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Link: https://lkml.kernel.org/r/1400230143-15620-3-git-send-email-valentin.longchamp@keymile.com
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agoARM: dts: kirkwood: resynch 98dx4122 dtsi
Valentin Longchamp [Fri, 16 May 2014 08:49:01 +0000 (10:49 +0200)]
ARM: dts: kirkwood: resynch 98dx4122 dtsi

The 98DX4122 dtsi file lacks the defintion of the PCIe controller which
is present on this SoC.

The SATA phys must also be explicitely disabled since they are not
present on this SoC. If they remain enabled, a hardlock occures when
their clock gates are enabled.

Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com>
Link: https://lkml.kernel.org/r/1400230143-15620-2-git-send-email-valentin.longchamp@keymile.com
Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Acked-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
10 years agoMerge branch 'imx/dt' into for-next
Shawn Guo [Fri, 16 May 2014 15:03:32 +0000 (23:03 +0800)]
Merge branch 'imx/dt' into for-next

10 years agoARM: dts: imx35-pdk: Fix memory region description
Fabio Estevam [Tue, 13 May 2014 01:04:24 +0000 (22:04 -0300)]
ARM: dts: imx35-pdk: Fix memory region description

On imx35pdk there are two DRAM chip selects that are used:

CS0 at 0x80000000
CS1 at 0x90000000

Each bank is connected to 128MB of DRAM, giving a total of 256MB of system DRAM.

Fix the memory layout to describe the hardware appropriately.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>