1. 06 Apr, 2012 17 commits
    • Linus Torvalds's avatar
      Make the "word-at-a-time" helper functions more commonly usable · f68e556e
      Linus Torvalds authored
      
      
      I have a new optimized x86 "strncpy_from_user()" that will use these
      same helper functions for all the same reasons the name lookup code uses
      them.  This is preparation for that.
      
      This moves them into an architecture-specific header file.  It's
      architecture-specific for two reasons:
      
       - some of the functions are likely to want architecture-specific
         implementations.  Even if the current code happens to be "generic" in
         the sense that it should work on any little-endian machine, it's
         likely that the "multiply by a big constant and shift" implementation
         is less than optimal for an architecture that has a guaranteed fast
         bit count instruction, for example.
      
       - I expect that if architectures like sparc want to start playing
         around with this, we'll need to abstract out a few more details (in
         particular the actual unaligned accesses).  So we're likely to have
         more architecture-specific stuff if non-x86 architectures start using
         this.
      
         (and if it turns out that non-x86 architectures don't start using
         this, then having it in an architecture-specific header is still the
         right thing to do, of course)
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f68e556e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 23f347ef
      Linus Torvalds authored
      Pull networking updates from David Miller:
      
       1) Fix inaccuracies in network driver interface documentation, from Ben
          Hutchings.
      
       2) Fix handling of negative offsets in BPF JITs, from Jan Seiffert.
      
       3) Compile warning, locking, and refcounting fixes in netfilter's
          xt_CT, from Pablo Neira Ayuso.
      
       4) phonet sendmsg needs to validate user length just like any other
          datagram protocol, fix from Sasha Levin.
      
       5) Ipv6 multicast code uses wrong loop index, from RongQing Li.
      
       6) Link handling and firmware fixes in bnx2x driver from Yaniv Rosner
          and Yuval Mintz.
      
       7) mlx4 erroneously allocates 4 pages at a time, regardless of page
          size, fix from Thadeu Lima de Souza Cascardo.
      
       8) SCTP socket option wasn't extended in a backwards compatible way,
          fix from Thomas Graf.
      
       9) Add missing address change event emissions to bonding, from Shlomo
          Pongratz.
      
      10) /proc/net/dev regressed because it uses a private offset to track
          where we are in the hash table, but this doesn't track the offset
          pullback that the seq_file code does resulting in some entries being
          missed in large dumps.
      
          Fix from Eric Dumazet.
      
      11) do_tcp_sendpage() unloads the send queue way too fast, because it
          invokes tcp_push() when it shouldn't.  Let the natural sequence
          generated by the splice paths, and the assosciated MSG_MORE
          settings, guide the tcp_push() calls.
      
          Otherwise what goes out of TCP is spaghetti and doesn't batch
          effectively into GSO/TSO clusters.
      
          From Eric Dumazet.
      
      12) Once we put a SKB into either the netlink receiver's queue or a
          socket error queue, it can be consumed and freed up, therefore we
          cannot touch it after queueing it like that.
      
          Fixes from Eric Dumazet.
      
      13) PPP has this annoying behavior in that for every transmit call it
          immediately stops the TX queue, then calls down into the next layer
          to transmit the PPP frame.
      
          But if that next layer can take it immediately, it just un-stops the
          TX queue right before returning from the transmit method.
      
          Besides being useless work, it makes several facilities unusable, in
          particular things like the equalizers.  Well behaved devices should
          only stop the TX queue when they really are full, and in PPP's case
          when it gets backlogged to the downstream device.
      
          David Woodhouse therefore fixed PPP to not stop the TX queue until
          it's downstream can't take data any more.
      
      14) IFF_UNICAST_FLT got accidently lost in some recent stmmac driver
          changes, re-add.  From Marc Kleine-Budde.
      
      15) Fix link flaps in ixgbe, from Eric W. Multanen.
      
      16) Descriptor writeback fixes in e1000e from Matthew Vick.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
        net: fix a race in sock_queue_err_skb()
        netlink: fix races after skb queueing
        doc, net: Update ndo_start_xmit return type and values
        doc, net: Remove instruction to set net_device::trans_start
        doc, net: Update netdev operation names
        doc, net: Update documentation of synchronisation for TX multiqueue
        doc, net: Remove obsolete reference to dev->poll
        ethtool: Remove exception to the requirement of holding RTNL lock
        MAINTAINERS: update for Marvell Ethernet drivers
        bonding: properly unset current_arp_slave on slave link up
        phonet: Check input from user before allocating
        tcp: tcp_sendpages() should call tcp_push() once
        ipv6: fix array index in ip6_mc_add_src()
        mlx4: allocate just enough pages instead of always 4 pages
        stmmac: re-add IFF_UNICAST_FLT for dwmac1000
        bnx2x: Clear MDC/MDIO warning message
        bnx2x: Fix BCM57711+BCM84823 link issue
        bnx2x: Clear BCM84833 LED after fan failure
        bnx2x: Fix BCM84833 PHY FW version presentation
        bnx2x: Fix link issue for BCM8727 boards.
        ...
      23f347ef
    • Eric Dumazet's avatar
      net: fix a race in sock_queue_err_skb() · 110c4330
      Eric Dumazet authored
      
      
      As soon as an skb is queued into socket error queue, another thread
      can consume it, so we are not allowed to reference skb anymore, or risk
      use after free.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      110c4330
    • Eric Dumazet's avatar
      netlink: fix races after skb queueing · 4a7e7c2a
      Eric Dumazet authored
      
      
      As soon as an skb is queued into socket receive_queue, another thread
      can consume it, so we are not allowed to reference skb anymore, or risk
      use after free.
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      4a7e7c2a
    • Ben Hutchings's avatar
      doc, net: Update ndo_start_xmit return type and values · e34fac1c
      Ben Hutchings authored
      Commit dc1f8bf6 ('netdev: change
      transmit to limited range type') changed the required return type and
      9a1654ba
      
       ('net: Optimize
      hard_start_xmit() return checking') changed the valid numerical
      return values.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e34fac1c
    • Ben Hutchings's avatar
      doc, net: Remove instruction to set net_device::trans_start · de7aca16
      Ben Hutchings authored
      Commit 08baf561
      
       ('net:
      txq_trans_update() helper') made it unnecessary for most drivers to
      set net_device::trans_start (or netdev_queue::trans_start).
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      de7aca16
    • Ben Hutchings's avatar
      doc, net: Update netdev operation names · b3cf6545
      Ben Hutchings authored
      Commits d314774c ('netdev: network
      device operations infrastructure') and
      00829823
      
       ('netdev: add more functions
      to netdevice ops') moved and renamed net device operation pointers.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b3cf6545
    • Ben Hutchings's avatar
      doc, net: Update documentation of synchronisation for TX multiqueue · 04fd3d35
      Ben Hutchings authored
      Commits e308a5d8 ('netdev: Add
      netdev->addr_list_lock protection.') and
      e8a0464c
      
       ('netdev: Allocate multiple
      queues for TX.') introduced more fine-grained locks.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      04fd3d35
    • Ben Hutchings's avatar
      doc, net: Remove obsolete reference to dev->poll · 93b6a3ad
      Ben Hutchings authored
      Commit bea3348e
      
       ('[NET]: Make NAPI
      polling independent of struct net_device objects.') removed the
      automatic disabling of NAPI polling by dev_close(), and drivers
      must now do this themselves.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      93b6a3ad
    • Ben Hutchings's avatar
      ethtool: Remove exception to the requirement of holding RTNL lock · b4f79e5c
      Ben Hutchings authored
      Commit e52ac339
      
       ('net: Use device
      model to get driver name in skb_gso_segment()') removed the only
      in-tree caller of ethtool ops that doesn't hold the RTNL lock.
      Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b4f79e5c
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 314489bd
      Linus Torvalds authored
      Pull "ARM: SoC fixes: from Olof Johansson:
       "A bunch of fixes for regressions (and a few other problems) in
        3.4-rc1:
      
       - Fix for regression of mach/io.h cleanup on platforms with PCI or
         PCMCIA (adding back the include file on those for now)
       - AT91 fixes for usb and spi
       - smsc911x ethernet fixes for i.MX
       - smsc911x fixes for OMAP
       - gpio fixes for Tegra
       - A handful of build error and warning fixes for various platforms
       - cpufreq kconfig dependencies, build and lowlevel debug fixes for
         Samsung platforms
      
        In other words, more or less the regular collection of -rc1/2 type
        material.  A few of them, in particular the smsc911x for OMAP series,
        aren't technically regressions for 3.4, but they're valid fixes and
        we're still relatively early in the rc cycle so it seems appropriate
        to include them."
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
        ARM: fix __io macro for PCMCIA
        ARM: EXYNOS: Fix compiler warning in dma.c file
        ARM: EXYNOS: fix ISO C90 warning
        ARM: OMAP2+: hwmod: Fix wrong SYSC_TYPE1_XXX_MASK bit definitions
        ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
        ARM: OMAP2+: hwmod: Restore sysc after a reset
        ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules
        ARM: OMAP3: clock data: fill in some missing clockdomains
        ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock
        ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL
        ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()
        gpio: tegra: Iterate over the correct number of banks
        gpio: tegra: fix register address calculations for Tegra30
        EXYNOS: fix dependency for EXYNOS_CPUFREQ
        ARM: at91: dt: remove unit-address part for memory nodes
        ARM: at91: fix check of valid GPIO for SPI and USB
        USB: ehci-atmel: add needed of.h header file
        ARM: at91/NAND DT bindings: add comments
        ARM: at91/at91sam9x5.dtsi: fix NAND ale/cle in DT file
        USB: ohci-at91: trivial return code name change
        ...
      314489bd
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin · 43e347a1
      Linus Torvalds authored
      Pull a few blackfin compile fixes from Bob Liu.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lliubbo/blackfin:
        blackfin: update defconfig for bf527-ezkit
        blackfin: gpio: fix compile error if !CONFIG_GPIOLIB
        blackfin: fix L1 data A overflow link issue
      43e347a1
    • Bob Liu's avatar
      blackfin: update defconfig for bf527-ezkit · 35fe2e73
      Bob Liu authored
      
      
      To fix compile error:
      drivers/usb/musb/blackfin.h:51:3: error: #error "Please use PIO mode in MUSB
      driver on bf52x chip v0.0 and v0.1"
      make[4]: *** [drivers/usb/musb/blackfin.o] Error 1
      Signed-off-by: default avatarBob Liu <lliubbo@gmail.com>
      35fe2e73
    • Bob Liu's avatar
      blackfin: gpio: fix compile error if !CONFIG_GPIOLIB · e8c5c6da
      Bob Liu authored
      
      
      Add __gpio_get_value()/__gpio_set_value() to fix compile error if
      CONFIG_GPIOLIB = n.
      Signed-off-by: default avatarBob Liu <lliubbo@gmail.com>
      e8c5c6da
    • Mike Frysinger's avatar
      blackfin: fix L1 data A overflow link issue · 95fc2d8f
      Mike Frysinger authored
      This patch fix below compile error:
      "bfin-uclinux-ld: L1 data A overflow!"
      
      It is due to the recent lib/gen_crc32table.c change:
      46c5801e
      
      
      crc32: bolt on crc32c
      
      it added 8KiB more data to __cacheline_aligned which cause blackfin L1 data
      cache overflow.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarBob Liu <lliubbo@gmail.com>
      95fc2d8f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm · fb9d78ac
      Linus Torvalds authored
      Pull an APM fix from Jiri Kosina:
       "One deadlock/race fix from Niel that got introduced when we were
        moving away from freezer_*_count() to wait_event_freezable()."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/apm:
        APM: fix deadlock in APM_IOC_SUSPEND ioctl
      fb9d78ac
    • Olof Johansson's avatar
      Merge tag 'omap-fixes-a2-for-3.4rc' of... · a8f5b6e5
      Olof Johansson authored
      Merge tag 'omap-fixes-a2-for-3.4rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into fixes
      
      From Paul Walmsley:
      
      OMAP clock, powerdomain, clockdomain, and hwmod fixes intended for the
      early v3.4-rc series.  Also contains an HSMMC integration refinement
      of an earlier hardware bug workaround.
      
      * tag 'omap-fixes-a2-for-3.4rc' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending:
        ARM: OMAP2+: hwmod: Fix wrong SYSC_TYPE1_XXX_MASK bit definitions
        ARM: OMAP2+: hwmod: Make omap_hwmod_softreset wait for reset status
        ARM: OMAP2+: hwmod: Restore sysc after a reset
        ARM: OMAP2+: omap_hwmod: Allow io_ring wakeup configuration for all modules
        ARM: OMAP3: clock data: fill in some missing clockdomains
        ARM: OMAP4: clock data: Force a DPLL clkdm/pwrdm ON before a relock
        ARM: OMAP4: clock data: fix mult and div mask for USB_DPLL
        ARM: OMAP2+: powerdomain: Wait for powerdomain transition in pwrdm_state_switch()
        ARM: OMAP AM3517/3505: clock data: change EMAC clocks aliases
        ARM: OMAP: clock: fix race in disable all clocks
        ARM: OMAP4: hwmod data: Add aliases for McBSP fclk clocks
        ARM: OMAP3xxx: clock data: fix DPLL4 CLKSEL masks
        ARM: OMAP3xxx: HSMMC: avoid erratum workaround when transceiver is attached
        ARM: OMAP44xx: clockdomain data: correct the emu_sys_clkdm CLKTRCTRL data
      a8f5b6e5
  2. 05 Apr, 2012 23 commits