1. 17 Aug, 2012 12 commits
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · c8391797
      Linus Torvalds authored
      Pull driver core fixes from Greg Kroah-Hartman:
       "Here are two tiny patches, one fixing a dynamic debug problem that the
        printk rework turned up, and the other one fixing an extcon problem
        that people reported.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'driver-core-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        extcon: extcon_gpio: Replace gpio_request_one by devm_gpio_request_one
        drivers-core: make structured logging play nice with dynamic-debug
      c8391797
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · d7d45fed
      Linus Torvalds authored
      Pull Char / Misc driver fixes from Greg Kroah-Hartman:
       "Here are some small misc and w1 driver fixes for 3.6-rc3.  Nothing
        major, just some some bugfixes and a new device id for a w1 driver.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'char-misc-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        1-Wire: Add support for the maxim ds1825 temperature sensor
        ti-st: Fix check for pdata->chip_awake function pointer
        mei: add mei_quirk_probe function
        mei: fix device stall after wd is stopped
      d7d45fed
    • Linus Torvalds's avatar
      Merge tag 'usb-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 9134e7d2
      Linus Torvalds authored
      Pull USB patches from Greg Kroah-Hartman:
       "Here are a number of small USB patches for 3.6-rc3.
      
        The "large" one is just a number of device id updates to the option
        driver, done by the manufacturer, properly fixing up the device ids
        based on shipping devices.
      
        Other than that, some gadget driver fixes, the obligitary XHCI
        patches, and some other device ids and bugs fixed.
      
        Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>"
      
      * tag 'usb-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (26 commits)
        USB: qcserial: fix port handling on Gobi 1K and 2K+
        USB: serial: Fix mos7840 timeout
        USB: option: add ZTE K5006-Z
        usb: gadget: u_ether: fix kworker 100% CPU issue with still used interfaces in eth_stop
        usb: host: tegra: fix warning messages in ehci_remove
        usb: host: mips: sead3: Update for EHCI register structure.
        usb: renesas_usbhs: fixup resume method for autonomy mode
        usb: renesas_usbhs: mod_host: add missing .bus_suspend/resume
        update MAINTAINERS for Oliver Neukum
        usb: usb_wwan: resume/suspend can be called after port is gone
        usb: serial: prevent suspend/resume from racing against probe/remove
        usb: usb_wwan: replace release and disconnect with a port_remove hook
        usb: serial: mos7840: Fixup mos7840_chars_in_buffer()
        USB: isp1362-hcd.c: usb message always saved in case of underrun
        OMAP: USB : Fix the EHCI enumeration and core retention issue
        usb: chipidea: fix and improve dependencies if usb host or gadget support is built as module
        USB: support the new interfaces of Huawei Data Card devices in option driver
        USB: ftdi_sio: Add VID/PID for Kondo Serial USB
        xhci: Switch PPT ports to EHCI on shutdown.
        xhci: Fix bug after deq ptr set to link TRB.
        ...
      9134e7d2
    • Randy Dunlap's avatar
      scripts/kernel-doc: fix fatal script error · 0df7c0e3
      Randy Dunlap authored
      Fix fatal error in scripts/kernel-doc by ignoring the "__weak" attribute:
      
        Error(drivers/pci/pci.c:2820): cannot understand prototype: 'char * __weak pcibios_setup(char *str) '
      Signed-off-by: default avatarRandy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0df7c0e3
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · 0b0402d4
      Linus Torvalds authored
      Pull a Yama bugfix from James Morris.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        Yama: access task_struct->comm directly
      0b0402d4
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · 9d0f8140
      Linus Torvalds authored
      Pull C6X atomic64 support from Mark Salter:
       "Enable atomic64 ops in C6X
         - define L1_CACHE_SHIFT
         - select GENERIC_ATOMIC64"
      
      * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        C6X: select GENERIC_ATOMIC64
        C6X: add Lx_CACHE_SHIFT defines
      9d0f8140
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · ef824bfb
      Linus Torvalds authored
      Pull ext4 bug fixes from Ted Ts'o:
       "The following are all bug fixes and regressions.  The most notable are
        the ones which cause problems for ext4 on RAID --- a performance
        problem when mounting very large filesystems, and a kernel OOPS when
        doing an rm -rf on large directory hierarchies on fast devices."
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix kernel BUG on large-scale rm -rf commands
        ext4: fix long mount times on very big file systems
        ext4: don't call ext4_error while block group is locked
        ext4: avoid kmemcheck complaint from reading uninitialized memory
        ext4: make sure the journal sb is written in ext4_clear_journal_err()
      ef824bfb
    • Ian Kent's avatar
      autofs4 - fix expire check · d807ff83
      Ian Kent authored
      In some cases when an autofs indirect mount is contained in a file
      system that is marked as shared (such as when systemd does the
      equivalent of "mount --make-rshared /" early in the boot), mounts
      stop expiring.
      
      When this happens the first expiry check on a mountpoint dentry in
      autofs_expire_indirect() sees a mountpoint dentry with a higher
      than minimal reference count. Consequently the dentry is condidered
      busy and the actual expiry check is never done.
      
      This particular check was originally meant as an optimisation to
      detect a path walk in progress but with the addition of rcu-walk
      it can be ineffective anyway.
      
      Removing the test allows automounts to expire again since the
      actual expire check doesn't rely on the dentry reference count.
      Signed-off-by: default avatarIan Kent <raven@themaw.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d807ff83
    • Theodore Ts'o's avatar
      ext4: fix kernel BUG on large-scale rm -rf commands · 89a4e48f
      Theodore Ts'o authored
      Commit 968dee77: "ext4: fix hole punch failure when depth is greater
      than 0" introduced a regression in v3.5.1/v3.6-rc1 which caused kernel
      crashes when users ran run "rm -rf" on large directory hierarchy on
      ext4 filesystems on RAID devices:
      
          BUG: unable to handle kernel NULL pointer dereference at 0000000000000028
      
          Process rm (pid: 18229, threadinfo ffff8801276bc000, task ffff880123631710)
          Call Trace:
           [<ffffffff81236483>] ? __ext4_handle_dirty_metadata+0x83/0x110
           [<ffffffff812353d3>] ext4_ext_truncate+0x193/0x1d0
           [<ffffffff8120a8cf>] ? ext4_mark_inode_dirty+0x7f/0x1f0
           [<ffffffff81207e05>] ext4_truncate+0xf5/0x100
           [<ffffffff8120cd51>] ext4_evict_inode+0x461/0x490
           [<ffffffff811a1312>] evict+0xa2/0x1a0
           [<ffffffff811a1513>] iput+0x103/0x1f0
           [<ffffffff81196d84>] do_unlinkat+0x154/0x1c0
           [<ffffffff8118cc3a>] ? sys_newfstatat+0x2a/0x40
           [<ffffffff81197b0b>] sys_unlinkat+0x1b/0x50
           [<ffffffff816135e9>] system_call_fastpath+0x16/0x1b
          Code: 8b 4d 20 0f b7 41 02 48 8d 04 40 48 8d 04 81 49 89 45 18 0f b7 49 02 48 83 c1 01 49 89 4d 00 e9 ae f8 ff ff 0f 1f 00 49 8b 45 28 <48> 8b 40 28 49 89 45 20 e9 85 f8 ff ff 0f 1f 80 00 00 00
      
          RIP  [<ffffffff81233164>] ext4_ext_remove_space+0xa34/0xdf0
      
      This could be reproduced as follows:
      
      The problem in commit 968dee77 was that caused the variable 'i' to
      be left uninitialized if the truncate required more space than was
      available in the journal.  This resulted in the function
      ext4_ext_truncate_extend_restart() returning -EAGAIN, which caused
      ext4_ext_remove_space() to restart the truncate operation after
      starting a new jbd2 handle.
      Reported-by: default avatarMaciej Żenczykowski <maze@google.com>
      Reported-by: default avatarMarti Raudsepp <marti@juffo.org>
      Tested-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@vger.kernel.org
      89a4e48f
    • Theodore Ts'o's avatar
      ext4: fix long mount times on very big file systems · 0548bbb8
      Theodore Ts'o authored
      Commit 8aeb00ff: "ext4: fix overhead calculation used by
      ext4_statfs()" introduced a O(n**2) calculation which makes very large
      file systems take forever to mount.  Fix this with an optimization for
      non-bigalloc file systems.  (For bigalloc file systems the overhead
      needs to be set in the the superblock.)
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@vger.kernel.org
      0548bbb8
    • Theodore Ts'o's avatar
      ext4: don't call ext4_error while block group is locked · 7a4c5de2
      Theodore Ts'o authored
      While in ext4_validate_block_bitmap(), if an block allocation bitmap
      is found to be invalid, we call ext4_error() while the block group is
      still locked.  This causes ext4_commit_super() to call a function
      which might sleep while in an atomic context.
      
      There's no need to keep the block group locked at this point, so hoist
      the ext4_error() call up to ext4_validate_block_bitmap() and release
      the block group spinlock before calling ext4_error().
      
      The reported stack trace can be found at:
      
      	http://article.gmane.org/gmane.comp.file-systems.ext4/33731Reported-by: default avatarDave Jones <davej@redhat.com>
      Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
      Cc: stable@vger.kernel.org
      7a4c5de2
    • Kees Cook's avatar
      Yama: access task_struct->comm directly · 7612bfee
      Kees Cook authored
      The core ptrace access checking routine holds a task lock, and when
      reporting a failure, Yama takes a separate task lock. To avoid a
      potential deadlock with two ptracers taking the opposite locks, do not
      use get_task_comm() and just use ->comm directly since accuracy is not
      important for the report.
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Suggested-by: default avatarOleg Nesterov <oleg@redhat.com>
      CC: stable@vger.kernel.org
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarJohn Johansen <john.johansen@canonical.com>
      Signed-off-by: default avatarJames Morris <james.l.morris@oracle.com>
      7612bfee
  2. 16 Aug, 2012 18 commits
  3. 15 Aug, 2012 7 commits
    • Mark Ferrell's avatar
      USB: serial: Fix mos7840 timeout · 1e658489
      Mark Ferrell authored
      * mos7840 driver was using multiple of HZ for the timeout handed off to
        usb_control_msg().  Changed the timeout to use msecs instead.
      
      * Remove unused WAIT_FOR_EVER definition
      Signed-off-by: default avatarMark Ferrell <mferrell@uplogix.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      1e658489
    • Bjørn Mork's avatar
      USB: option: add ZTE K5006-Z · f1b5c997
      Bjørn Mork authored
      The ZTE (Vodafone) K5006-Z use the following
      interface layout:
      
      00 DIAG
      01 secondary
      02 modem
      03 networkcard
      04 storage
      
      Ignoring interface #3 which is handled by the qmi_wwan
      driver.
      
      Cc: Thomas Schäfer <tschaefer@t-online.de>
      Cc: stable <stable@vger.kernel.org>
      Signed-off-by: default avatarBjørn Mork <bjorn@mork.no>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f1b5c997
    • Mark Salter's avatar
      C6X: select GENERIC_ATOMIC64 · 01ddd9a8
      Mark Salter authored
      The generic atomic64 support came in 2009 to support the perf subsystem
      with the expectation that all architectures would implement atomic64
      support. Since then, other optional parts of the generic kernel have
      also come to expect atomic64 support. This patch enables generic atomic64
      support for C6X architecture.
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      01ddd9a8
    • Mark Salter's avatar
      C6X: add Lx_CACHE_SHIFT defines · 6330c790
      Mark Salter authored
      C6X currently lacks Lx_CACHE_SHIFT defines which are needed in a
      few places in the generic kernel. This patch adds _SHIFT defines
      for the various caches and bases the Lx_CACHE_BYTES defines on
      them.
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      6330c790
    • Dave Airlie's avatar
      Merge branch 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes · 2e26c73a
      Dave Airlie authored
      * 'drm-nouveau-fixes' of git://git.freedesktop.org/git/nouveau/linux-2.6:
        drm/nv86/fifo: suspend fix
        drm/nouveau: disable copy engine on NVAF
        nouveau: fixup scanout enable in nvc0_pm
        drm/nouveau/aux: mask off higher bits of auxch index in i2c table entry
        drm/nvd0/disp: mask off high 16 bit of negative cursor x-coordinate
        drm/nve0/fifo: add support for the flip completion swmthd
      2e26c73a
    • Dave Airlie's avatar
      Merge branch 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes · a389b6a1
      Dave Airlie authored
      Daniel Vetter writes:
      
      "A few important fixers:
      - fix various lvds backlight issues, regressed in 3.6 (Takashi Iwai)
      - make the retina mbp work (ignore bogus edp bpc value in vbt)
      - fix a gmbus regression introduced in (iirc) 3.4 (Jani Nikula)
      - fix an edp panel power sequence regression, fixes the new macbook air
      - apply the tlb invalidate w/a
      
      Otherwise we still have another gmbus regression (patches are awaiting
      tested-bys) and there's something odd going with some rare systems not
      entering rc6 often enough (and hence blowing through too much power).  It
      seems to be a timing-related issue and can be mitigated by frobbing the
      magic tuning parameters. We're still working on that one. Also, we still
      have some fallout from the hw context support, but you can only hit that
      with mesa master."
      
      * 'drm-intel-fixes' of git://people.freedesktop.org/~danvet/drm-intel:
        drm/i915: Apply post-sync write for pipe control invalidates
        drm/i915: reorder edp disabling to fix ivb MacBook Air
        drm/i915: ensure i2c adapter is all set before adding it
        drm/i915: ignore eDP bpc settings from vbt
        drm/i915: Fix blank panel at reopening lid
      a389b6a1
    • David S. Miller's avatar
      sparc64: Be less verbose during vmemmap population. · 2856cc2e
      David S. Miller authored
      On a 2-node machine with 256GB of ram we get 512 lines of
      console output, which is just too much.
      
      This mimicks Yinghai Lu's x86 commit c2b91e2e
      (x86_64/mm: check and print vmemmap allocation continuous) except that
      we aren't ever going to get contiguous block pointers in between calls
      so just print when the virtual address or node changes.
      
      This decreases the output by an order of 16.
      
      Also demote this to KERN_DEBUG.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2856cc2e
  4. 14 Aug, 2012 3 commits
    • Chris Wilson's avatar
      drm/i915: Apply post-sync write for pipe control invalidates · 7d54a904
      Chris Wilson authored
      When invalidating the TLBs it is documentated as requiring a post-sync
      write. Failure to do so seems to result in a GPU hang.
      
      Exposure to this hang on IVB seems to be a result of removing the extra
      stalls required for SNB pipecontrol workarounds:
      
      commit 6c6cf5aa
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Fri Jul 20 18:02:28 2012 +0100
      
          drm/i915: Only apply the SNB pipe control w/a to gen6
      
      Note: Manually switch the pipe_control cmd to 4 dwords to avoid a
      (silent) functional conflict with -next. This way will get a loud (but
      conflict with next (since the scratch_addr has been deleted there).
      
      Reported-and-tested-by: yex.tian@intel.com
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53322Acked-by: default avatarBen Widawsky <ben@bwidawsk.net>
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      [danvet: added note about merge conflict with -next.]
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      7d54a904
    • Daniel Vetter's avatar
      drm/i915: reorder edp disabling to fix ivb MacBook Air · 35a38556
      Daniel Vetter authored
      eDP is tons of fun. It turns out that at least the new MacBook Air 5,1
      model absolutely doesn't like the new force vdd dance we've introduced
      in
      
      commit 6cb49835
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sun May 20 17:14:50 2012 +0200
      
          drm/i915: enable vdd when switching off the eDP panel
      
      But that patch also tried to fix some neat edp sequence issue with the
      force_vdd timings. Closer inspection reveals that we've raised
      force_vdd only to do the aux channel communication dp_sink_dpms. If we
      move the edp_panel_off below that, we don't need any force_vdd for the
      disable sequence, which makes the Air happy.
      
      Unfortunately the reporter of the original bug that the above commit
      fixed is travelling, so we can't test whether this regresses things.
      But my theory is that since we don't check for any power-off ->
      force_vdd-on delays in edp_panel_vdd_on, this was the actual
      root-cause of this failure. With that force_vdd dance completely
      eliminated, I'm hopeful the original bug stays fixed, too.
      
      For reference the old bug, which hopefully doesn't get broken by this:
      
      https://bugzilla.kernel.org/show_bug.cgi?id=43163
      
      In any case, regression fixers win over plain bugfixes, so this needs
      to go in asap.
      
      v2: The crucial pieces seems to be to clear the force_vdd flag
      uncoditionally, too, in edp_panel_off. Looks like this is left behind
      by the firmware somehow.
      
      v3: The Apple firmware seems to switch off the panel on it's own, hence
      we still need to keep force_vdd on, but properly clear it when switching
      the panel off.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=45671Tested-by: default avatarRoberto Romer <sildurin@gmail.com>
      Tested-by: default avatarDaniel Wagner <wagi@monom.org>
      Tested-by: default avatarKeith Packard <keithp@keithp.com>
      Cc: stable@vger.kernel.org
      Cc: Keith Packard <keithp@keithp.com>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      35a38556
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · ddf343f6
      Linus Torvalds authored
      Pull s390 patches from Martin Schwidefsky:
       "Included are bug fixes and a patch to enable system call filtering
        with BPF."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/compat: fix mmap compat system calls
        s390/compat: fix compat wrappers for process_vm system calls
        s390: do not clobber personality flags in sys_32_personality()
        s390/seccomp: add support for system call filtering using BPF
        s390/sclp_sdias: Add missing break and "fall through"
        s390/mm: remove MAX_PHYSADDR_BITS define
      ddf343f6