Skip to content
  1. Apr 04, 2012
    • Eric Dumazet's avatar
      tcp: allow splice() to build full TSO packets · 2f533844
      Eric Dumazet authored
      
      
      vmsplice()/splice(pipe, socket) call do_tcp_sendpages() one page at a
      time, adding at most 4096 bytes to an skb. (assuming PAGE_SIZE=4096)
      
      The call to tcp_push() at the end of do_tcp_sendpages() forces an
      immediate xmit when pipe is not already filled, and tso_fragment() try
      to split these skb to MSS multiples.
      
      4096 bytes are usually split in a skb with 2 MSS, and a remaining
      sub-mss skb (assuming MTU=1500)
      
      This makes slow start suboptimal because many small frames are sent to
      qdisc/driver layers instead of big ones (constrained by cwnd and packets
      in flight of course)
      
      In fact, applications using sendmsg() (adding an additional memory copy)
      instead of vmsplice()/splice()/sendfile() are a bit faster because of
      this anomaly, especially if serving small files in environments with
      large initial [c]wnd.
      
      Call tcp_push() only if MSG_MORE is not set in the flags parameter.
      
      This bit is automatically provided by splice() internals but for the
      last page, or on all pages if user specified SPLICE_F_MORE splice()
      flag.
      
      In some workloads, this can reduce number of sent logical packets by an
      order of magnitude, making zero-copy TCP actually faster than
      one-copy :)
      
      Reported-by: default avatarTom Herbert <therbert@google.com>
      Cc: Nandita Dukkipati <nanditad@google.com>
      Cc: Neal Cardwell <ncardwell@google.com>
      Cc: Tom Herbert <therbert@google.com>
      Cc: Yuchung Cheng <ycheng@google.com>
      Cc: H.K. Jerry Chu <hkchu@google.com>
      Cc: Maciej Żenczykowski <maze@google.com>
      Cc: Mahesh Bandewar <maheshb@google.com>
      Cc: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail&gt;com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2f533844
    • David Woodhouse's avatar
      ppp: Don't stop and restart queue on every TX packet · e675f0cc
      David Woodhouse authored
      
      
      For every transmitted packet, ppp_start_xmit() will stop the netdev
      queue and then, if appropriate, restart it. This causes the TX softirq
      to run, entirely gratuitously.
      
      This is "only" a waste of CPU time in the normal case, but it's actively
      harmful when the PPP device is a TEQL slave — the wakeup will cause the
      offending device to receive the next TX packet from the TEQL queue, when
      it *should* have gone to the next slave in the list. We end up seeing
      large bursts of packets on just *one* slave device, rather than using
      the full available bandwidth over all slaves.
      
      This patch fixes the problem by *not* unconditionally stopping the queue
      in ppp_start_xmit(). It adds a return value from ppp_xmit_process()
      which indicates whether the queue should be stopped or not.
      
      It *doesn't* remove the call to netif_wake_queue() from
      ppp_xmit_process(), because other code paths (especially from
      ppp_output_wakeup()) need it there and it's messy to push it out to the
      other callers to do it based on the return value. So we leave it in
      place — it's a no-op in the case where the queue wasn't stopped, so it's
      harmless in the TX path.
      
      Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e675f0cc
    • Eric Dumazet's avatar
      net: fix /proc/net/dev regression · 2def16ae
      Eric Dumazet authored
      Commit f04565dd (dev: use name hash for dev_seq_ops) added a second
      regression, as some devices are missing from /proc/net/dev if many
      devices are defined.
      
      When seq_file buffer is filled, the last ->next/show() method is
      canceled (pos value is reverted to value prior ->next() call)
      
      Problem is after above commit, we dont restart the lookup at right
      position in ->start() method.
      
      Fix this by removing the internal 'pos' pointer added in commit, since
      we need to use the 'loff_t *pos' provided by seq_file layer.
      
      This also reverts commit 5cac98dd
      
       (net: Fix corruption
      in /proc/*/net/dev_mcast), since its not needed anymore.
      
      Reported-by: default avatarBen Greear <greearb@candelatech.com>
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Cc: Mihai Maruseac <mmaruseac@ixiacom.com>
      Tested-by: default avatarBen Greear <greearb@candelatech.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2def16ae
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux · 01627d96
      Linus Torvalds authored
      Pull drm update from Dave Airlie:
       "This pull just contains a forward of the Intel fixes from Daniel.
      
        The only annoyance is the RC6 enable, which really should have made
        -next, but since Ubuntu are shipping it I reckon its getting a good
        testing now by the time 3.4 comes out.
      
        The pull from Daniel contains his pull message to me:
      
          "A few patches for 3.4, major part is 3 regression fixes:
           - ppgtt broke hibernate on snb/ivb.  Somehow our QA claims that it
             still works, which is why this has not been caught earlier.
           - ppgtt flails in combination with dmar.  I kinda expected this one :(
           - fence handling bugfix for gen2/3.  Iirc this one is about a year
             old, fix curtesy Chris Wilson.  I've created an shockingly simple
             i-g-t test to catch this in the future."
      
           Wrt regressions I've just got a report that gmbus (newly enabled
           again in 3.4) is a bit noisy.  I'm looking into this atm.
      
           Also included are the rc6 enable patches for snb from Eugeni.  I
           wanted to include these in the main 3.4 pull but screwed it up.
           Please hit me.  Imo these kind of patches really should go in
           before -rc1, but in thise case rc6 has brought us tons of press and
           guinea pigs^W^W testers and ubuntu is already running with it.  So
           I estimate a pretty small chance for this to blow up.
      
           And some smaller things:
            - two minor locking snafus
            - server gt2 ivb pciid
            - 2 patches to sanitize the register state left behind by the bios
              some more
            - 2 new quirk entries
            - cs readback trick against missed IRQs from ivb also enabled on snb
            - sprite fix from Jesse"
      
      Let's see if the "enable RC6 on sandybridge" finally works and sticks.
      I've been enabling it by hand (i915.i915_enable_rc6=1) for several
      months on my Macbook Air, and it definitely makes a difference (and has
      worked for me).  But every time we enabled it before it showed some odd
      hw buglet for *somebody*.
      
      This time it's all good, I'm sure.
      
      * 'drm-fixes-intel' of git://people.freedesktop.org/~airlied/linux:
        drm/i915: treat src w & h as fixed point in sprite handling code
        drm/i915: no-lvds quirk on MSI DC500
        drm/i915: Add lock on drm_helper_resume_force_mode
        drm/i915: don't leak struct_mutex lock on ppgtt init failures
        drm/i915: disable ppgtt on snb when dmar is enabled
        drm/i915: add Ivy Bridge GT2 Server entries
        drm/i915: properly clear SSC1 bit in the pch refclock init code
        drm/i915: apply CS reg readback trick against missed IRQ on snb
        drm/i915: quirk away broken OpRegion VBT
        drm/i915: enable plain RC6 on Sandy Bridge by default
        drm/i915: allow to select rc6 modes via kernel parameter
        drm/i915: Mark untiled BLT commands as fenced on gen2/3
        drm/i915: properly restore the ppgtt page directory on resume
        drm/i915: Sanitize BIOS debugging bits from PIPECONF
      01627d96
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · e1a7eb08
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Mainly nouveau fixes, one for a regressions in -rc1, fixes for booting
        on a ppc G5, and a Kconfig fix.  Two radeon fixes, one oops, one s/r
        fix.  One udl mmap fix.  And one core drm fix to stop bad fbdev apps
        overwriting bits of ram."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm: Validate requested virtual size against allocated fb size
        drm/radeon: Don't dereference possibly-NULL pointer.
        mm, drm/udl: fixup vma flags on mmap
        drm/radeon/kms: fix fans after resume
        nouveau/bios: Fix tracking of BIOS image data
        nouveau: Fix crash when pci_ram_rom() returns a size of 0
        drm/nouveau: select POWER_SUPPLY
        drm/nouveau: inform userspace of relaxed kernel subchannel requirements
        Revert "drm/nouveau: inform userspace of new kernel subchannel requirements"
        drm/nouveau: oops, create m2mf for nvd9 too
      e1a7eb08
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze · 464662b9
      Linus Torvalds authored
      Pull arch/microblaze fixes from Michal Simek.
      
      * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Fix ret_from_fork declaration
        microblaze: Do not use tlb_skip in early_printk
        microblaze: Add missing headers caused by disintegration asm/system.h
        microblaze: Fix stack usage in PAGE_SIZE copy_tofrom_user
        microblaze: Fix tlb_skip variable on noMMU system
        microblaze: Fix __futex_atomic_op macro register usage
      464662b9
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 1e649afd
      Linus Torvalds authored
      Pull m68k fixes from Geert Uytterhoeven:
       "Here are a few fixes for the m68k architecture.  Nothing fancy this
        time, just a build fix for the asm/system.h disintegration, and two
        fixes for missing platform checks (one got in during last merge
        window), which can cause crashes in multi-platform kernels."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/q40: Add missing platform check before registering platform devices
        m68k/mac: Add missing platform check before registering platform devices
        m68k: include asm/cmpxchg.h in our m68k atomic.h
      1e649afd
  2. Apr 03, 2012
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of... · e37acc0f
      Dave Airlie authored
      Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-intel-fixes
      
      From Daniel Vetter:
      
      "A few patches for 3.4, major part is 3 regression fixes:
      - ppgtt broke hibernate on snb/ivb. Somehow our QA claims that it still
       works, which is why this has not been caught earlier.
      - ppgtt flails in combination with dmar. I kinda expected this one :(
      - fence handling bugfix for gen2/3. Iirc this one is about a year old, fix
       curtesy Chris Wilson. I've created an shockingly simple i-g-t test to
       catch this in the future.
      
      Wrt regressions I've just got a report that gmbus (newly enabled again in
      3.4) is a bit noisy. I'm looking into this atm.
      
      Also included are the rc6 enable patches for snb from Eugeni. I wanted to
      include these in the main 3.4 pull but screwed it up. Please hit me. Imo
      these kind of patches really should go in before -rc1, but in thise case
      rc6 has brought us tons of press and guinea pigs^W^W testers and ubuntu is
      already running with it. So I estimate a pretty small chance for this to
      blow up.
      
      And some smaller things:
      - two minor locking snafus
      - server gt2 ivb pciid
      - 2 patches to sanitize the register state left behind by the bios some
       more
      - 2 new quirk entries
      - cs readback trick against missed IRQs from ivb also enabled on snb
      - sprite fix from Jesse"
      
      * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: treat src w & h as fixed point in sprite handling code
        drm/i915: no-lvds quirk on MSI DC500
        drm/i915: Add lock on drm_helper_resume_force_mode
        drm/i915: don't leak struct_mutex lock on ppgtt init failures
        drm/i915: disable ppgtt on snb when dmar is enabled
        drm/i915: add Ivy Bridge GT2 Server entries
        drm/i915: properly clear SSC1 bit in the pch refclock init code
        drm/i915: apply CS reg readback trick against missed IRQ on snb
        drm/i915: quirk away broken OpRegion VBT
        drm/i915: enable plain RC6 on Sandy Bridge by default
        drm/i915: allow to select rc6 modes via kernel parameter
        drm/i915: Mark untiled BLT commands as fenced on gen2/3
        drm/i915: properly restore the ppgtt page directory on resume
        drm/i915: Sanitize BIOS debugging bits from PIPECONF
      e37acc0f
    • Chris Wilson's avatar
      drm: Validate requested virtual size against allocated fb size · 62fb376e
      Chris Wilson authored
      mplayer -vo fbdev tries to create a screen that is twice as tall as the
      allocated framebuffer for "doublebuffering". By default, and all in-tree
      users, only sufficient memory is allocated and mapped to satisfy the
      smallest framebuffer and the virtual size is no larger than the actual.
      For these users, we should therefore reject any userspace request to
      create a screen that requires a buffer larger than the framebuffer
      originally allocated.
      
      References: https://bugs.freedesktop.org/show_bug.cgi?id=38138
      
      
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@kernel.org
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      62fb376e
    • Jesse Barnes's avatar
      drm/i915: treat src w & h as fixed point in sprite handling code · b4db1e35
      Jesse Barnes authored
      
      
      This was missed when we converted the source values to 16.16 fixed point.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      b4db1e35
    • Anisse Astier's avatar
      drm/i915: no-lvds quirk on MSI DC500 · 97effadb
      Anisse Astier authored
      
      
      This hardware doesn't have an LVDS, it's a desktop box. Fix incorrect
      LVDS detection.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarAnisse Astier <anisse@astier.eu>
      Acked-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      97effadb
    • Sean Paul's avatar
      drm/i915: Add lock on drm_helper_resume_force_mode · 927a2f11
      Sean Paul authored
      
      
      i915_drm_thaw was not locking the mode_config lock when calling
      drm_helper_resume_force_mode. When there were multiple wake sources,
      this caused FDI training failure on SNB which in turn corrupted the
      display.
      
      Signed-off-by: default avatarSean Paul <seanpaul@chromium.org>
      Reviewed-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@kernel.org
      Signed-Off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      927a2f11
    • Daniel Vetter's avatar
    • Linus Torvalds's avatar
      Merge branch 'drm-prime-dmabuf-initial' of git://people.freedesktop.org/~airlied/linux · 7d6e1cb7
      Linus Torvalds authored
      Pull dma-buf prime support from Dave Airlie:
       "This isn't a majorly urgent thing to have, but we'd like to set the
        stage for working on dma-buf support in the drm drivers for the next
        merge window, so I'd like to push in the initial submission now so
        people have something that we can build on top of.  The code just
        introduces the user interface and internal helper functions for
        drivers to use.
      
        We have driver support under development for i915, nouveau, udl on x86
        and exynos, omapdrm on arm, which we would be aiming for the next
        merge window."
      
      In the -rc1 announcement I asked for people who would use this to
      comment on it, and got severa "Yes please" from people for this and for
      HSI (that I merged earlier).
      
      So far crickets on pohmelfs and the DMA-mapping infrastructure.
      
      * 'drm-prime-dmabuf-initial' of git://people.freedesktop.org/~airlied/linux:
        drm: base prime/dma-buf support (v5)
      7d6e1cb7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · ed359a3b
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Provide device string properly for USB i2400m wimax devices, also
          don't OOPS when providing firmware string.  From Phil Sutter.
      
       2) Add support for sh_eth SH7734 chips, from Nobuhiro Iwamatsu.
      
       3) Add another device ID to USB zaurus driver, from Guan Xin.
      
       4) Loop index start in pool vector iterator is wrong causing MAC to not
          get configured in bnx2x driver, fix from Dmitry Kravkov.
      
       5) EQL driver assumes HZ=100, fix from Eric Dumazet.
      
       6) Now that skb_add_rx_frag() can specify the truesize increment
          separately, do so in f_phonet and cdc_phonet, also from Eric
          Dumazet.
      
       7) virtio_net accidently uses net_ratelimit() not only on the kernel
          warning but also the statistic bump, fix from Rick Jones.
      
       8) ip_route_input_mc() uses fixed init_net namespace, oops, use
          dev_net(dev) instead.  Fix from Benjamin LaHaise.
      
       9) dev_forward_skb() needs to clear the incoming interface index of the
          SKB so that it looks like a new incoming packet, also from Benjamin
          LaHaise.
      
      10) iwlwifi mistakenly initializes a channel entry as 2GHZ instead of
          5GHZ, fix from Stanislav Yakovlev.
      
      11) Missing kmalloc() return value checks in orinoco, from Santosh
          Nayak.
      
      12) ath9k doesn't check for HT capabilities in the right way, it is
          checking ht_supported instead of the ATH9K_HW_CAP_HT flag.  Fix from
          Sujith Manoharan.
      
      13) Fix x86 BPF JIT emission of 16-bit immediate field of AND
          instructions, from Feiran Zhuang.
      
      14) Avoid infinite loop in GARP code when registering sysfs entries.
          From David Ward.
      
      15) rose protocol uses memcpy instead of memcmp in a device address
          comparison, oops.  Fix from Daniel Borkmann.
      
      16) Fix build of lpc_eth due to dev_hw_addr_rancom() interface being
          renamed to eth_hw_addr_random().  From Roland Stigge.
      
      17) Make ipv6 RTM_GETROUTE interpret RTA_IIF attribute the same way
          that ipv4 does.  Fix from Shmulik Ladkani.
      
      18) via-rhine has an inverted bit test, causing suspend/resume
          regressions.  Fix from Andreas Mohr.
      
      19) RIONET assumes 4K page size, fix from Akinobu Mita.
      
      20) Initialization of imask register in sky2 is buggy, because bits are
          "or'd" into an uninitialized local variable.  Fix from Lino
          Sanfilippo.
      
      21) Fix FCOE checksum offload handling, from Yi Zou.
      
      22) Fix VLAN processing regression in e1000, from Jiri Pirko.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (52 commits)
        sky2: dont overwrite settings for PHY Quick link
        tg3: Fix 5717 serdes powerdown problem
        net: usb: cdc_eem: fix mtu
        net: sh_eth: fix endian check for architecture independent
        usb/rtl8150 : Remove duplicated definitions
        rionet: fix page allocation order of rionet_active
        via-rhine: fix wait-bit inversion.
        ipv6: Fix RTM_GETROUTE's interpretation of RTA_IIF to be consistent with ipv4
        net: lpc_eth: Fix rename of dev_hw_addr_random
        net/netfilter/nfnetlink_acct.c: use linux/atomic.h
        rose_dev: fix memcpy-bug in rose_set_mac_address
        Fix non TBI PHY access; a bad merge undid bug fix in a previous commit.
        net/garp: avoid infinite loop if attribute already exists
        x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND
        bonding: emit event when bonding changes MAC
        mac80211: fix oper channel timestamp updation
        ath9k: Use HW HT capabilites properly
        MAINTAINERS: adding maintainer for ipw2x00
        net: orinoco: add error handling for failed kmalloc().
        net/wireless: ipw2x00: fix a typo in wiphy struct initilization
        ...
      ed359a3b
    • Lino Sanfilippo's avatar
      sky2: dont overwrite settings for PHY Quick link · 2240eb4a
      Lino Sanfilippo authored
      
      
      This patch corrects a bug in function sky2_open() of the Marvell Yukon 2 driver
      in which the settings for PHY quick link are overwritten.
      
      Signed-off-by: default avatarLino Sanfilippo <LinoSanfilippo@gmx.de>
      Acked-by: default avatarStephen Hemminger <shemminger@vyattta.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2240eb4a
    • Linus Torvalds's avatar
      Merge branch 'paul' (Fixups from Paul Gortmaker) · 95694129
      Linus Torvalds authored
      This merges some of the fixes from Paul Gortmaker for the header file
      cleanup fallout.
      
      Some of the patches are going through arch maintainer trees, and David
      Howells suggested another be done differently, but this at least fixes a
      few cases.
      
      * emailed from Paul Gortmaker <paul.gortmaker@windriver.com>:
        asm-generic: add linux/types.h to cmpxchg.h
        firewire: restore the device.h include in linux/firewire.h
        frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOL
        parisc: fix missing cmpxchg file error from system.h split
        blackfin: fix cmpxchg build fails from system.h fallout
        avr32: fix build failures from mis-naming of atmel_nand.h
        ARM: mach-msm: fix compile fail from system.h fallout
        irq_work: fix compile failure on MIPS from system.h split
      95694129
    • Matt Carlson's avatar
      tg3: Fix 5717 serdes powerdown problem · 085f1afc
      Matt Carlson authored
      
      
      If port 0 of a 5717 serdes device powers down, it hides the phy from
      port 1.  This patch works around the problem by keeping port 0's phy
      powered up.
      
      Signed-off-by: default avatarMatt Carlson <mcarlson@broadcom.com>
      Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      085f1afc
    • Paul Gortmaker's avatar
      asm-generic: add linux/types.h to cmpxchg.h · 80da6a4f
      Paul Gortmaker authored
      
      
      Builds of the openrisc or1ksim_defconfig show the following:
      
        In file included from arch/openrisc/include/generated/asm/cmpxchg.h:1:0,
                         from include/asm-generic/atomic.h:18,
                         from arch/openrisc/include/generated/asm/atomic.h:1,
                         from include/linux/atomic.h:4,
                         from include/linux/dcache.h:4,
                         from fs/notify/fsnotify.c:19:
        include/asm-generic/cmpxchg.h: In function '__xchg':
        include/asm-generic/cmpxchg.h:34:20: error: expected ')' before 'u8'
        include/asm-generic/cmpxchg.h:34:20: warning: type defaults to 'int' in type name
      
      and many more lines of similar errors.  It seems specific to the or32
      because most other platforms have an arch specific component that would
      have already included types.h ahead of time, but the o32 does not.
      
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Jonas Bonn <jonas@southpole.se>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      80da6a4f
    • Paul Gortmaker's avatar
      firewire: restore the device.h include in linux/firewire.h · f68c56b7
      Paul Gortmaker authored
      Commit 313162d0 ("device.h: audit and cleanup users in main include
      dir") exchanged an include <linux/device.h> for a struct *device but in
      actuality I misread this file when creating 313162d0
      
       and it should have
      remained an include.
      
      There were no build regressions since all consumers were already getting
      device.h anyway, but make it right regardless.
      
      Reported-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f68c56b7
    • Paul Gortmaker's avatar
      frv: fix warnings in mb93090-mb00/pci-dma.c about implicit EXPORT_SYMBOL · 9a78da11
      Paul Gortmaker authored
      
      
      To fix:
      
          arch/frv/mb93090-mb00/pci-dma.c:31:1: warning: data definition has no type or storage class [enabled by default]
          arch/frv/mb93090-mb00/pci-dma.c:31:1: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL' [-Wimplicit-int]
          arch/frv/mb93090-mb00/pci-dma.c:31:1: warning: parameter names (without types) in function declaration [enabled by default]
          arch/frv/mb93090-mb00/pci-dma.c:38:1: warning: data definition has no type or storage class [enabled by default]
      
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9a78da11
    • Paul Gortmaker's avatar
      parisc: fix missing cmpxchg file error from system.h split · 9e5228ce
      Paul Gortmaker authored
      Commit b4816afa
      
       ("Move the asm-generic/system.h xchg()
      implementation to asm-generic/cmpxchg.h") introduced the concept of
      asm/cmpxchg.h but the parisc arch never got one.  Fork the cmpxchg
      content out of the asm/atomic.h file to create one.
      
      Some minor whitespace fixups were done on the block of code that created
      the new file.
      
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Helge Deller <deller@gmx.de>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9e5228ce
    • Paul Gortmaker's avatar
      blackfin: fix cmpxchg build fails from system.h fallout · 1512cdc3
      Paul Gortmaker authored
      Commit 3bed8d67
      
       ("Disintegrate asm/system.h for Blackfin [ver #2]")
      introduced arch/blackfin/include/asm/cmpxchg.h but has it also including
      the asm-generic one which causes this:
      
        CC      arch/blackfin/kernel/asm-offsets.s
        In file included from arch/blackfin/include/asm/cmpxchg.h:125:0,
                       from arch/blackfin/include/asm/atomic.h:10,
                       from include/linux/atomic.h:4,
                       from include/linux/spinlock.h:384,
                       from include/linux/seqlock.h:29,
                       from include/linux/time.h:8,
                       from include/linux/timex.h:56,
                       from include/linux/sched.h:57,
                       from arch/blackfin/kernel/asm-offsets.c:10:
        include/asm-generic/cmpxchg.h:24:15: error: redefinition of '__xchg'
        arch/blackfin/include/asm/cmpxchg.h:82:29: note: previous definition of '__xchg' was here
        make[2]: *** [arch/blackfin/kernel/asm-offsets.s] Error 1
      
      It really only needs two simple defines from asm-generic, so just use
      those instead.
      
      Cc: Bob Liu <lliubbo@gmail.com>
      Cc: Mike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1512cdc3
    • Paul Gortmaker's avatar
      avr32: fix build failures from mis-naming of atmel_nand.h · 3d92e051
      Paul Gortmaker authored
      Commit bf4289cb
      
       ("ATMEL: fix nand ecc support") indicated that it
      wanted to "Move platform data to a common header
      include/linux/platform_data/atmel_nand.h" and the new header even had
      re-include protectors with:
      
          #ifndef __ATMEL_NAND_H__
      
      However, the file that was added was simply called atmel.h
      and this caused avr32 defconfig to fail with:
      
        In file included from arch/avr32/boards/atstk1000/setup.c:22:
        arch/avr32/mach-at32ap/include/mach/board.h:10:44: error: linux/platform_data/atmel_nand.h: No such file or directory
        In file included from arch/avr32/boards/atstk1000/setup.c:22:
        arch/avr32/mach-at32ap/include/mach/board.h:121: warning: 'struct atmel_nand_data' declared inside parameter list
        arch/avr32/mach-at32ap/include/mach/board.h:121: warning: its scope is only this definition or declaration, which is probably not what you want
        make[2]: *** [arch/avr32/boards/atstk1000/setup.o] Error 1
      
      It seems the scope of the file contents will expand beyond
      just nand, so ignore the original intention, and fix up the
      users who reference the bad name with the _nand suffix.
      
      CC: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
      CC: David Woodhouse <dwmw2@infradead.org>
      Acked-by: default avatarHans-Christian Egtvedt <egtvedt@samfundet.no>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3d92e051
    • Paul Gortmaker's avatar
      ARM: mach-msm: fix compile fail from system.h fallout · b443caf1
      Paul Gortmaker authored
      To fix:
      
        In file included from arm/boot/compressed/misc.c:28:0:
        arm/mach-msm/include/mach/uncompress.h: In function 'putc':
        arch/arm/mach-msm/include/mach/uncompress.h:48:3: error: implicit
        declaration of function 'smp_mb' [-Werror=implicit-function-declaration]
      
      The putc does a cpu_relax which for this platform is smp_mb.
      
      Bisect indicates the 1st failing commit as: 0195c002
      
       ("Merge tag
      'split-asm_system_h...")
      
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarDavid Brown <davidb@codeaurora.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b443caf1
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi · b1a808ff
      Linus Torvalds authored
      Pull HSI (High Speed Synchronous Serial Interface) framework from Carlos Chinea:
       "The High Speed Synchronous Serial Interface (HSI) is a serial
        interface mainly used for connecting application engines (APE) with
        cellular modem engines (CMT) in cellular handsets.
      
        The framework is currently being used for some people and we would
        like to see it integrated into the kernel for 3.3.  There is no HW
        controller drivers in this pull, but some people have already some of
        them pending which they would like to push as soon as this integrated.
        I am also working on the acceptance for an TI OMAP one, based on a
        compatible legacy version of the interface called SSI."
      
      Ok, so it didn't get into 3.3, but here it is pulled into 3.4.
      
      Several people piped up to say "yeah, we want this".
      
      * 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi:
        HSI: hsi_char: Update ioctl-number.txt
        HSI: Add HSI API documentation
        HSI: hsi_char: Add HSI char device kernel configuration
        HSI: hsi_char: Add HSI char device driver
        HSI: hsi: Introducing HSI framework
      b1a808ff
    • Linus Torvalds's avatar
      Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 97754175
      Linus Torvalds authored
      Pull 'make cscope' fix from Michal Marek:
       "The kbuild.git#misc pull request introduced a bug that broke make
        cscope.  Apparently, both the original author and me only tested the
        use case that the commit was supposed to improve (make tags/TAGS), and
        not the use case that was not supposed (make cscope)."
      
      * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        tags.sh: Add missing quotes
      97754175
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 8f6b7676
      Linus Torvalds authored
      Pull crypto fixes from Herbert Xu:
       - Fix for CPU hotplug hang in padata.
       - Avoid using cpu_active inappropriately in pcrypt and padata.
       - Fix for user-space algorithm lookup hang with IV generators.
       - Fix for netlink dump of algorithms where stuff went missing due to
         incorrect calculation of message size.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: user - Fix size of netlink dump message
        crypto: user - Fix lookup of algorithms with IV generator
        crypto: pcrypt - Use the online cpumask as the default
        padata: Fix cpu hotplug
        padata: Use the online cpumask as the default
        padata: Add a reference to the api documentation
      8f6b7676
    • Linus Torvalds's avatar
      Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 143418d0
      Linus Torvalds authored
      Pull powerpc fixes from Benjamin Herrenschmidt:
       "This contains a couple more fixes for the system.h disintegration, a
        trivial section mismatch fix, a couple of patches from akpm that I
        didn't quite get he expected me to pickup, and a few more trivialities
        form Kumar that he appear to have forgotten to send me in the previous
        batch."
      
      * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
        powerpc/eeh: Fix use of set_current_state() in eeh event handling set_current_state() wart
        powerpc/eeh: Remove eeh_event_handler()->daemonize()
        powerpc/kvm: Fallout from system.h disintegration
        powerpc: Fix fallout from system.h split up
        powerpc: Mark const init data with __initconst instead of __initdata
        powerpc/qe: Update the SNUM table for MPC8569 Rev2.0
        powerpc/dts: Removed fsl,msi property from dts.
        powerpc/epapr: add "memory" as a clobber to all hypercalls
        powerpc/85xx: Enable I2C_CHARDEV and I2C_MPC options in defconfigs
        powerpc/85xx: add the P1020UTM-PC DTS support
        powerpc/85xx: add the P1020MBG-PC DTS support
        powerpc/8xxx: remove 85xx/86xx restrictions from fsl_guts.h
      143418d0
  3. Apr 02, 2012