1. 19 9月, 2014 8 次提交
  2. 12 9月, 2014 2 次提交
  3. 11 9月, 2014 7 次提交
  4. 10 9月, 2014 3 次提交
    • L
      Merge branch 'for-next-3.17' of git://git.samba.org/sfrench/cifs-2.6 · e874a5fe
      Linus Torvalds 提交于
      Pull cifs/smb3 fixes from Steve French:
       "This includes various cifs and smb3 bug fixes including those for bugs
        found with the recently updated xfstests.
      
        Also I am working fixes for two additional cifs problems found by
        xfstests which I plan to send later (when reviewed and run additional
        tests)"
      
      * 'for-next-3.17' of git://git.samba.org/sfrench/cifs-2.6:
        Clarify Kconfig help text for CIFS and SMB2/SMB3
        CIFS: Fix wrong filename length for SMB2
        CIFS: Fix wrong restart readdir for SMB1
        CIFS: Fix directory rename error
        cifs: No need to send SIGKILL to demux_thread during umount
        cifs: Allow directIO read/write during cache=strict
        cifs: remove unneeded check of null checking in if condition
        cifs: fix a possible use of uninit variable in SMB2_sess_setup
        cifs: fix memory leak when password is supplied multiple times
        cifs: fix a possible null pointer deref in decode_ascii_ssetup
        Trivial whitespace fix
      e874a5fe
    • L
      Merge tag 'microblaze-3.17-rc5' of git://git.monstr.eu/linux-2.6-microblaze · 619df5d2
      Linus Torvalds 提交于
      Pull arch/microblaze fixes from Michal Simek:
       - Kconfig menu structure fix
       - fix number of syscalls
       - fix compilation warnings from allmodconfig
      
      * tag 'microblaze-3.17-rc5' of git://git.monstr.eu/linux-2.6-microblaze:
        microblaze: Fix number of syscalls
        microblaze: Rename Advance setup to Kernel features
        microblaze: Add mm/Kconfig to advance menu
        arch/microblaze/include/asm/uaccess.h: Use pr_devel() instead of pr_debug()
        arch/microblaze/include/asm/entry.h: Include "linux/linkage.h" to avoid compiling issue
      619df5d2
    • A
      drm/radeon/dpm: set the thermal type properly for special configs · ff437792
      Alex Deucher 提交于
      On systems with special thermal configurations make sure we make
      note of the thermal setup.  This is required for proper firmware
      configuration on these systems.
      Signed-off-by: NAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      ff437792
  5. 09 9月, 2014 13 次提交
  6. 08 9月, 2014 7 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 35af2561
      Linus Torvalds 提交于
      Pull s390 fixes from Martin Schwidefsky:
       "A bug fix for the vdso code, the loadparm for booting from SCSI is
        added and the access permissions for the dasd module parameters are
        corrected"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/vdso: remove NULL pointer check from clock_gettime
        s390/ipl: Add missing SCSI loadparm attributes to /sys/firmware
        s390/dasd: Make module parameter visible in sysfs
      35af2561
    • V
      drm/i915: Wait for vblank before enabling the TV encoder · 7a98948f
      Ville Syrjälä 提交于
      The vblank waits in intel_tv_detect_type() are timing out for some
      reason. This is a regression caused removing seemingly useless vblank
      waits from the modeset seqeuence in:
      
       commit 56ef52ca
       Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
       Date:   Thu May 8 19:23:15 2014 +0300
      
          drm/i915: Kill vblank waits after pipe enable on gmch platforms
      
      So it turns out they weren't all entirely useless. Apparently the pipe
      has to go through one full frame before we enable the TV port. Add a
      vblank wait to intel_enable_tv() to make sure that happens.
      
      Another approach was attempted by placing the vblank wait just after
      enabling the port. The theory behind that attempt was that we need to
      let the port stay enabled for one full frame before disabling it again
      during load detection. But that didn't work, and we definitely must
      have the vblank wait before enabling the port.
      
      Cc: stable@vger.kernel.org
      Cc: Alan Bartlett <ajb@elrepo.org>
      Tested-by: NAlan Bartlett <ajb@elrepo.org>
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=79311Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
      Reviewed-by: NDaniel Vetter <daniel@ffwll.ch>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      7a98948f
    • C
      drm/i915: Evict CS TLBs between batches · c4d69da1
      Chris Wilson 提交于
      Running igt, I was encountering the invalid TLB bug on my 845g, despite
      that it was using the CS workaround. Examining the w/a buffer in the
      error state, showed that the copy from the user batch into the
      workaround itself was suffering from the invalid TLB bug (the first
      cacheline was broken with the first two words reversed). Time to try a
      fresh approach. This extends the workaround to write into each page of
      our scratch buffer in order to overflow the TLB and evict the invalid
      entries. This could be refined to only do so after we update the GTT,
      but for simplicity, we do it before each batch.
      
      I suspect this supersedes our current workaround, but for safety keep
      doing both.
      
      v2: The magic number shall be 2.
      
      This doesn't conclusively prove that it is the mythical TLB bug we've
      been trying to workaround for so long, that it requires touching a number
      of pages to prevent the corruption indicates to me that it is TLB
      related, but the corruption (the reversed cacheline) is more subtle than
      a TLB bug, where we would expect it to read the wrong page entirely.
      
      Oh well, it prevents a reliable hang for me and so probably for others
      as well.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: stable@vger.kernel.org
      Reviewed-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      c4d69da1
    • D
      drm/i915: Fix irq enable tracking in driver load · 4868b45d
      Daniel Vetter 提交于
      A bunch of warnings fire on some ->irq_postinstall hooks since those
      can enable interrupts (e.g. rps interrupts). And then our ordering
      self-checks fire and complain.
      
      To fix that set the tracking boolen before enabling the irqs with
      drm_irq_install. Quoting the discussion with Jesse why that's safe:
      
      On Tue, Aug 26, 2014 at 11:18 PM, Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
      > Yes, it might work, but if you look through the history, we set this
      > field carefully; first to true in the irq_init code, then to false only
      > after the irq_install completes.  So I think your fragility arguments
      > apply to this change too.
      
      Well we've done it in 4 commits or so, but currently we have:
      
      - Set irqs_disabled to true early in driver load to make sure checks
      that. That's done in irq_init, which is totally not the function that
      enables interrupts, only the function that initializes all the vtables
      and similar things. We actually have a fairly sane naming scheme
      nowadays (not fully consistent ofc): _init is sw setup,
      _enable/_hw_init is the actual hw setup. That is done in
      95f25bed
      
      - Set irqs_disabled to false right after the irqs are actually
      enabled. This is done in ed2e6df1
      
      So my change should only move the flag change over the ->preinstall
      and ->postinstall hooks. I've done a little audit and didn't spot
      anything amiss. Furthermore the runtime pm setup already clears
      irqs_disabled _before_ calling these two hooks.
      
      This regression has been introduced in
      
      commit ed2e6df1
      Author: Jesse Barnes <jbarnes@virtuousgeek.org>
      Date:   Fri Jun 20 09:39:36 2014 -0700
      
          drm/i915: clear pm._irqs_disabled field after installing IRQs
      
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Oliver Hartkopp <socketcan@hartkopp.net>
      Tested-by: NOliver Hartkopp <socketcan@hartkopp.net>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Tested-by: Chris Wilson <chris@chris-wilson.co.uk> # gm45, ilk
      Reviewed-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      4868b45d
    • D
      drm/i915: Fix EIO/wedged handling in gem fault handler · 2232f031
      Daniel Vetter 提交于
      In
      
      commit 1f83fee0
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Thu Nov 15 17:17:22 2012 +0100
      
          drm/i915: clear up wedged transitions
      
      I've accidentally inverted the EIO/wedged handling in the fault
      handler: We want to return the EIO as a SIGBUS only if it's not
      because of the gpu having died, to prevent userspace from unduly
      dying.
      
      In my defence the comment right above is completely misleading, so fix
      both.
      
      v2: Drop the WARN_ON, it's not actually a bug to e.g. receive an -EIO
      when swap-in fails.
      
      v3: Don't remove too much ... oops.
      Reported-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Chris Wilson <chris@chris-wilson.co.uk>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDaniel Vetter <daniel.vetter@intel.com>
      Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      2232f031
    • C
      drm/i915: Prevent recursive deadlock on releasing a busy userptr · ad46cb53
      Chris Wilson 提交于
      During release of the GEM object we hold the struct_mutex. As the
      object may be holding onto the last reference for the task->mm,
      calling mmput() may trigger exit_mmap() which close the vma
      which will call drm_gem_vm_close() and attempt to reacquire
      the struct_mutex. In order to avoid that recursion, we have
      to defer the mmput() until after we drop the struct_mutex,
      i.e. we need to schedule a worker to do the clean up. A further issue
      spotted by Tvrtko was caused when we took a GTT mmapping of a userptr
      buffer object. In that case, we would never call mmput as the object
      would be cyclically referenced by the GTT mmapping and not freed upon
      process exit - keeping the entire process mm alive after the process
      task was reaped. The fix employed is to replace the mm_users/mmput()
      reference handling to mm_count/mmdrop() for the shared i915_mm_struct.
      
         INFO: task test_surfaces:1632 blocked for more than 120 seconds.
               Tainted: GF          O 3.14.5+ #1
         "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
         test_surfaces   D 0000000000000000     0  1632   1590 0x00000082
          ffff88014914baa8 0000000000000046 0000000000000000 ffff88014914a010
          0000000000012c40 0000000000012c40 ffff8800a0058210 ffff88014784b010
          ffff88014914a010 ffff880037b1c820 ffff8800a0058210 ffff880037b1c824
         Call Trace:
          [<ffffffff81582499>] schedule+0x29/0x70
          [<ffffffff815825fe>] schedule_preempt_disabled+0xe/0x10
          [<ffffffff81583b93>] __mutex_lock_slowpath+0x183/0x220
          [<ffffffff81583c53>] mutex_lock+0x23/0x40
          [<ffffffffa005c2a3>] drm_gem_vm_close+0x33/0x70 [drm]
          [<ffffffff8115a483>] remove_vma+0x33/0x70
          [<ffffffff8115a5dc>] exit_mmap+0x11c/0x170
          [<ffffffff8104d6eb>] mmput+0x6b/0x100
          [<ffffffffa00f44b9>] i915_gem_userptr_release+0x89/0xc0 [i915]
          [<ffffffffa00e6706>] i915_gem_free_object+0x126/0x250 [i915]
          [<ffffffffa005c06a>] drm_gem_object_free+0x2a/0x40 [drm]
          [<ffffffffa005cc32>] drm_gem_object_handle_unreference_unlocked+0xe2/0x120 [drm]
          [<ffffffffa005ccd4>] drm_gem_object_release_handle+0x64/0x90 [drm]
          [<ffffffff8127ffeb>] idr_for_each+0xab/0x100
          [<ffffffffa005cc70>] ?  drm_gem_object_handle_unreference_unlocked+0x120/0x120 [drm]
          [<ffffffff81583c46>] ? mutex_lock+0x16/0x40
          [<ffffffffa005c354>] drm_gem_release+0x24/0x40 [drm]
          [<ffffffffa005b82b>] drm_release+0x3fb/0x480 [drm]
          [<ffffffff8118d482>] __fput+0xb2/0x260
          [<ffffffff8118d6de>] ____fput+0xe/0x10
          [<ffffffff8106f27f>] task_work_run+0x8f/0xf0
          [<ffffffff81052228>] do_exit+0x1a8/0x480
          [<ffffffff81052551>] do_group_exit+0x51/0xc0
          [<ffffffff810525d7>] SyS_exit_group+0x17/0x20
          [<ffffffff8158e092>] system_call_fastpath+0x16/0x1b
      
      v2: Incorporate feedback from Tvrtko and remove the unnessary mm
      referencing when creating the i915_mm_struct and improve some of the
      function names and comments.
      Reported-by: NJacek Danecki <jacek.danecki@intel.com>
      Test-case: igt/gem_userptr_blits/process-exit*
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Tested-by: N"Gong, Zhipeng" <zhipeng.gong@intel.com>
      Cc: Jacek Danecki <jacek.danecki@intel.com>
      Cc: "Ursulin, Tvrtko" <tvrtko.ursulin@intel.com>
      Reviewed-by: N"Ursulin, Tvrtko" <tvrtko.ursulin@intel.com>
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: stable@vger.kernel.org # hold off until 3.17 ships for additional testing
      Signed-off-by: NJani Nikula <jani.nikula@intel.com>
      ad46cb53
    • L
      Merge branch 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · d030671f
      Linus Torvalds 提交于
      Pull cgroup fixes from Tejun Heo:
       "This pull request includes Alban's patch to disallow '\n' in cgroup
        names.
      
        Two other patches from Li to fix a possible oops when cgroup
        destruction races against other file operations and one from Vivek to
        fix a unified hierarchy devel behavior"
      
      * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: check cgroup liveliness before unbreaking kernfs
        cgroup: delay the clearing of cgrp->kn->priv
        cgroup: Display legacy cgroup files on default hierarchy
        cgroup: reject cgroup names with '\n'
      d030671f