1. 02 Oct, 2012 34 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · aecdc33e
      Linus Torvalds authored
      Pull networking changes from David Miller:
      
       1) GRE now works over ipv6, from Dmitry Kozlov.
      
       2) Make SCTP more network namespace aware, from Eric Biederman.
      
       3) TEAM driver now works with non-ethernet devices, from Jiri Pirko.
      
       4) Make openvswitch network namespace aware, from Pravin B Shelar.
      
       5) IPV6 NAT implementation, from Patrick McHardy.
      
       6) Server side support for TCP Fast Open, from Jerry Chu and others.
      
       7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel
          Borkmann.
      
       8) Increate the loopback default MTU to 64K, from Eric Dumazet.
      
       9) Use a per-task rather than per-socket page fragment allocator for
          outgoing networking traffic.  This benefits processes that have very
          many mostly idle sockets, which is quite common.
      
          From Eric Dumazet.
      
      10) Use up to 32K for page fragment allocations, with fallbacks to
          smaller sizes when higher order page allocations fail.  Benefits are
          a) less segments for driver to process b) less calls to page
          allocator c) less waste of space.
      
          From Eric Dumazet.
      
      11) Allow GRO to be used on GRE tunnels, from Eric Dumazet.
      
      12) VXLAN device driver, one way to handle VLAN issues such as the
          limitation of 4096 VLAN IDs yet still have some level of isolation.
          From Stephen Hemminger.
      
      13) As usual there is a large boatload of driver changes, with the scale
          perhaps tilted towards the wireless side this time around.
      
      Fix up various fairly trivial conflicts, mostly caused by the user
      namespace changes.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits)
        hyperv: Add buffer for extended info after the RNDIS response message.
        hyperv: Report actual status in receive completion packet
        hyperv: Remove extra allocated space for recv_pkt_list elements
        hyperv: Fix page buffer handling in rndis_filter_send_request()
        hyperv: Fix the missing return value in rndis_filter_set_packet_filter()
        hyperv: Fix the max_xfer_size in RNDIS initialization
        vxlan: put UDP socket in correct namespace
        vxlan: Depend on CONFIG_INET
        sfc: Fix the reported priorities of different filter types
        sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP
        sfc: Fix loopback self-test with separate_tx_channels=1
        sfc: Fix MCDI structure field lookup
        sfc: Add parentheses around use of bitfield macro arguments
        sfc: Fix null function pointer in efx_sriov_channel_type
        vxlan: virtual extensible lan
        igmp: export symbol ip_mc_leave_group
        netlink: add attributes to fdb interface
        tg3: unconditionally select HWMON support when tg3 is enabled.
        Revert "net: ti cpsw ethernet: allow reading phy interface mode from DT"
        gre: fix sparse warning
        ...
      aecdc33e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next · a20acf99
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "Largely this is simply adding support for the Niagara 4 cpu.
      
        Major areas are perf events (chip now supports 4 counters and can
        monitor any event on each counter), crypto (opcodes are availble for
        sha1, sha256, sha512, md5, crc32c, AES, DES, CAMELLIA, and Kasumi
        although the last is unsupported since we lack a generic crypto layer
        Kasumi implementation), and an optimized memcpy.
      
        Finally some cleanups by Peter Senna Tschudin."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (47 commits)
        sparc64: Fix trailing whitespace in NG4 memcpy.
        sparc64: Fix comment type in NG4 copy from user.
        sparc64: Add SPARC-T4 optimized memcpy.
        drivers/sbus/char: removes unnecessary semicolon
        arch/sparc/kernel/pci_sun4v.c: removes unnecessary semicolon
        sparc64: Fix function argument comment in camellia_sparc64_key_expand asm.
        sparc64: Fix IV handling bug in des_sparc64_cbc_decrypt
        sparc64: Add auto-loading mechanism to crypto-opcode drivers.
        sparc64: Add missing pr_fmt define to crypto opcode drivers.
        sparc64: Adjust crypto priorities.
        sparc64: Use cpu_pgsz_mask for linear kernel mapping config.
        sparc64: Probe cpu page size support more portably.
        sparc64: Support 2GB and 16GB page sizes for kernel linear mappings.
        sparc64: Fix bugs in unrolled 256-bit loops.
        sparc64: Avoid code duplication in crypto assembler.
        sparc64: Unroll CTR crypt loops in AES driver.
        sparc64: Unroll ECB decryption loops in AES driver.
        sparc64: Unroll ECB encryption loops in AES driver.
        sparc64: Add ctr mode support to AES driver.
        sparc64: Move AES driver over to a methods based implementation.
        ...
      a20acf99
    • Haiyang Zhang's avatar
      hyperv: Add buffer for extended info after the RNDIS response message. · a3a6cab5
      Haiyang Zhang authored
      In some response messages, there may be some extended info after the
      message.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a3a6cab5
    • Haiyang Zhang's avatar
      hyperv: Report actual status in receive completion packet · 63f6921d
      Haiyang Zhang authored
      The existing code always reports NVSP_STAT_SUCCESS. This patch adds the
      mechanism to report failure when it happens.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      63f6921d
    • Haiyang Zhang's avatar
      hyperv: Remove extra allocated space for recv_pkt_list elements · 6562640b
      Haiyang Zhang authored
      The receive code path doesn't use the page buffer, so remove the
      extra allocated space here.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6562640b
    • Haiyang Zhang's avatar
      hyperv: Fix page buffer handling in rndis_filter_send_request() · 99e3fcfa
      Haiyang Zhang authored
      To prevent possible data corruption in RNDIS requests, add another
      page buffer if the request message crossed page boundary.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      99e3fcfa
    • Haiyang Zhang's avatar
      hyperv: Fix the missing return value in rndis_filter_set_packet_filter() · ea496374
      Haiyang Zhang authored
      Return ETIMEDOUT when the reply message is not received in time.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ea496374
    • Haiyang Zhang's avatar
      hyperv: Fix the max_xfer_size in RNDIS initialization · fb1d074e
      Haiyang Zhang authored
      According to RNDIS specs, Windows sets this size to
      0x4000. I use the same value here.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fb1d074e
    • stephen hemminger's avatar
      vxlan: put UDP socket in correct namespace · bfe1b9b1
      stephen hemminger authored
      Move vxlan UDP socket to correct network namespace
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Acked-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bfe1b9b1
    • David S. Miller's avatar
      vxlan: Depend on CONFIG_INET · aaba1f58
      David S. Miller authored
      Reported-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aaba1f58
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace · 437589a7
      Linus Torvalds authored
      Pull user namespace changes from Eric Biederman:
       "This is a mostly modest set of changes to enable basic user namespace
        support.  This allows the code to code to compile with user namespaces
        enabled and removes the assumption there is only the initial user
        namespace.  Everything is converted except for the most complex of the
        filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,
        nfs, ocfs2 and xfs as those patches need a bit more review.
      
        The strategy is to push kuid_t and kgid_t values are far down into
        subsystems and filesystems as reasonable.  Leaving the make_kuid and
        from_kuid operations to happen at the edge of userspace, as the values
        come off the disk, and as the values come in from the network.
        Letting compile type incompatible compile errors (present when user
        namespaces are enabled) guide me to find the issues.
      
        The most tricky areas have been the places where we had an implicit
        union of uid and gid values and were storing them in an unsigned int.
        Those places were converted into explicit unions.  I made certain to
        handle those places with simple trivial patches.
      
        Out of that work I discovered we have generic interfaces for storing
        quota by projid.  I had never heard of the project identifiers before.
        Adding full user namespace support for project identifiers accounts
        for most of the code size growth in my git tree.
      
        Ultimately there will be work to relax privlige checks from
        "capable(FOO)" to "ns_capable(user_ns, FOO)" where it is safe allowing
        root in a user names to do those things that today we only forbid to
        non-root users because it will confuse suid root applications.
      
        While I was pushing kuid_t and kgid_t changes deep into the audit code
        I made a few other cleanups.  I capitalized on the fact we process
        netlink messages in the context of the message sender.  I removed
        usage of NETLINK_CRED, and started directly using current->tty.
      
        Some of these patches have also made it into maintainer trees, with no
        problems from identical code from different trees showing up in
        linux-next.
      
        After reading through all of this code I feel like I might be able to
        win a game of kernel trivial pursuit."
      
      Fix up some fairly trivial conflicts in netfilter uid/git logging code.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits)
        userns: Convert the ufs filesystem to use kuid/kgid where appropriate
        userns: Convert the udf filesystem to use kuid/kgid where appropriate
        userns: Convert ubifs to use kuid/kgid
        userns: Convert squashfs to use kuid/kgid where appropriate
        userns: Convert reiserfs to use kuid and kgid where appropriate
        userns: Convert jfs to use kuid/kgid where appropriate
        userns: Convert jffs2 to use kuid and kgid where appropriate
        userns: Convert hpfs to use kuid and kgid where appropriate
        userns: Convert btrfs to use kuid/kgid where appropriate
        userns: Convert bfs to use kuid/kgid where appropriate
        userns: Convert affs to use kuid/kgid wherwe appropriate
        userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids
        userns: On ia64 deal with current_uid and current_gid being kuid and kgid
        userns: On ppc convert current_uid from a kuid before printing.
        userns: Convert s390 getting uid and gid system calls to use kuid and kgid
        userns: Convert s390 hypfs to use kuid and kgid where appropriate
        userns: Convert binder ipc to use kuids
        userns: Teach security_path_chown to take kuids and kgids
        userns: Add user namespace support to IMA
        userns: Convert EVM to deal with kuids and kgids in it's hmac computation
        ...
      437589a7
    • Linus Torvalds's avatar
      Merge branch 'for-3.7-hierarchy' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 68d47a13
      Linus Torvalds authored
      Pull cgroup hierarchy update from Tejun Heo:
       "Currently, different cgroup subsystems handle nested cgroups
        completely differently.  There's no consistency among subsystems and
        the behaviors often are outright broken.
      
        People at least seem to agree that the broken hierarhcy behaviors need
        to be weeded out if any progress is gonna be made on this front and
        that the fallouts from deprecating the broken behaviors should be
        acceptable especially given that the current behaviors don't make much
        sense when nested.
      
        This patch makes cgroup emit warning messages if cgroups for
        subsystems with broken hierarchy behavior are nested to prepare for
        fixing them in the future.  This was put in a separate branch because
        more related changes were expected (didn't make it this round) and the
        memory cgroup wanted to pull in this and make changes on top."
      
      * 'for-3.7-hierarchy' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: mark subsystems with broken hierarchy support and whine if cgroups are nested for them
      68d47a13
    • Linus Torvalds's avatar
      Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · c0e8a139
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - xattr support added.  The implementation is shared with tmpfs.  The
         usage is restricted and intended to be used to manage per-cgroup
         metadata by system software.  tmpfs changes are routed through this
         branch with Hugh's permission.
      
       - cgroup subsystem ID handling simplified.
      
      * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: Define CGROUP_SUBSYS_COUNT according the configuration
        cgroup: Assign subsystem IDs during compile time
        cgroup: Do not depend on a given order when populating the subsys array
        cgroup: Wrap subsystem selection macro
        cgroup: Remove CGROUP_BUILTIN_SUBSYS_COUNT
        cgroup: net_prio: Do not define task_netpioidx() when not selected
        cgroup: net_cls: Do not define task_cls_classid() when not selected
        cgroup: net_cls: Move sock_update_classid() declaration to cls_cgroup.h
        cgroup: trivial fixes for Documentation/cgroups/cgroups.txt
        xattr: mark variable as uninitialized to make both gcc and smatch happy
        fs: add missing documentation to simple_xattr functions
        cgroup: add documentation on extended attributes usage
        cgroup: rename subsys_bits to subsys_mask
        cgroup: add xattr support
        cgroup: revise how we re-populate root directory
        xattr: extract simple_xattr code from tmpfs
      c0e8a139
    • Linus Torvalds's avatar
      Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 033d9959
      Linus Torvalds authored
      Pull workqueue changes from Tejun Heo:
       "This is workqueue updates for v3.7-rc1.  A lot of activities this
        round including considerable API and behavior cleanups.
      
         * delayed_work combines a timer and a work item.  The handling of the
           timer part has always been a bit clunky leading to confusing
           cancelation API with weird corner-case behaviors.  delayed_work is
           updated to use new IRQ safe timer and cancelation now works as
           expected.
      
         * Another deficiency of delayed_work was lack of the counterpart of
           mod_timer() which led to cancel+queue combinations or open-coded
           timer+work usages.  mod_delayed_work[_on]() are added.
      
           These two delayed_work changes make delayed_work provide interface
           and behave like timer which is executed with process context.
      
         * A work item could be executed concurrently on multiple CPUs, which
           is rather unintuitive and made flush_work() behavior confusing and
           half-broken under certain circumstances.  This problem doesn't
           exist for non-reentrant workqueues.  While non-reentrancy check
           isn't free, the overhead is incurred only when a work item bounces
           across different CPUs and even in simulated pathological scenario
           the overhead isn't too high.
      
           All workqueues are made non-reentrant.  This removes the
           distinction between flush_[delayed_]work() and
           flush_[delayed_]_work_sync().  The former is now as strong as the
           latter and the specified work item is guaranteed to have finished
           execution of any previous queueing on return.
      
         * In addition to the various bug fixes, Lai redid and simplified CPU
           hotplug handling significantly.
      
         * Joonsoo introduced system_highpri_wq and used it during CPU
           hotplug.
      
        There are two merge commits - one to pull in IRQ safe timer from
        tip/timers/core and the other to pull in CPU hotplug fixes from
        wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."
      
      Fixed a number of trivial conflicts, but the more interesting conflicts
      were silent ones where the deprecated interfaces had been used by new
      code in the merge window, and thus didn't cause any real data conflicts.
      
      Tejun pointed out a few of them, I fixed a couple more.
      
      * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
        workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
        workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
        workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
        workqueue: remove @delayed from cwq_dec_nr_in_flight()
        workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
        workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
        workqueue: use __cpuinit instead of __devinit for cpu callbacks
        workqueue: rename manager_mutex to assoc_mutex
        workqueue: WORKER_REBIND is no longer necessary for idle rebinding
        workqueue: WORKER_REBIND is no longer necessary for busy rebinding
        workqueue: reimplement idle worker rebinding
        workqueue: deprecate __cancel_delayed_work()
        workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
        workqueue: use mod_delayed_work() instead of __cancel + queue
        workqueue: use irqsafe timer for delayed_work
        workqueue: clean up delayed_work initializers and add missing one
        workqueue: make deferrable delayed_work initializer names consistent
        workqueue: cosmetic whitespace updates for macro definitions
        workqueue: deprecate system_nrt[_freezable]_wq
        workqueue: deprecate flush[_delayed]_work_sync()
        ...
      033d9959
    • Olof Johansson's avatar
      drivers: bus: omap_l3: fixup merge conflict resolution · 974a847e
      Olof Johansson authored
      This fixes a local merge conflict resolution done wrong locally in
      arm-soc for-next. soc.h was added on a cleanup branch, but the driver
      was moved and the header no longer needed.
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      [ .. and I did the same wrong merge, since git automatically does the
        whole rename detection etc, so applying this patch from Olof  - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      974a847e
    • Linus Torvalds's avatar
      Merge tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 9cd11c0c
      Linus Torvalds authored
      Pull ARM soc multiplatform enablement from Olof Johansson:
       "This is a pretty significant branch.  It's the introduction of the
        first multiplatform support on ARM, and with this (and the later
        branch) merged, it is now possible to build one kernel that contains
        support for highbank, vexpress, mvebu, socfpga, and picoxcell.  More
        platforms will be convered over in the next few releases.
      
        Two critical last things had to be done for this to be practical and
        possible:
         * Today each platform has its own include directory under
           mach-<mach>/include/mach/*, and traditionally that is where a lot
           of driver/platform shared definitions have gone, such as platform
           data structures.  They now need to move out to a common location
           instead, and this branch moves a large number of those out to
           include/linux/platform_data.
         * Each platform used to list the device trees to compile for its
           boards in mach-<mach>/Makefile.boot.
      
        Both of the above changes will mean that there are some merge
        conflicts to come (and some to resolve here).  It's a one-time move
        and once it settles in, we should be good for quite a while.  Sorry
        for the overhead."
      
      Fix conflicts as per Olof.
      
      * tag 'multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
        ARM: add v7 multi-platform defconfig
        ARM: msm: Move core.h contents into common.h
        ARM: highbank: call highbank_pm_init from .init_machine
        ARM: dtb: move all dtb targets to common Makefile
        ARM: spear: move platform_data definitions
        ARM: samsung: move platform_data definitions
        ARM: orion: move platform_data definitions
        ARM: vexpress: convert to multi-platform
        ARM: initial multiplatform support
        ARM: mvebu: move armada-370-xp.h in mach dir
        ARM: vexpress: remove dependency on mach/* headers
        ARM: picoxcell: remove dependency on mach/* headers
        ARM: move all dtb targets out of Makefile.boot
        ARM: picoxcell: move debug macros to include/debug
        ARM: socfpga: move debug macros to include/debug
        ARM: mvebu: move debug macros to include/debug
        ARM: vexpress: move debug macros to include/debug
        ARM: highbank: move debug macros to include/debug
        ARM: move debug macros to common location
        ARM: make mach/gpio.h headers optional
        ...
      9cd11c0c
    • Linus Torvalds's avatar
      Merge tag 'docs' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · b9541d94
      Linus Torvalds authored
      Pull ARM soc documentation updates from Olof Johansson:
       "Documentation update for Marvell SoCs, the secret decoder ring to all
        their crazy product names and numbers."
      
      * tag 'docs' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        arm: add documentation describing Marvell families of SoC
      b9541d94
    • Linus Torvalds's avatar
      Merge tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · e7b5ec99
      Linus Torvalds authored
      Pull ARM soc device tree updates, take 2 from Olof Johansson:
       "This branch contains mostly a set of changes for device tree bindings
        on Samsung Exynos.  It was staged behind the other branches due to
        dependencies on pincontrol and board changes."
      
      Fix up trivial conflict in drivers/clocksource/Makefile due to earlier
      conflict resolution.
      
      * tag 'dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: dts: Add nodes for dw_mmc controllers for Samsung EXYNOS5250 platforms
        ARM: EXYNOS: Add AUXDATA support for MSHC controllers
        ARM: EXYNOS: Add support for MSHC controller clocks
        ARM: dts: Enable on-board keys as wakeup source for exynos4210-origen
        ARM: dts: use uart2 for console on smdkv310 and smdk5250
        ARM: dts: Add basic dts file for Samsung Trats board
        ARM: EXYNOS: Add OF compatibility lookups for EXYNOS4 i2c adapters
        ARM: dts: Specify address and size cells for i2c controllers for EXYNOS4
        ARM: dts: Assume status of all optional nodes as disabled for exynos4
        ARM: EXYNOS: Use exynos4 prefix instead of exynos4210 on exynos4-dt
        ARM: dts: Move parts common to EXYNOS4 from exynos4210.dtsi to exynos4.dtsi
      e7b5ec99
    • Linus Torvalds's avatar
      Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 95360fd6
      Linus Torvalds authored
      Pull ARM soc board specific updates from Olof Johansson:
       "Misc board updates:
         - Greg added a handful of boards to KS8695 (since he has stepped up
           to maintain it).
         - Qualcomm has added DT-only board support for a couple of their
           newer SoCs.
         - misc other updates for Samsung and Freescale boards."
      
      Fix up trivial conflict in arch/arm/mach-shmobile/board-armadillo800eva.c
      due to gpio device data being added next to hdmi device data that got moved.
      
      * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: msm: Allow 8960 and 8660 to compile together
        ARM: msm: Allow msm_iomap-8x60 and msm_iomap-8960 to coexist
        ARM: EXYNOS: Add generic PWM lookup support for SMDKV310
        ARM: EXYNOS: Add generic PWM lookup support for SMDK4X12
        ARM: EXYNOS: Use generic pwm driver in Origen board
        ARM: shmobile: armadillo800eva: Add support RTC
        ARM: ks8695: add board support for the OpenGear boards based on the KS8695
        ARM: ks8695: add board support for the SnapGear boards based on the KS8695
        ARM: dts: Add heartbeat gpio-leds support to Origen
        ARM: dts: Use active low flag for gpio-keys on Origen
        ARM: shmobile: marzen: enable thermal sensor
        ARM: shmobile: marzen: fixup regulator id for smsc911x
        ARM: shmobile: marzen: add SDHI0 support
        ARM: mmp: enable debug uart port in defconfig
        ARM: mmp: implement DEBUG_LL port choice
        ARM: S3C64XX: Register audio platform devices for Bells on Cragganmore
        ARM: S3C64XX: Update configuration for WM5102 module on Cragganmore
        ARM: mx27pdk: Add audio support
        ARM: ttc_dkb: add nand support
      95360fd6
    • Linus Torvalds's avatar
      Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8f446a7a
      Linus Torvalds authored
      Pull ARM soc driver specific changes from Olof Johansson:
       - A long-coming conversion of various platforms to a common LED
         infrastructure
       - AT91 is moved over to use the newer MCI driver for MMC
       - Pincontrol conversions for samsung platforms
       - DT bindings for gscaler on samsung
       - i2c driver fixes for tegra, acked by i2c maintainer
      
      Fix up conflicts as per Olof.
      
      * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
        drivers: bus: omap_l3: use resources instead of hardcoded irqs
        pinctrl: exynos: Fix wakeup IRQ domain registration check
        pinctrl: samsung: Uninline samsung_pinctrl_get_soc_data
        pinctrl: exynos: Correct the detection of wakeup-eint node
        pinctrl: exynos: Mark exynos_irq_demux_eint as inline
        pinctrl: exynos: Handle only unmasked wakeup interrupts
        pinctrl: exynos: Fix typos in gpio/wkup _irq_mask
        pinctrl: exynos: Set pin function to EINT in irq_set_type of GPIO EINTa
        drivers: bus: Move the OMAP interconnect driver to drivers/bus/
        i2c: tegra: dynamically control fast clk
        i2c: tegra: I2_M_NOSTART functionality not supported in Tegra20
        ARM: tegra: clock: remove unused clock entry for i2c
        ARM: tegra: clock: add connection name in i2c clock entry
        i2c: tegra: pass proper name for getting clock
        ARM: tegra: clock: add i2c fast clock entry in clock table
        ARM: EXYNOS: Adds G-Scaler device from Device Tree
        ARM: EXYNOS: Add clock support for G-Scaler
        ARM: EXYNOS: Enable pinctrl driver support for EXYNOS4 device tree enabled platform
        ARM: dts: Add pinctrl node entries for SAMSUNG EXYNOS4210 SoC
        ARM: EXYNOS: skip wakeup interrupt setup if pinctrl driver is used
        ...
      8f446a7a
    • Linus Torvalds's avatar
      Merge tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 84be4ae2
      Linus Torvalds authored
      Pull ARM soc-specific updates, take 2 from Olof Johansson:
       "This branch converts the MXS Freescale platform to use irqdomains and
        sparse IRQ, in preparation for DT probing and multiplatform kernels."
      
      * tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: mxs: remove mach/irqs.h
        ARM: mxs: select SPARSE_IRQ
        ARM: mxs: adopt irq_domain support for icoll driver
        ARM: mxs: select MULTI_IRQ_HANDLER
        ARM: mxs: retrieve timer irq from device tree
        gpio/mxs: adopt irq_domain support for mxs gpio driver
      84be4ae2
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next · d3d5df2c
      David S. Miller authored
      Ben Hutchings says:
      
      ====================
      Some bug fixes that should go into 3.7:
      
      1. Fix oops when removing device with SR-IOV enabled.  (This regression
      was introduced by the last set of changes, so the fix does not need to
      be applied to any earlier kernel versions.)
      2. Fix firmware structure field lookup bug that resulted in missing
      sensor information.
      3. Fix bug that makes self-test do very little in some configurations.
      4. Fix the numbering of ethtool RX flow steering filters to reflect the
      real hardware priorities.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d3d5df2c
    • Linus Torvalds's avatar
      Merge tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · ac9e7ab3
      Linus Torvalds authored
      Pull ARM soc cleanups, part 2 from Olof Johansson:
       "A shorter cleanup branch submitted separately due to dependencies with
        some of the previous topics.
      
        Major thing here is that the Broadcom bcmring platform is removed.
        It's an SoC that's used on some stationary VoIP platforms, and is in
        desperate need of some cleanup.  Broadcom came back and suggested that
        we just deprecate the platform for now, since they aren't going to
        spend the resources needed on cleaning it up, and there are no users
        of the platform directly from mainline."
      
      Fix some conflicts due to BCM2835 getting added next to the removed
      BCMRING, and removal of tegra files that had been converted to
      devicetree.
      
      * tag 'cleanup2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: Orion5x: ts78xx: Add IOMEM for virtual addresses.
        ARM: ux500: use __iomem pointers for MMIO
        ARM: Remove mach-bcmring
        ARM: clps711x: Remove board support for CEIVA
        ARM: clps711x: Fix register definitions
        ARM: clps711x: Fix lowlevel debug-macro
        ARM: clps711x: Added simple clock framework
        pinctrl: tegra: move pinconf-tegra.h content into drivers/pinctrl
        ARM: tegra: delete unused headers
        ARM: tegra: remove useless includes of <mach/*.h>
        ARM: tegra: remove dead code
      ac9e7ab3
    • Linus Torvalds's avatar
      Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2a2bf85f
      Linus Torvalds authored
      Pull ARM soc device tree updates from Olof Johansson:
       "Device tree conversion and enablement branch.  Mostly a bunch of new
        bindings and setup for various platforms, but the Via/Winchip VT8500
        platform is also converted over from being 100% legacy to now use
        device tree for probing.  More of that will come for 3.8."
      
      Trivial conflicts due to removal of vt8500 files, and one documentation
      file that was added with slightly different contents both here and in
      the USb tree.
      
      * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (212 commits)
        arm: vt8500: Fixup for missing gpio.h
        ARM: LPC32xx: LED fix in PHY3250 DTS file
        ARM: dt: mmp-dma: add binding file
        arm: vt8500: Update arch-vt8500 to devicetree support.
        arm: vt8500: gpio: Devicetree support for arch-vt8500
        arm: vt8500: doc: Add device tree bindings for arch-vt8500 devices
        arm: vt8500: clk: Add Common Clock Framework support
        video: vt8500: Add devicetree support for vt8500-fb and wm8505-fb
        serial: vt8500: Add devicetree support for vt8500-serial
        rtc: vt8500: Add devicetree support for vt8500-rtc
        arm: vt8500: Add device tree files for VIA/Wondermedia SoC's
        ARM: tegra: Add Avionic Design Tamonten Evaluation Carrier support
        ARM: tegra: Add Avionic Design Medcom-Wide support
        ARM: tegra: Add Avionic Design Plutux support
        ARM: tegra: Add Avionic Design Tamonten support
        ARM: tegra: dts: Add pwm label
        ARM: ux500: Fix SSP register address format
        ARM: ux500: Apply tc3589x's GPIO/IRQ properties to HREF's DT
        ARM: ux500: Remove redundant #gpio-cell properties from Snowball DT
        ARM: ux500: Add all encompassing sound node to the HREF Device Tree
        ...
      2a2bf85f
    • Linus Torvalds's avatar
      Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 11801e9d
      Linus Torvalds authored
      Pull ARM soc-specific updates from Olof Johansson:
       "Most notable here is probably the addition of basic support for the
        BCM2835, an SoC used in some of the Roku 2 players as well as the
        much-hyped Raspberry Pi, cleaned up and contributed by Stephen Warren.
        It's still early days on mainline support, with just the basics
        working.  But it has to start somewhere!
      
        Beyond that there's some conversions of clock infrastructure on tegra
        to common clock, misc updates for several other platforms, and OMAP
        now has its own bus (under drivers/bus) to manage its devices through.
      
        This branch adds two new directories outside of arch/arm:
        drivers/irqchip for new irq controllers, and drivers/bus for the above
        OMAP bus.  It's expected that some of the other platforms will migrate
        parts of their platforms to those directories over time as well."
      
      Fix up trivial conflicts with the clk infrastructure changes.
      
      * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (62 commits)
        ARM: shmobile: add new __iomem annotation for new code
        ARM: LPC32xx: Support GPI 28
        ARM: LPC32xx: Platform update for devicetree completion of spi-pl022
        ARM: LPC32xx: Board cleanup
        irqchip: fill in empty Kconfig
        ARM: SAMSUNG: Add check for NULL in clock interface
        ARM: EXYNOS: Put PCM, Slimbus, Spdif clocks to off state
        ARM: EXYNOS: Add bus clock for FIMD
        ARM: SAMSUNG: Fix HDMI related warnings
        ARM: S3C24XX: Add .get_rate callback for "camif-upll" clock
        ARM: EXYNOS: Fix incorrect help text
        ARM: EXYNOS: Turn off clocks for NAND, OneNAND and TSI controllers
        ARM: OMAP: AM33xx hwmod: fixup SPI after platform_data move
        MAINTAINERS: add an entry for the BCM2835 ARM sub-architecture
        ARM: bcm2835: instantiate console UART
        ARM: bcm2835: add stub clock driver
        ARM: bcm2835: add system timer
        ARM: bcm2835: add interrupt controller driver
        ARM: add infra-structure for BCM2835 and Raspberry Pi
        ARM: tegra20: add CPU hotplug support
        ...
      11801e9d
    • Linus Torvalds's avatar
      Merge tag 'maintainers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 1a58ddfc
      Linus Torvalds authored
      Pull ARM soc MAINTAINERS updates from Olof Johansson:
       "Maintainers updates for KS8965 adding Greg Ungerer, and removing
        myself and Colin Cross as tegra maintainers, since Stephen Warren has
        been handling it on his own for several releases now."
      
      * tag 'maintainers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: ks8695: add maintainers entry
        MAINTAINERS: tegra: remove Olof/Colin, add device tree files
        MAINTAINERS: add defconfig file to TEGRA section
      1a58ddfc
    • Linus Torvalds's avatar
      Merge tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 61464c83
      Linus Torvalds authored
      Pull ARM soc general cleanups from Olof Johansson:
       "This is a large branch that contains a handful of different cleanups:
      
         - Fixing up the I/O space remapping on PCI on ARM.  This is a series
           from Rob Herring that restructures how all pci devices allocate I/O
           space, and it's part of the work to allow multiplatform kernels.
         - A number of cleanup series for OMAP, moving and removing some
           headers, sparse irq rework and in general preparation for
           multiplatform.
         - Final removal of all non-DT boards for Tegra, it is now
           device-tree-only!
         - Removal of a stale platform, nxp4008.  It's an old mobile chipset
           that is no longer in use, and was very likely never really used
           with a mainline kernel.  We have not been able to find anyone
           interested in keeping it around in the kernel.
         - Removal of the legacy dmaengine driver on tegra
      
        + A handful of other things that I haven't described above."
      
      Fix up some conflicts with the staging tree (and because nxp4008 was
      removed)
      
      * tag 'cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (184 commits)
        ARM: OMAP2+: serial: Change MAX_HSUART_PORTS to 6
        ARM: OMAP4: twl-common: Support for additional devices on i2c1 bus
        ARM: mmp: using for_each_set_bit to simplify the code
        ARM: tegra: harmony: fix ldo7 regulator-name
        ARM: OMAP2+: Make omap4-keypad.h local
        ARM: OMAP2+: Make l4_3xxx.h local
        ARM: OMAP2+: Make l4_2xxx.h local
        ARM: OMAP2+: Make l3_3xxx.h local
        ARM: OMAP2+: Make l3_2xxx.h local
        ARM: OMAP1: Move irda.h from plat to mach
        ARM: OMAP2+: Make hdq1w.h local
        ARM: OMAP2+: Make gpmc-smsc911x.h local
        ARM: OMAP2+: Make gpmc-smc91x.h local
        ARM: OMAP1: Move flash.h from plat to mach
        ARM: OMAP2+: Make debug-devices.h local
        ARM: OMAP1: Move board-voiceblue.h from plat to mach
        ARM: OMAP1: Move board-sx1.h from plat to mach
        ARM: OMAP2+: Make omap-wakeupgen.h local
        ARM: OMAP2+: Make omap-secure.h local
        ARM: OMAP2+: Make ctrl_module_wkup_44xx.h local
        ...
      61464c83
    • Linus Torvalds's avatar
      Merge tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 47061eda
      Linus Torvalds authored
      Pull non-critical ARM soc bug fixes from Olof Johansson:
       "These were submitted as bug fixes before v3.6 but not considered
        important enough to be included in it.  Some of them cross over to
        cleanup territory as well, and aren't strictly bugfixes."
      
      * tag 'fixes-non-critical' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (48 commits)
        ARM: nomadik: remove NAND_NO_READRDY use
        ARM: pxa: fix return value check in pxa2xx_drv_pcmcia_probe()
        ARM: SAMSUNG: Add missing variable declaration in s3c64xx_spi1_set_platdata()
        ARM: S3C24XX: removes unnecessary semicolon
        ARM: S3C24xx: delete double assignment
        ARM: EXYNOS: fix address for EXYNOS4 MDMA1
        ARM: EXYNOS: fixed SYSMMU setup definition to mate parameter name
        ARM: ep93xx: Move ts72xx.h out of include/mach
        ARM: ep93xx: use __iomem pointers for MMIO
        ARM: msm: Fix early debug uart mapping on some memory configs
        ARM: msm: io: Change the default static iomappings to be shared
        ARM: msm: io: Remove 7x30 iomap region from 7x00
        ARM: msm: Remove call to missing FPGA init on 8660
        ARM: OMAP4: wakeupgen: remove duplicate AUXCOREBOOT* read/write
        ARM: OMAP4: wakeupgen: Fix the typo in AUXCOREBOOT register save
        dma: tegra: make data used as *of_device_id.data const
        can: mpc5xxx_can: make data used as *of_device_id.data const
        macintosh/mediabay: make data used as *of_device_id.data const
        i2c/mpc: make data used as *of_device_id.data const
        mfd/da9052: make i2c_device_id array const
        ...
      47061eda
    • Ben Hutchings's avatar
      sfc: Fix the reported priorities of different filter types · 6ac7ef14
      Ben Hutchings authored
      Each RX filter table contains filters with two different levels of
      specificity: TCP/IPv4 and UDP/IPv4 filters match the local address and
      port and optionally the remote address and port; Ethernet filters
      match the local address and optionally the VID.  The more specific
      filters always override less specific filters within the same table,
      and should be numbered accordingly.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      6ac7ef14
    • Ben Hutchings's avatar
      sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP · 9e0f9a10
      Ben Hutchings authored
      This filter flag cannot yet be set through the ethtool command and
      will not be supported on future hardware.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      9e0f9a10
    • Ben Hutchings's avatar
      sfc: Fix loopback self-test with separate_tx_channels=1 · 1ac0226e
      Ben Hutchings authored
      The loopback self-test iterates over all the TX queues of channel 0,
      which is not very interesting when that's an RX-only channel.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflre.com>
      1ac0226e
    • Ben Hutchings's avatar
      sfc: Fix MCDI structure field lookup · 0a6e5008
      Ben Hutchings authored
      The least significant bit number (LBN) of a field within an MCDI
      structure is counted from the start of the structure, not the
      containing dword.  In MCDI_ARRAY_FIELD() we need to mask it rather
      than using the usual EFX_DWORD_FIELD() macro.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      0a6e5008
    • Ben Hutchings's avatar
    • Ben Hutchings's avatar
      sfc: Fix null function pointer in efx_sriov_channel_type · 726ba0e1
      Ben Hutchings authored
      Commit c31e5f9f ('sfc: Add channel specific receive_skb handler and
      post_remove callback') added the function pointer field
      efx_channel_type::post_remove and an unconditional call through it.
      
      This field should have been initialised to efx_channel_dummy_op_void
      in the existing instances of efx_channel_type, but this was only done
      in efx_default_channel_type.  Consequently, if a device has SR-IOV
      enabled then removing the driver or device will result in an oops.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      726ba0e1
  2. 01 Oct, 2012 6 commits
    • stephen hemminger's avatar
      vxlan: virtual extensible lan · d342894c
      stephen hemminger authored
      This is an implementation of Virtual eXtensible Local Area Network
      as described in draft RFC:
        http://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-02
      
      The driver integrates a Virtual Tunnel Endpoint (VTEP) functionality
      that learns MAC to IP address mapping.
      
      This implementation has not been tested only against the Linux
      userspace implementation using TAP, not against other vendor's
      equipment.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d342894c
    • stephen hemminger's avatar
      igmp: export symbol ip_mc_leave_group · 193ba924
      stephen hemminger authored
      Needed for VXLAN.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      193ba924
    • stephen hemminger's avatar
      netlink: add attributes to fdb interface · edc7d573
      stephen hemminger authored
      Later changes need to be able to refer to neighbour attributes
      when doing fdb_add.
      Signed-off-by: default avatarStephen Hemminger <shemminger@vyatta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      edc7d573
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 · 797b9e5a
      Linus Torvalds authored
      Pull CIFS updates from Steve French:
       "This patchset is the final section of the SMB2.1 support merge for
        cifs.ko.  It also includes improvements to the cifs socket handling
        from Jeff, and also fixes a few cifs bug fixes.  It adds SMB2 support
        for file and inode operations as well as moves some existing cifs code
        to use ops server struct of protocol specific callbacks.
      
        Most of this code is SMB2 specific.  When enabled SMB2.1 does pass
        various functional tests including most of the connectathon test
        suite, For SMB2.1, Connectathon test 4 and some related tests fail due
        to not updating mode bits remotely (cifsacl support where mode bits
        are approximated with the cifs acl is not enable for smb2), and test8
        (symlink) support is not completed for SMB2 yet (note that we will
        likely have a "Unix Extensions" eventually, at least for Samba, so in
        the long run posix locks won't have to be emulated when mounting Linux
        to Linux, but for most NAS and for Windows mounts posix lock emulation
        will still used for SMB2 in a similar fashion as we do for cifs).
      
        SMB2.1 dialect is supported.  Although additional fixes to enable smb2
        (the original smb2.02) dialect and to add various optional features of
        the smb3 dialect are expected to be added in the future as testing
        progresses, currently mounting with the "vers=2.1" is supported (in
        order to mount using SMB2.1 to servers like Samba 4, and Windows 7,
        Windows 2008R2)."
      
      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6: (82 commits)
        [CIFS] Fix indentation of fs/cifs/Kconfig entries
        [CIFS] Fix SMB2 negotiation support to select only one dialect (based on vers=)
        cifs: obtain file access during backup intent lookup (resend)
        CIFS: Fix possible freed pointer dereference in CIFS_SessSetup
        CIFS: Fix possible freed pointer dereference in SMB2_sess_setup
        CIFS: Make ops->close return void
        cifs: change DOS/NT/POSIX mapping of ERRnoresource
        cifs: remove support for deprecated "forcedirectio" and "strictcache" mount options
        cifs: remove support for CIFS_IOC_CHECKUMOUNT ioctl
        CIFS: Fix possible memory leaks in SMB2 code
        CIFS: Fix endian conversion of IndexNumber
        Trivial endian fixes
        MARK SMB2 support EXPERIMENTAL
        Update cifs version number
        cifs: add FL_CLOSE to fl_flags mask in cifs_read_flock
        cifs: Mangle string used for unc in /proc/mounts
        cifs: cleanups for cifs_mkdir_qinfo
        CIFS: Fix fast lease break after open problem
        CIFS: Add SMB2.1 lease break support
        CIFS: Fix cache coherency for read oplock case
        ...
      797b9e5a
    • Linus Torvalds's avatar
      Get rid of Documentation/feature-removal.txt · 9c0ece06
      Linus Torvalds authored
      This file has turned out to be a pure write-only file that causes merge
      conflicts and has no actual redeeming features.
      
      There is never any reason to add stuff to this idiotic file.  Either
      something isn't getting used, and you should just remove it, or there is
      no excuse for removing it in the first place.  Just stop the idiocy.
      
      It has also been the excuse for just plain bad behavior ("Hey, I don't
      like xyz, so let's mark it for removal" followed by "Hey, look, it been
      in feature-removal.txt for six months now, so we should remove it").
      
      The recent bogus setitimer() ABI change request was just the most recent
      example of pointless and incorrect mental masturbation involving this
      file, and I'm tired of the silly and pointless conflicts in the file.
      
      This removal was discussed during the recent kernel summit, and while
      Steven Rostedt suggested we should just enter the file itself in the
      feature-removal schedule (to see if anybody who edits the file actually
      looks at it), that's cute but non-productive.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9c0ece06
    • Paul Gortmaker's avatar
      tg3: unconditionally select HWMON support when tg3 is enabled. · de0a4148
      Paul Gortmaker authored
      There is the seldom used corner case where HWMON=m at the same
      time as TIGON3=y (typically randconfigs) which will cause a link
      fail like:
      
      drivers/built-in.o: In function `tg3_close':
      tg3.c:(.text+0x16bd86): undefined reference to `hwmon_device_unregister'
      drivers/built-in.o: In function `tg3_hwmon_open':
      tg3.c:(.text+0x16fc4b): undefined reference to `hwmon_device_register'
      make[1]: *** [vmlinux] Error 1
      
      Fix it as suggested by DaveM[1] by having the Kconfig logic simply
      select HWMON when TIGON3 is selected.  This gets rid of all the
      extra IS_ENABLED ifdeffery in tg3.c as a side benefit.
      
      [1] http://marc.info/?l=linux-netdev&m=134250573718151&w=2
      
      Cc: Michael Chan <mchan@broadcom.com>
      Reported-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Reported-by: default avatarAnisse Astier <anisse@astier.eu>
      Suggested-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de0a4148