1. 01 Apr, 2012 6 commits
  2. 29 Mar, 2012 2 commits
    • zhuangfeiran@ict.ac.cn's avatar
      x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND · 1d24fb36
      zhuangfeiran@ict.ac.cn authored
      When K >= 0xFFFF0000, AND needs the two least significant bytes of K as
      its operand, but EMIT2() gives it the least significant byte of K and
      0x2. EMIT() should be used here to replace EMIT2().
      Signed-off-by: default avatarFeiran Zhuang  <zhuangfeiran@ict.ac.cn>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1d24fb36
    • Weiping Pan's avatar
      bonding: emit event when bonding changes MAC · 7d26bb10
      Weiping Pan authored
      When a bonding device is configured with fail_over_mac=active,
      we expect to see the MAC address of the new active slave as the source MAC
      address after failover. But we see that the source MAC address is the MAC
      address of previous active slave.
      
      Emit NETDEV_CHANGEADDR event when bonding changes its MAC address, in order
      to let arp_netdev_event flush neighbour cache and route cache.
      
      How to reproduce this bug ?
      
                             -----------hostB----------------
      hostA ----- switch ---|-- eth0--bond0(192.168.100.2/24)|
      (192.168.100.1/24  \--|-- eth1-/                       |
                             --------------------------------
      
      1 on hostB,
      modprobe bonding mode=1 miimon=500 fail_over_mac=active downdelay=1000
      num_grat_arp=1
      ifconfig bond0 192.168.100.2/24 up
      ifenslave bond0 eth0
      ifenslave bond0 eth1
      
      then eth0 is the active slave, and MAC of bond0 is MAC of eth0.
      
      2 on hostA, ping 192.168.100.2
      
      3 on hostB,
      tcpdump -i bond0 -p icmp -XXX
      you will see bond0 uses MAC of eth0 as source MAC in icmp reply.
      
      4 on hostB,
      ifconfig eth0 down
      tcpdump -i bond0 -p icmp -XXX (just keep it running in step 3)
      you will see first bond0 uses MAC of eth1 as source MAC in icmp
      reply, then it will use MAC of eth0 as source MAC.
      Signed-off-by: default avatarWeiping Pan <wpan@redhat.com>
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7d26bb10
  3. 28 Mar, 2012 25 commits
  4. 27 Mar, 2012 7 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · de8856d2
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       1) Name string overrun fix in gianfar driver from Joe Perches.
      
       2) VHOST bug fixes from Michael S. Tsirkin and Nadav Har'El
      
       3) Fix dependencies on xt_LOG netfilter module, from Pablo Neira Ayuso.
      
       4) Fix RCU locking in xt_CT, also from Pablo Neira Ayuso.
      
       5) Add a parameter to skb_add_rx_frag() so we can fix the truesize
          adjustments in the drivers that use it.  The individual drivers
          aren't fixed by this commit, but will be dealt with using follow-on
          commits.  From Eric Dumazet.
      
       6) Add some device IDs to qmi_wwan driver, from Andrew Bird.
      
       7) Fix a potential rcu_read_lock() imbalancein rt6_fill_node().  From
          Eric Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()
        net: add a truesize parameter to skb_add_rx_frag()
        gianfar: Fix possible overrun and simplify interrupt name field creation
        USB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces
        USB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces
        USB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces
        qlcnic: Bug fix for LRO
        netfilter: nf_conntrack: permanently attach timeout policy to conntrack
        netfilter: xt_CT: fix assignation of the generic protocol tracker
        netfilter: xt_CT: missing rcu_read_lock section in timeout assignment
        netfilter: cttimeout: fix dependency with l4protocol conntrack module
        netfilter: xt_LOG: use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6
        vhost: fix release path lockdep checks
        vhost: don't forget to schedule()
        tools/virtio: stub out strong barriers
        tools/virtio: add linux/hrtimer.h stub
        tools/virtio: add linux/module.h stub
      de8856d2
    • Linus Torvalds's avatar
      Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 66f03c61
      Linus Torvalds authored
      Pull "ARM: device tree work" from Arnd Bergmann:
       "Most of these patches convert code from using static platform data to
        describing the hardware in the device tree.  This is only the first
        half of the changes for v3.4 because a lot of patches for this topic
        came in the last week before the merge window.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      Fix up trivial conflicts in arch/arm/mach-vexpress/{Kconfig,core.h}
      
      * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (86 commits)
        Document: devicetree: add OF documents for arch-mmp
        ARM: dts: append DTS file of pxa168
        ARM: mmp: append OF support on pxa168
        ARM: mmp: enable rtc clk in pxa168
        i2c: pxa: add OF support
        serial: pxa: add OF support
        arm/dts: mt_ventoux: very basic support for TeeJet Mt.Ventoux board
        ARM: OMAP2+: Remove extra ifdefs for board-generic
        ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected
        ASoC: DT: Add digital microphone binding to PAZ00 board.
        ARM: dt: Add ARM PMU to tegra*.dtsi
        ARM: at91: at91sam9x5cm/dt: add leds support
        ARM: at91: usb_a9g20/dt: add gpio-keys support
        ARM: at91: at91sam9m10g45ek/dt: add gpio-keys support
        ARM: at91: at91sam9m10g45ek/dt: add leds support
        ARM: at91: usb_a9g20/dt: add leds support
        ARM: at91/pio: add new PIO3 features
        ARM: at91: add sam9_smc.o to at91sam9x5 build
        ARM: at91/tc/clocksource: Add 32 bit variant to Timer Counter
        ARM: at91/tc: add device tree support to atmel_tclib
        ...
      66f03c61
    • Linus Torvalds's avatar
      Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 34800598
      Linus Torvalds authored
      Pull "ARM: driver specific updates" from Arnd Bergmann:
       "These are all specific to some driver.  They are typically the
        platform side of a change in the drivers directory, such as adding a
        new driver or extending the interface to the platform.  In cases where
        there is no maintainer for the driver, or the maintainer prefers to
        have the platform changes in the same branch as the driver changes,
        the patches to the drivers are included as well.
      
        A much smaller set of driver updates that depend on other branches
        getting merged first will be sent later.
      
        The new export of tegra_chip_uid conflicts with other changes in
        fuse.c.  In rtc-sa1100.c, the global removal of IRQF_DISABLED
        conflicts with the cleanup of the interrupt handling of that driver.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      Fixed up aforementioned trivial conflicts.
      
      * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (94 commits)
        ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhci
        mmc: sdhci-s3c: add platform data for the second capability
        ARM: SAMSUNG: support the second capability for samsung-soc
        ARM: EXYNOS: add support DMA for EXYNOS4X12 SoC
        ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1
        ARM: EXYNOS: Enable MDMA driver
        regulator: Remove bq24022 regulator driver
        rtc: sa1100: add OF support
        pxa: magician/hx4700: Convert to gpio-regulator from bq24022
        ARM: OMAP3+: SmartReflex: fix error handling
        ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API
        ARM: OMAP3+: SmartReflex: micro-optimization for sanity check
        ARM: OMAP3+: SmartReflex: misc cleanups
        ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument
        ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()
        ARM: OMAP3+: hwmod: add SmartReflex IRQs
        ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need
        ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register
        ARM: OMAP3+: SmartReflex: Add a shutdown hook
        ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP
        ...
      
      Conflicts:
      	arch/arm/mach-tegra/Makefile
      	arch/arm/mach-tegra/fuse.c
      	drivers/rtc/rtc-sa1100.c
      34800598
    • Linus Torvalds's avatar
      Merge tag 'rpmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 46b407ca
      Linus Torvalds authored
      Pull "remoteproc/rpmsg: new subsystem" from Arnd Bergmann:
       "This new subsystem provides a common way to talk to secondary
        processors on an SoC, e.g.  a DSP, GPU or service processor, using
        virtio as the transport.  In the long run, it should replace a few
        dozen vendor specific ways to do the same thing, which all never made
        it into the upstream kernel.  There is a broad agreement that rpmsg is
        the way to go here and several vendors have started working on
        replacing their own subsystems.
      
        Two branches each add one virtio protocol number.  Fortunately the
        numbers were agreed upon in advance, so there are only context
        changes.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      Fixed up trivial protocol number conflict due to the mentioned additions
      next to each other.
      
      * tag 'rpmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
        remoteproc: cleanup resource table parsing paths
        remoteproc: remove the hardcoded vring alignment
        remoteproc/omap: remove the mbox_callback limitation
        remoteproc: remove the single rpmsg vdev limitation
        remoteproc: safer boot/shutdown order
        remoteproc: remoteproc_rpmsg -> remoteproc_virtio
        remoteproc: resource table overhaul
        rpmsg: fix build warning when dma_addr_t is 64-bit
        rpmsg: fix published buffer length in rpmsg_recv_done
        rpmsg: validate incoming message length before propagating
        rpmsg: fix name service endpoint leak
        remoteproc/omap: two Kconfig fixes
        remoteproc: make sure we're parsing a 32bit firmware
        remoteproc: s/big switch/lookup table/
        remoteproc: bail out if firmware has different endianess
        remoteproc: don't use virtio's weak barriers
        rpmsg: rename virtqueue_add_buf_gfp to virtqueue_add_buf
        rpmsg: depend on EXPERIMENTAL
        remoteproc: depend on EXPERIMENTAL
        rpmsg: add Kconfig menu
        ...
      
      Conflicts:
      	include/linux/virtio_ids.h
      46b407ca
    • Linus Torvalds's avatar
      Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 1bfecd93
      Linus Torvalds authored
      Pull "ARM: board specific updates" from Arnd Bergmann/Olof Johansson:
       "These changes are all specific to one board only.  We're trying to
        keep the number of board files low, but generally board level updates
        are ok on platforms that are working on moving towards DT based
        probing, which will eventually lead to removing them.
      
        The board-ams-delta.c board file gets a conflict between the removal
        of ams_delta_config and the addition of a lot of other data.  The
        Kconfig file has two changes in the same line, and in exynos, the
        power domain cleanup conflicts with the addition of the image sensor
        device.
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
        [olof: Amended a fix for a mismerge to board-omap4panda.c]
        Signed-off-by: Olof Johansson <olof@lixom.net>"
      
      Fixed up some fairly trivial conflicts manually.
      
      * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (82 commits)
        i.MX35-PDK: Add Camera support
        ARM : mx35: 3ds-board: add framebuffer device
        pxa/hx4700: Remove pcmcia platform_device structure
        ARM: pxa/hx4700: Reduce sleep mode battery discharge by 35%
        ARM: pxa/hx4700: Remove unwanted request for GPIO105
        ARM: EXYNOS: support Exynos4210-bus Devfreq driver on Nuri board
        ARM: EXYNOS: Register JPEG on nuri
        ARM: EXYNOS: Register JPEG on universal_c210
        ARM: S5PV210: Enable JPEG on SMDKV210
        ARM: S5PV210: Add JPEG board definition
        ARM: EXYNOS: Enable JPEG on Origen
        ARM: EXYNOS: Enable JPEG on SMDKV310
        ARM: EXYNOS: Add __init attribute to universal_camera_init()
        ARM: EXYNOS: Add __init attribute to nuri_camera_init()
        ARM: S5PV210: Enable FIMC on SMDKC110
        ARM: S5PV210: Enable FIMC on SMDKV210
        ARM: S5PV210: Enable MFC on SMDKC110
        ARM: S5PV210: Enable MFC on SMDKV210
        ARM: EXYNOS: Enable G2D on SMDKV310
        ARM: tegra: update defconfig
        ...
      1bfecd93
    • Linus Torvalds's avatar
      Merge tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 281b0539
      Linus Torvalds authored
      Pull "ARM: SoC specific updates" from Arnd Bergmann:
       "These changes are all specific to an soc family or the code for one
        soc.  Lots of work for Tegra3 this time, but also a lot of other
        platforms.  There will be another (smaller) set of soc patches later
        in the merge window for stuff that has dependencies on external trees
        or that was sent just before the merge window opened.
      
        The asoc tree added a few devices to the i.mx platform, which conflict
        with other devices added in the same place here.
      
        The tegra Makefile conflicts between a number of branches, mostly
        because of changes regarding localtimer.c, which was removed in the
        end.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      Fix up some trivial conflicts, including the mentioned Tegra Makefile.
      
      * tag 'soc' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (51 commits)
        ARM: EXYNOS: fix cycle count for periodic mode of clock event timers
        ARM: EXYNOS: add support JPEG
        ARM: EXYNOS: Add DMC1, allow PPMU access for DMC
        ARM: SAMSUNG: Correct MIPI-CSIS io memory resource definition
        ARM: SAMSUNG: fix __init attribute on regarding s3c_set_platdata()
        ARM: SAMSUNG: Add __init attribute to samsung_bl_set()
        ARM: S5PV210: Add usb otg phy control
        ARM: S3C64XX: Add usb otg phy control
        ARM: EXYNOS: Enable l2 configuration through device tree
        ARM: EXYNOS: remove useless code to save/restore L2
        ARM: EXYNOS: save L2 settings during bootup
        ARM: S5P: add L2 early resume code
        ARM: EXYNOS: Add support AFTR mode on EXYNOS4210
        ARM: mx35: Setup the AIPS registers
        ARM: mx5: Use common function for configuring AIPS
        ARM: mx3: Setup AIPS registers
        ARM: mx3: Let mx31 and mx35 enter in LPM mode in WFI
        ARM: defconfig: imx_v6_v7: build in REGULATOR_FIXED_VOLTAGE
        ARM: imx: update imx_v6_v7_defconfig
        ARM: tegra: Demote EMC clock inconsistency BUG to WARN
        ...
      281b0539
    • Linus Torvalds's avatar
      Merge tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 48d55441
      Linus Torvalds authored
      Pull "ARM: timer cleanup work" from Arnd Bergmann:
       "These are split out from the generic soc and driver updates because
        there was a lot of conflicting work by multiple people.  Marc Zyngier
        worked on simplifying the "localtimer" interfaces, and some of the
        platforms are touching the same code as they move to device tree based
        booting.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      * tag 'timer' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (61 commits)
        ARM: tegra: select USB_ULPI if USB is selected
        arm/tegra: pcie: fix return value of function
        ARM: ux500: fix compilation after local timer rework
        ARM: shmobile: remove additional __io() macro use
        ARM: local timers: make the runtime registration interface mandatory
        ARM: local timers: convert MSM to runtime registration interface
        ARM: local timers: convert exynos to runtime registration interface
        ARM: smp_twd: remove old local timer interface
        ARM: imx6q: convert to twd_local_timer_register() interface
        ARM: highbank: convert to twd_local_timer_register() interface
        ARM: ux500: convert to twd_local_timer_register() interface
        ARM: shmobile: convert to twd_local_timer_register() interface
        ARM: tegra: convert to twd_local_timer_register() interface
        ARM: plat-versatile: convert to twd_local_timer_register() interface
        ARM: OMAP4: convert to twd_local_timer_register() interface
        ARM: smp_twd: add device tree support
        ARM: smp_twd: add runtime registration support
        ARM: local timers: introduce a new registration interface
        ARM: smp_twd: make local_timer_stop a symbol instead of a #define
        ARM: mach-shmobile: default to no earlytimer
        ...
      48d55441