Skip to content
  1. May 05, 2012
    • Linus Torvalds's avatar
      Merge git://git.samba.org/sfrench/cifs-2.6 · c6de1687
      Linus Torvalds authored
      Pull CIFS fixes from Steve French.
      
      * git://git.samba.org/sfrench/cifs-2.6:
        fs/cifs: fix parsing of dfs referrals
        cifs: make sure we ignore the credentials= and cred= options
        [CIFS] Update cifs version to 1.78
        cifs - check S_AUTOMOUNT in revalidate
        cifs: add missing initialization of server->req_lock
        cifs: don't cap ra_pages at the same level as default_backing_dev_info
        CIFS: Fix indentation in cifs_show_options
      c6de1687
    • Dave Jones's avatar
      CPU frequency drivers MAINTAINERS update · a03a09b2
      Dave Jones authored
      
      
      Remove myself as cpufreq maintainer.
      x86 driver changes can go through the regular x86/ACPI trees.
      ARM driver changes through the ARM trees.
      cpufreq core changes are rare these days, and can just go to lkml/direct.
      
      Signed-off-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a03a09b2
    • Linus Torvalds's avatar
      seqlock: add 'raw_seqcount_begin()' function · 4f988f15
      Linus Torvalds authored
      
      
      The normal read_seqcount_begin() function will wait for any current
      writers to exit their critical region by looping until the sequence
      count is even.
      
      That "wait for sequence count to stabilize" is the right thing to do if
      the read-locker will just retry the whole operation on contention: no
      point in doing a potentially expensive reader sequence if we know at the
      beginning that we'll just end up re-doing it all.
      
      HOWEVER.  Some users don't actually retry the operation, but instead
      will abort and do the operation with proper locking.  So the sequence
      count case may be the optimistic quick case, but in the presense of
      writers you may want to do full locking in order to guarantee forward
      progress.  The prime example of this would be the RCU name lookup.
      
      And in that case, you may well be better off without the "retry early",
      and are in a rush to instead get to the failure handling.  Thus this
      "raw" interface that just returns the sequence number without testing it
      - it just forces the low bit to zero so that read_seqcount_retry() will
      always fail such a "active concurrent writer" scenario.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4f988f15
    • Linus Torvalds's avatar
      Fix __read_seqcount_begin() to use ACCESS_ONCE for sequence value read · 2f624278
      Linus Torvalds authored
      
      
      We really need to use a ACCESS_ONCE() on the sequence value read in
      __read_seqcount_begin(), because otherwise the compiler might end up
      reloading the value in between the test and the return of it.  As a
      result, it might end up returning an odd value (which means that a write
      is in progress).
      
      If the reader is then fast enough that that odd value is still the
      current one when the read_seqcount_retry() is done, we might end up with
      a "successful" read sequence, even despite the concurrent write being
      active.
      
      In practice this probably never really happens - there just isn't
      anything else going on around the read of the sequence count, and the
      common case is that we end up having a read barrier immediately
      afterwards.
      
      So the code sequence in which gcc might decide to reaload from memory is
      small, and there's no reason to believe it would ever actually do the
      reload.  But if the compiler ever were to decide to do so, it would be
      incredibly annoying to debug.  Let's just make sure.
      
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f624278
  2. May 04, 2012
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · f0f376f2
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Some minor fixes from Intel and a radeon fix.
      
        I have the nouveau fix for the i2c regression queued for next week,
        its mostly a revert and seems to work on the system it was originally
        introduced for thanks to some i2c core changes."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon: clarify and extend wb setup on APUs and NI+ asics
        drm/i915: enable dip before writing data on gen4
        fixing dmi match for hp t5745 and hp st5747 thin client
        drm/i915: Only enable IPS polling for gen5
        drm/i915: Do not read non-existent DPLL registers on PCH hardware
      f0f376f2
    • Linus Torvalds's avatar
      Merge tag 'md-3.4-fixes' of git://neil.brown.name/md · 08542241
      Linus Torvalds authored
      Pull one small fix for md/bitmaps from NeilBrown:
       "This fixes a regression that was introduced in the merge window."
      
      * tag 'md-3.4-fixes' of git://neil.brown.name/md:
        md/bitmap: fix calculation of 'chunks' - missing shift.
      08542241
    • Linus Torvalds's avatar
      Merge branch 'fix-unmapped-word-at-a-time' · f4622045
      Linus Torvalds authored
      Jana Saout confirmed that this fixes the page faults he saw.
      
      His problem was triggered by ocfs2 and autofs symlink lookups, where the
      symlink allocation was at the end of a page.  But the deeper reason
      seems to be the use of Xen-PV, which is what then causes him to have all
      these unmapped pages, which is what then makes it a problem when the
      unaligned word-at-a-time code fetches data past the end of a page.
      
      * fix-unmapped-word-at-a-time:
        vfs: make word-at-a-time accesses handle a non-existing page
      f4622045
    • Alex Deucher's avatar
      drm/radeon: clarify and extend wb setup on APUs and NI+ asics · c994ead6
      Alex Deucher authored
      
      
      Use family rather than DCE check for clarity, also always use
      wb on APUs, there will never be AGP variants.
      
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      c994ead6
    • NeilBrown's avatar
      md/bitmap: fix calculation of 'chunks' - missing shift. · b16b1b6c
      NeilBrown authored
      commit 61a0d80c
      
       "md/bitmap: discard CHUNK_BLOCK_SHIFT macro"
      replaced CHUNK_BLOCK_RATIO() by the same text that was
      replacing CHUNK_BLOCK_SHIFT() - which is clearly wrong.
      
      The result is that 'chunks' is often too small by 1,
      which can sometimes result in a crash (not sure how).
      
      So use the correct replacement, and get rid of CHUNK_BLOCK_RATIO
      which is no longe used.
      
      Reported-by: default avatarKarl Newman <siliconfiend@gmail.com>
      Tested-by: default avatarKarl Newman <siliconfiend@gmail.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      b16b1b6c
    • Stefan Metzmacher's avatar
      fs/cifs: fix parsing of dfs referrals · d8f2799b
      Stefan Metzmacher authored
      The problem was that the first referral was parsed more than once
      and so the caller tried the same referrals multiple times.
      
      The problem was introduced partly by commit
      066ce689
      
      ,
      where 'ref += le16_to_cpu(ref->Size);' got lost,
      but that was also wrong...
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarStefan Metzmacher <metze@samba.org>
      Tested-by: default avatarBjörn Jacke <bj@sernet.de>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      d8f2799b
    • Linus Torvalds's avatar
      Merge tag 'mfd-for-linus-3.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · 0a6ba092
      Linus Torvalds authored
      Pull second set of MFD fixes from Samuel Ortiz:
       "This time we only have a one liner fixing an omap-usb build error."
      
      * tag 'mfd-for-linus-3.4-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
        mfd: Fix build breakage in omap-usb-host.c
      0a6ba092
    • Linus Torvalds's avatar
      Merge branch 'efi-vars' from Matthew Garrett · 65e62b50
      Linus Torvalds authored
      * efi-vars:
        efivars: Improve variable validation
      65e62b50
    • Matthew Garrett's avatar
      efivars: Improve variable validation · 54b3a4d3
      Matthew Garrett authored
      
      
      Ben Hutchings pointed out that the validation in efivars was inadequate -
      most obviously, an entry with size 0 would server as a DoS against the
      kernel. Improve this based on his suggestions.
      
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      54b3a4d3
    • Linus Torvalds's avatar
      Merge tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 6b4c555a
      Linus Torvalds authored
      Pull libata fixes from Jeff Garzik:
      
      1) Fix regression that could cause a misdiagnosis, which in turn could
         lead to an erroneous 3.0 Gbps -> 1.5 downshift, particularly when hotplug
         and suspend/resume is involved.
      
      2) Fix a regression that led to ata%d controller ids being numbered one
         larger than in <= 3.4-rc3 (oh, the horror!).  Controller ids should now be
         as expected.
      
      3) add some DT, PCI id's
      
      4) ata/pata_arasan_cf: minor cpp fixing/cleaning
      
      * tag 'tag/upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        ata: ahci_platform: Add synopsys ahci controller in DT's compatible list
        ata/pata_arasan_cf: Move arasan_cf_pm_ops out of #ifdef, #endif macros
        libata: init ata_print_id to 0
        ahci: Detect Marvell 88SE9172 SATA controller
        libata: skip old error history when counting probe trials
      6b4c555a
    • Linus Torvalds's avatar
      Merge branch 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux · 4e78f002
      Linus Torvalds authored
      Pull i2c embedded fixes from Wolfram Sang:
       "Here are some typical i2c driver bugfixes for 3.4.  Missed clock
        handling, improper timeout fixes, hardware wrokarounds...  All
        patches have been in linux-next for a few days, too."
      
      * 'i2c-embedded/for-current' of git://git.pengutronix.de/git/wsa/linux:
        i2c: mxs: disable QUEUE when sending is done
        i2c: mxs: handle spurious interrupt
        i2c-eg20t: Modify MODULE_AUTHOR's email address
        i2c-eg20t: change timeout value 50msec to 1000msec
        i2c: tegra: Add delay before resetting the controller after NACK
        i2c: pnx: Disable clk in suspend
      4e78f002
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · f5645b59
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Just some regression fixes from Ben along with a variable that gcc
        failed to spot is uninitialised."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        nouveau: initialise has_optimus variable.
        drm/nv10/gpio: fix thinko in mask for gpio lines 2-9
        nvc0/fb: shut up PMFB interrupt after the first occurrence
        drm/nouveau/hdmi: use correct hdmi regs for nvaa/nvac
        drm/nouveau/bios: fix regression on some nv4x board
      f5645b59
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · c42f1d4b
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Transfer padding was wrong for full-speed USB in ASIX driver, fix
          from Ingo van Lil.
      
       2) Propagate the negative packet offset fix into the PowerPC BPF JIT.
          From Jan Seiffert.
      
       3) dl2k driver's private ioctls were letting unprivileged tasks make
          MII writes and other ugly bits like that.  Fix from Jeff Mahoney.
      
       4) Fix TX VLAN and RX packet drops in ucc_geth, from Joakim Tjernlund.
      
       5) OOPS and network namespace fixes in IPVS from Hans Schillstrom and
          Julian Anastasov.
      
       6) Fix races and sleeping in locked context bugs in drop_monitor, from
          Neil Horman.
      
       7) Fix link status indication in smsc95xx driver, from Paolo Pisati.
      
       8) Fix bridge netfilter OOPS, from Peter Huang.
      
       9) L2TP sendmsg can return on error conditions with the socket lock
          held, oops.  Fix from Sasha Levin.
      
      10) udp_diag should return meaningful values for socket memory usage,
          from Shan Wei.
      
      11) Eric Dumazet is so awesome he gets his own section:
      
             Socket memory cgroup code (I never should have applied those
             patches, grumble...) made erroneous changes to
             sk_sockets_allocated_read_positive().  It was changed to
             use percpu_counter_sum_positive (which requires BH disabling)
             instead of percpu_counter_read_positive (which does not).
             Revert back to avoid crashes and lockdep warnings.
      
             Adjust the default tcp_adv_win_scale and tcp_rmem[2] values
             to fix throughput regressions.  This is necessary as a result
             of our more precise skb->truesize tracking.
      
             Fix SKB leak in netem packet scheduler.
      
      12) New device IDs for various bluetooth devices, from Manoj Iyer,
          AceLan Kao, and Steven Harms.
      
      13) Fix command completion race in ipw2200, from Stanislav Yakovlev.
      
      14) Fix rtlwifi oops on unload, from Larry Finger.
      
      15) Fix hard_mtu when adjusting hard_header_len in smsc95xx driver.
          From Stephane Fillod.
      
      16) ehea driver registers it's IRQ before all the necessary state is
          setup, resulting in crashes.  Fix from Thadeu Lima de Souza
          Cascardo.
      
      17) Fix PHY connection failures in davinci_emac driver, from Anatolij
          Gustschin.
      
      18) Missing break; in switch statement in bluetooth's
          hci_cmd_complete_evt().  Fix from Szymon Janc.
      
      19) Fix queue programming in iwlwifi, from Johannes Berg.
      
      20) Interrupt throttling defaults not being actually programmed into the
          hardware, fix from Jeff Kirsher and Ying Cai.
      
      21) TLAN driver SKB encoding in descriptor busted on 64-bit, fix from
          Benjamin Poirier.
      
      22) Fix blind status block RX producer pointer deref in TG3 driver, from
          Matt Carlson.
      
      23) Promisc and multicast are busted on ehea, fixes from Thadeu Lima de
          Souza Cascardo.
      
      24) Fix crashes in 6lowpan, from Alexander Smirnov.
      
      25) tcp_complete_cwr() needs to be careful to not rewind the CWND to
          ssthresh if ssthresh has the "infinite" value.  Fix from Yuchung
          Cheng.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (81 commits)
        sungem: Fix WakeOnLan
        tcp: change tcp_adv_win_scale and tcp_rmem[2]
        net: l2tp: unlock socket lock before returning from l2tp_ip_sendmsg
        drop_monitor: prevent init path from scheduling on the wrong cpu
        usbnet: fix failure handling in usbnet_probe
        usbnet: fix leak of transfer buffer of dev->interrupt
        ucc_geth: Add 16 bytes to max TX frame for VLANs
        net: ucc_geth, increase no. of HW RX descriptors
        netem: fix possible skb leak
        sky2: fix receive length error in mixed non-VLAN/VLAN traffic
        sky2: propogate rx hash when packet is copied
        net: fix two typos in skbuff.h
        cxgb3: Don't call cxgb_vlan_mode until q locks are initialized
        ixgbe: fix calling skb_put on nonlinear skb assertion bug
        ixgbe: Fix a memory leak in IEEE DCB
        igbvf: fix the bug when initializing the igbvf
        smsc75xx: enable mac to detect speed/duplex from phy
        smsc75xx: declare smsc75xx's MII as GMII capable
        smsc75xx: fix phy interrupt acknowledge
        smsc75xx: fix phy init reset loop
        ...
      c42f1d4b
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 913a9041
      Linus Torvalds authored
      Pull hwmon fixes from Guenter Roeck:
       "Fix OOPS seen in coretemp driver if the CPU core ID is too large"
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (coretemp) Increase CPU core limit
        hwmon: (coretemp) fix oops on cpu unplug
      913a9041
    • Linus Torvalds's avatar
      vfs: make word-at-a-time accesses handle a non-existing page · e419b4cc
      Linus Torvalds authored
      
      
      It turns out that there are more cases than CONFIG_DEBUG_PAGEALLOC that
      can have holes in the kernel address space: it seems to happen easily
      with Xen, and it looks like the AMD gart64 code will also punch holes
      dynamically.
      
      Actually hitting that case is still very unlikely, so just do the
      access, and take an exception and fix it up for the very unlikely case
      of it being a page-crosser with no next page.
      
      And hey, this abstraction might even help other architectures that have
      other issues with unaligned word accesses than the possible missing next
      page.  IOW, this could do the byte order magic too.
      
      Peter Anvin fixed a thinko in the shifting for the exception case.
      
      Reported-and-tested-by: default avatarJana Saout <jana@saout.de>
      Cc:  Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e419b4cc
    • Jeff Layton's avatar
      cifs: make sure we ignore the credentials= and cred= options · a557b976
      Jeff Layton authored
      Older mount.cifs programs passed this on to the kernel after parsing
      the file. Make sure the kernel ignores that option.
      
      Should fix:
      
          https://bugzilla.kernel.org/show_bug.cgi?id=43195
      
      
      
      Cc: Sachin Prabhu <sprabhu@redhat.com>
      Reported-by: default avatarRonald <ronald645@gmail.com>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      a557b976
    • Steve French's avatar
      [CIFS] Update cifs version to 1.78 · f966424e
      Steve French authored
      
      
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      f966424e
    • Ian Kent's avatar
      cifs - check S_AUTOMOUNT in revalidate · 936ad909
      Ian Kent authored
      
      
      When revalidating a dentry, if the inode wasn't known to be a dfs
      entry when the dentry was instantiated, such as when created via
      ->readdir(), the DCACHE_NEED_AUTOMOUNT flag needs to be set on the
      dentry in ->d_revalidate().
      
      The false return from cifs_d_revalidate(), due to the inode now
      being marked with the S_AUTOMOUNT flag, might not invalidate the
      dentry if there is a concurrent unlazy path walk. This is because
      the dentry reference count will be at least 2 in this case causing
      d_invalidate() to return EBUSY. So the asumption that the dentry
      will be discarded then correctly instantiated via ->lookup() might
      not hold.
      
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Cc: Steve French <smfrench@gmail.com>
      Cc: linux-cifs@vger.kernel.org
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      936ad909
    • Viresh Kumar's avatar
      ata: ahci_platform: Add synopsys ahci controller in DT's compatible list · 5f098a3e
      Viresh Kumar authored
      
      
      SPEAr13xx series of SoCs contain Synopsys AHCI SATA Controller which shares
      ahci_platform driver with other controller versions.
      
      This patch updates DT compatible list for ahci_platform. It also updates and
      renames binding documentation to more generic name.
      
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      5f098a3e
    • Viresh Kumar's avatar
      ata/pata_arasan_cf: Move arasan_cf_pm_ops out of #ifdef, #endif macros · fb9751d4
      Viresh Kumar authored
      
      
      #ifdef, #endif is not required in definition/usage of arasan_cf_pm_ops. So, move
      this definition and its usage outside of them.
      
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@st.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      fb9751d4
    • Tero Roponen's avatar
      libata: init ata_print_id to 0 · a78f57af
      Tero Roponen authored
      When comparing the dmesg between 3.4-rc3 and 3.4-rc4 I found the
      following differences:
      
       -ata1: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff100 irq 47
       -ata2: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff180 irq 47
       -ata3: DUMMY
       +ata2: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff100 irq 47
       +ata3: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff180 irq 47
        ata4: DUMMY
        ata5: DUMMY
       -ata6: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff380 irq 47
       +ata6: DUMMY
       +ata7: SATA max UDMA/133 abar m2048@0xf9fff000 port 0xf9fff380 irq 47
      
      The change of numbering comes from commit 85d6725b
      
       ("libata:
      make ata_print_id atomic") that changed lines like
      
      	ap->print_id = ata_print_id++;
      		to
      	ap->print_id = atomic_inc_return(&ata_print_id);
      
      As the latter behaves like ++ata_print_id, we must initialize
      it to zero to start the numbering from one.
      
      Signed-off-by: default avatarTero Roponen <tero.roponen@gmail.com>
      Acked-by: default avatarDan Williams <dan.j.williams@intel.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      a78f57af
    • Matt Johnson's avatar
      ahci: Detect Marvell 88SE9172 SATA controller · 642d8925
      Matt Johnson authored
      
      
      The Marvell 88SE9172 SATA controller (PCI ID 1b4b 917a) already worked
      once it was detected, but was missing an ahci_pci_tbl entry.
      
      Boot tested on a Gigabyte Z68X-UD3H-B3 motherboard.
      
      Signed-off-by: default avatarMatt Johnson <johnso87@illinois.edu>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      642d8925
    • Lin Ming's avatar
      libata: skip old error history when counting probe trials · 6868225e
      Lin Ming authored
      Commit d9027470
      
      ("[libata] Add ATA transport class") introduced
      ATA_EFLAG_OLD_ER to mark entries in the error ring as cleared.
      
      But ata_count_probe_trials_cb() didn't check this flag and it still
      counts the old error history. So wrong probe trials count is returned
      and it causes problem, for example, SATA link speed is slowed down from
      3.0Gbps to 1.5Gbps.
      
      Fix it by checking ATA_EFLAG_OLD_ER in ata_count_probe_trials_cb().
      
      Cc: stable <stable@vger.kernel.org> # 2.6.37+
      Signed-off-by: default avatarLin Ming <ming.m.lin@intel.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      6868225e
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes · b6bb9625
      Dave Airlie authored
      * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: enable dip before writing data on gen4
        fixing dmi match for hp t5745 and hp st5747 thin client
        drm/i915: Only enable IPS polling for gen5
        drm/i915: Do not read non-existent DPLL registers on PCH hardware
      b6bb9625
  3. May 03, 2012