1. 05 Mar, 2012 16 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · aa139092
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
      1) TCP SACK processing can calculate an incorrect reordering value in
         some cases, fix from Neal Cardwell.
      
      2) tcp_mark_head_lost() can split SKBs in situations where it should
         not, violating send queue invariants expected by other pieces of
         code and thus resulting (eventually) in corrupted retransmit state
         counters.  Also from Neal Cardwell.
      
      3) qla3xxx erroneously calls spin_lock_irqrestore() with constant
         hw_flags of zero.  Fix from Santosh Nayak.
      
      4) Fix NULL deref in rt2x00, from Gabor Juhos.
      
      5) pch_gbe passes address of wrong typed object to pch_gbe_validate_option
         thus corrupting part of the value.  From Dan Carpenter.
      
      6) We must check the return value of nlmsg_parse() before trying to use
         the results.  From Eric Dumazet.
      
      7) Bridging code fails to check return value of ipv6_dev_get_saddr()
         thus potentially leaving uninitialized garbage in the outgoing ipv6
         header.  From Ulrich Weber.
      
      8) Due to rounding and a reversed operation on jiffies, bridge message
         ages can go backwards instead of forwards, thus breaking STP.  Fixes
         from Joakim Tjernlund.
      
      9) r8169 modifies Config* registers without properly holding the
         Config9346 lock, resulting in corrupted IP fragments on some chips.
         Fix from Francois Romieu.
      
      10) NET_PACKET_ENGINE default wan't set properly during the network
         driver mega-move.  Fix from Stephen Hemminger.
      
      11) vmxnet3 uses TCP header size where it actually should use the UDP
         header size, fix from Shreyas Bhatewara.
      
      12) Netfilter bridge module autoload is busted in the compat case, fix
         from Florian Westphal.
      
      13) Wireless Key removal was not setting multicast bits correctly thus
         accidently killing the unicast key 0 and thus all traffic stops.
         Fix from Johannes Berg.
      
      14) Fix endless retries of A-MPDU transmissions in brcm80211 driver.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (22 commits)
        qla3xxx: ethernet: Fix bogus interrupt state flag.
        bridge: check return value of ipv6_dev_get_saddr()
        rtnetlink: fix rtnl_calcit() and rtnl_dump_ifinfo()
        bridge: message age needs to increase, not decrease.
        bridge: Adjust min age inc for HZ > 256
        tcp: don't fragment SACKed skbs in tcp_mark_head_lost()
        r8169: corrupted IP fragments fix for large mtu.
        packetengines: fix config default
        vmxnet3: Fix transport header size
        enic: fix an endian bug in enic_probe()
        pch_gbe: memory corruption calling pch_gbe_validate_option()
        tg3: Fix tg3_get_stats64 for 5700 / 5701 devs
        tcp: fix false reordering signal in tcp_shifted_skb
        tcp: fix comment for tp->highest_sack
        netfilter: bridge: fix module autoload in compat case
        brcm80211: smac: only print block-ack timeout message at trace level
        brcm80211: smac: fix endless retry of A-MPDU transmissions
        mac80211: Fix a warning on changing to monitor mode from STA
        mac80211: zero initialize count field in ieee80211_tx_rate
        iwlwifi: fix key removal
        ...
      aa139092
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci · 4f0449e2
      Linus Torvalds authored
      Pull PCI fixes from Jesse Barnes:
       "A couple of fixes for booting specific machines, and one for a minor
        memory leak on pre-_CRS platforms."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci:
        x86/PCI: do not tie MSI MS-7253 use_crs quirk to BIOS version
        x86/PCI: use host bridge _CRS info on MSI MS-7253
        PCI: fix memleak when ACPI _CRS is not used.
      4f0449e2
    • Linus Torvalds's avatar
      Merge branch 'for-3.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 789ce9b9
      Linus Torvalds authored
      Pull per-cpu patches from Tejun Heo:
       "This pull request contains four patches.  One replaces manual clearing
        with bitmap_clear(), two fix generic definition of __this_cpu ops so
        that they don't choose unnecessarily strict arch version.  One makes
        _this_cpu definition use raw_local_irq_*() so that it doesn't end up
        wrecking irq on/off state tracking when used from inside lockdep.
      
        Of the four patches, the raw_local_irq_*() update is the most
        important, so please feel free to cherry pick only that one patch and
        ignore the rest if you want to - commit e920d597 'percpu: use
        raw_local_irq_* in _this_cpu op'."
      
      * 'for-3.3-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: fix __this_cpu_{sub,inc,dec}_return() definition
        percpu: use raw_local_irq_* in _this_cpu op
        percpu: fix generic definition of __this_cpu_add_and_return()
        percpu: use bitmap_clear
      789ce9b9
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · 3a81a6e7
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "What's in there: a number of MIPS fixes and touchups.  The most
        important change in this pull request is Kautuk Consul's port of
        changes to do_page_fault which fix a hang that affects some
        configurations.  Still not quite ready for a release, there are
        problems with 64-bit platforms."
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        MIPS: traps.c: Fix typo
        MIPS: PowerTV: Fix defconfigs for coverage builds
        MIPS: Netlogic: Fix defconfigs for coverage builds
        MIPS: ATH79: Avoid a kernel bug on AR913X
        MIPS: PCI: use list_for_each_entry() for bus->devices traversal
        MIPS: fault.c: Port OOM changes to do_page_fault
        MIPS: vmlinux.lds.S: remove duplicate _sdata symbol
        MIPS: Alchemy: Increase minimum timeout for 32kHz timer.
        MIPS: txx9 7segled fix struct device has no member
        MIPS: Alchemy: Update Au1300 inlined GPIO macros
        MIPS: Remove temporary kludge from <asm/page.h>
        MIPS: BMIPS: smp-bmips.c does not need to include version.h
      3a81a6e7
    • Al Viro's avatar
      flush_tlb_range() needs ->page_table_lock when ->mmap_sem is not held · cd2934a3
      Al Viro authored
      All other callers already hold either ->mmap_sem (exclusive) or
      ->page_table_lock.  And we need it because some page table flushing
      instanced do work explicitly with ge tables.
      
      See e.g.  arch/powerpc/mm/tlb_hash32.c, flush_tlb_range() and
      flush_range() in there.  The same goes for uml, with a lot more
      extensive playing with page tables.
      
      Almost all callers are actually fine - flush_tlb_range() may have no
      need to bother playing with page tables, but it can do so safely; again,
      this caller is the sole exception - everything else either has exclusive
      ->mmap_sem on the mm in question, or mm->page_table_lock is held.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cd2934a3
    • Al Viro's avatar
    • Al Viro's avatar
    • Santosh Nayak's avatar
      qla3xxx: ethernet: Fix bogus interrupt state flag. · 9d1dfc06
      Santosh Nayak authored
      In 'ql_adapter_initialize'
      the first call for 'spin_unlock_irqrestore()' is with hw_flags = 0,
      which is as good as 'spin_unlock_irq()' (unconditional interrupt
      enabling). If this is intended, then for better performance
      'spin_unlock_irqrestore()' can be replaced with 'spin_unlock_irq()'
      and 'spin_lock_irqsave()' can be replaced by 'spin_lock_irq()
      Signed-off-by: default avatarSantosh Nayak <santoshprasadnayak@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9d1dfc06
    • Ulrich Weber's avatar
      bridge: check return value of ipv6_dev_get_saddr() · d1d81d4c
      Ulrich Weber authored
      otherwise source IPv6 address of ICMPV6_MGM_QUERY packet
      might be random junk if IPv6 is disabled on interface or
      link-local address is not yet ready (DAD).
      Signed-off-by: default avatarUlrich Weber <ulrich.weber@sophos.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d1d81d4c
    • Linus Torvalds's avatar
      Merge tag 'mmc-fixes-for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · 550cf00d
      Linus Torvalds authored
      MMC fixes from Chris Ball for 3.3:
       - atmel-mci: oops fix against regression introduced in 3.2
       - core: power saving regression fix against 3.3-rc1
       - core: suspend/resume fix for UHS-I cards
       - esdhc-imx: MMC card regression fix against 3.0
       - mmci: oops fix for ARM systems with large (64k) pages
       - MAINTAINERS update for atmel-mci.
      
      * tag 'mmc-fixes-for-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:
        mmc: core: Fixup suspend/resume issues for UHS-I cards
        mmc: mmci: reduce max_blk_count to avoid overflowing max_req_size
        mmc: sdhci-esdhc-imx: fix for mmc cards on i.MX5
        mmc: core: fix regression: set default clock gating delay to 0
        MAINTAINERS: hand over atmel-mci (sd/mmc interface)
        mmc: atmel-mci: don't use dma features when using DMA with no chan available
      550cf00d
    • Linus Torvalds's avatar
      Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · 5d329e24
      Linus Torvalds authored
      Pull from Jiri Kosina:
       "Please pull to receive updates for HID layer.  Nikolai's patch is
        rather important and should still go in for 3.3, as it's a regression
        fix for commit b4b583d4."
      
      * 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
        HID: hid-input: allow array fields out of range
        HID: usbhid: Add NOGET quirk for the AIREN Slim+ keyboard
      5d329e24
    • Nikolai Kondrashov's avatar
      HID: hid-input: allow array fields out of range · 883e0e36
      Nikolai Kondrashov authored
      Allow array field values out of range as per HID 1.11 specification,
      section 6.2.25:
      
      	Rather than returning a single bit for each button in the group, an
      	array returns an index in each field that corresponds to the pressed
      	button (like keyboard scan codes). An out-of range value in and array
      	field is considered no controls asserted.
      
      Apparently, "and" above is a typo and should be "an".
      
      This fixes at least Waltop tablet pen clicks - otherwise BTN_TOUCH is never
      released.
      
      The relevant part of Waltop tablet report descriptors is this:
      
      	0x09, 0x42,         /*          Usage (Tip Switch),         */
      	0x09, 0x44,         /*          Usage (Barrel Switch),      */
      	0x09, 0x46,         /*          Usage (Tablet Pick),        */
      	0x15, 0x01,         /*          Logical Minimum (1),        */
      	0x25, 0x03,         /*          Logical Maximum (3),        */
      	0x75, 0x04,         /*          Report Size (4),            */
      	0x95, 0x01,         /*          Report Count (1),           */
      	0x80,               /*          Input,                      */
      
      This is a regression fix for commit b4b583d4 ("HID: be more strict when
      ignoring out-of-range fields").
      Signed-off-by: default avatarNikolai Kondrashov <spbnick@gmail.com>
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
      883e0e36
    • Eric Dumazet's avatar
      rtnetlink: fix rtnl_calcit() and rtnl_dump_ifinfo() · a4b64fbe
      Eric Dumazet authored
      nlmsg_parse() might return an error, so test its return value before
      potential random memory accesses.
      
      Errors introduced in commit 115c9b81 (rtnetlink: Fix problem with
      buffer allocation)
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Cc: Greg Rose <gregory.v.rose@intel.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a4b64fbe
    • Joakim Tjernlund's avatar
      bridge: message age needs to increase, not decrease. · 709e1b5c
      Joakim Tjernlund authored
      commit bridge: send proper message_age in config BPDU
      added this gem:
        bpdu.message_age = (jiffies - root->designated_age)
        p->designated_age = jiffies + bpdu->message_age;
      Notice how bpdu->message_age is negated when reassigned to
      bpdu.message_age. This causes message age to decrease breaking the
      STP protocol.
      Signed-off-by: default avatarJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      709e1b5c
    • Joakim Tjernlund's avatar
      bridge: Adjust min age inc for HZ > 256 · aaca735f
      Joakim Tjernlund authored
      min age increment needs to round up its min age tick for all
      HZ values to guarantee message age is increasing.
      Signed-off-by: default avatarJoakim Tjernlund <Joakim.Tjernlund@transmode.se>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aaca735f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · a5939eef
      Linus Torvalds authored
      MFD fixes from Samuel Ortiz:
       "This is the pull request for the MFD fixes for 3.3.  We have a few
        NULL pointer dereferences fixes, an ACPI conflict check fix, and a
        couple of wm8994 fixes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
        mfd: Correct readability of WM8994 DC servo 4E register
        mfd: Initialize tps65912 irq platform data properly
        mfd: Fix ACPI conflict check
        mfd: Fix ab8500 error path bug
        mfd: Test for jack detection when deciding if wm8994 should suspend
        mfd: Initialize tps65910 irq platform data properly
        mfd: Fix possible s5m null pointer dereference
        mfd: wm8350 variable dereferenced before check
      a5939eef
  2. 04 Mar, 2012 10 commits
  3. 03 Mar, 2012 6 commits
  4. 02 Mar, 2012 8 commits
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 62d222b8
      Linus Torvalds authored
      hhwmon fixes for 3.3-rc6 from Guenter Roeck:
      
      These patches are necessary for correct operation and management of
      F75387.
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (f75375s) Catch some attempts to write to r/o registers
        hwmon: (f75375s) Properly map the F75387 automatic modes to pwm_enable
        hwmon: (f75375s) Make pwm*_mode writable for the F75387
        hwmon: (f75375s) Fix writes to the pwm* attribute for the F75387
      62d222b8
    • Linus Torvalds's avatar
      Merge tag 'fbdev-fixes-for-3.3-2' of git://github.com/schandinat/linux-2.6 · d085a09c
      Linus Torvalds authored
      fbdev fixes for 3.3 from Florian Tobias Schandinat
      
      It includes:
       - two fixes for OMAP HDMI
       - one fix to make new OMAP functions behave as they are supposed to
       - one Kconfig dependency fix
       - two fixes for viafb for modesetting on VX900 hardware
      
      * tag 'fbdev-fixes-for-3.3-2' of git://github.com/schandinat/linux-2.6:
        OMAPDSS: APPLY: make ovl_enable/disable synchronous
        OMAPDSS: panel-dvi: Add Kconfig dependency on I2C
        viafb: fix IGA1 modesetting on VX900
        viafb: select HW scaling on VX900 for IGA2
        OMAPDSS: HDMI: hot plug detect fix
        OMAPDSS: HACK: Ensure DSS clock domain gets out of idle when HDMI is enabled
      d085a09c
    • Linus Torvalds's avatar
      Merge tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 5e8063d7
      Linus Torvalds authored
      sound fixes for 3.3-rc6 from Takashi Iwai
      
      This contains again regression fixes for various HD-audio and ASoC
      regarding SSI and dapm shutdown path.  In addition, a minor azt3328
      fix and the correction of the new jack-notification strings in HD-audio.
      
      * tag 'sound-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Kill hyphenated names
        ALSA: hda - Add a fake mute feature
        ALSA: hda - Always set HP pin in unsol handler for STAC/IDT codecs
        ALSA: azt3328 - Fix NULL ptr dereference on cards without OPL3
        ALSA: hda/realtek - Fix resume of multiple input sources
        ASoC: i.MX SSI: Fix DSP_A format.
        ASoC: dapm: Check for bias level when powering down
      5e8063d7
    • Linus Torvalds's avatar
      vfs: split up name hashing in link_path_walk() into helper function · 200e9ef7
      Linus Torvalds authored
      The code in link_path_walk() that finds out the length and the hash of
      the next path component is some of the hottest code in the kernel.  And
      I have a version of it that does things at the full width of the CPU
      wordsize at a time, but that means that we *really* want to split it up
      into a separate helper function.
      
      So this re-organizes the code a bit and splits the hashing part into a
      helper function called "hash_name()".  It returns the length of the
      pathname component, while at the same time computing and writing the
      hash to the appropriate location.
      
      The code generation is slightly changed by this patch, but generally for
      the better - and the added abstraction actually makes the code easier to
      read too.  And the new interface is well suited for replacing just the
      "hash_name()" function with alternative implementations.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      200e9ef7
    • Linus Torvalds's avatar
      vfs: clarify and clean up dentry_cmp() · 5707c87f
      Linus Torvalds authored
      It did some odd things for unclear reasons.  As this is one of the
      functions that gets changed when doing word-at-a-time compares, this is
      yet another of the "don't change any semantics, but clean things up so
      that subsequent patches don't get obscured by the cleanups".
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5707c87f
    • Linus Torvalds's avatar
      vfs: uninline full_name_hash() · 0145acc2
      Linus Torvalds authored
      .. and also use it in lookup_one_len() rather than open-coding it.
      
      There aren't any performance-critical users, so inlining it is silly.
      But it wouldn't matter if it wasn't for the fact that the word-at-a-time
      dentry name patches want to conditionally replace the function, and
      uninlining it sets the stage for that.
      
      So again, this is a preparatory patch that doesn't change any semantics,
      and only prepares for a much cleaner and testable word-at-a-time dentry
      name accessor patch.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0145acc2
    • Linus Torvalds's avatar
      vfs: trivial __d_lookup_rcu() cleanups · 8966be90
      Linus Torvalds authored
      These don't change any semantics, but they clean up the code a bit and
      mark some arguments appropriately 'const'.
      
      They came up as I was doing the word-at-a-time dcache name accessor
      code, and cleaning this up now allows me to send out a smaller relevant
      interesting patch for the experimental stuff.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8966be90
    • Ludovic Desroches's avatar
      mmc: atmel-mci: don't use dma features when using DMA with no chan available · ef878198
      Ludovic Desroches authored
      Some callbacks are set too early -- i.e. we can have dma capabilities but
      we can't get a dma channel. So wait to get the dma channel before setting
      callbacks and change logs consequently.
      Signed-off-by: default avatarLudovic Desroches <ludovic.desroches@atmel.com>
      Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      [Should be applied to 3.2-stable.]
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarChris Ball <cjb@laptop.org>
      ef878198