Skip to content
  1. May 08, 2013
  2. May 02, 2013
  3. Apr 15, 2013
    • Linus Torvalds's avatar
      Linux 3.9-rc7 · 41ef2d56
      Linus Torvalds authored
      v3.9-rc7
      41ef2d56
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6c4c4d4b
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Flush lazy MMU when DEBUG_PAGEALLOC is set
        x86/mm/cpa/selftest: Fix false positive in CPA self test
        x86/mm/cpa: Convert noop to functional fix
        x86, mm: Patch out arch_flush_lazy_mmu_mode() when running on bare metal
        x86, mm, paravirt: Fix vmalloc_fault oops during lazy MMU updates
      6c4c4d4b
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · af788e35
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Misc fixlets"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/cputime: Fix accounting on multi-threaded processes
        sched/debug: Fix sd->*_idx limit range avoiding overflow
        sched_clock: Prevent 64bit inatomicity on 32bit systems
        sched: Convert BUG_ON()s in try_to_wake_up_local() to WARN_ON_ONCE()s
      af788e35
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ae9f4939
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Misc fixlets"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf: Fix error return code
        ftrace: Fix strncpy() use, use strlcpy() instead of strncpy()
        perf: Fix strncpy() use, use strlcpy() instead of strncpy()
        perf: Fix strncpy() use, always make sure it's NUL terminated
        perf: Fix ring_buffer perf_output_space() boundary calculation
        perf/x86: Fix uninitialized pt_regs in intel_pmu_drain_bts_buffer()
      ae9f4939
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 93263e52
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "One fix for a hotplug locking regressions, and one fix for an oops if
        you unplug the monitor at an inopportune moment on the udl device."
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/fb-helper: Fix locking in drm_fb_helper_hotplug_event
        udl: handle EDID failure properly.
      93263e52
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · ba3b7d82
      Linus Torvalds authored
      Pull m68knommu fix from Greg Ungerer:
       "This contains only a single compilation fix for ColdFire m68k targets
        that use local non-GPIOLIB support."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: define a local gpio_request_one() function
      ba3b7d82
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 4f9a197c
      Linus Torvalds authored
      Pull watchdog fix from Wim Van Sebroeck:
       "It will fix compile errors for the at91rm9200_wdt driver"
      
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: Revert the AT91RM9200_WATCHDOG dependency
      4f9a197c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 3792a64f
      Linus Torvalds authored
      Pull one more btrfs fix from Chris Mason:
       "This has a recent fix from Josef for our tree log replay code.  It
        fixes problems where the inode counter for the number of bytes in the
        file wasn't getting updated properly during fsync replay.
      
        The commit did get rebased this morning, but it was only to clean up
        the subject line.  The code hasn't changed."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        Btrfs: make sure nbytes are right after log replay
      3792a64f
    • Linus Torvalds's avatar
      Merge tag 'trace-fixes-v3.9-rc-v3' of... · 3c91930f
      Linus Torvalds authored
      Merge tag 'trace-fixes-v3.9-rc-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace
      
      Pull ftrace fixes from Steven Rostedt:
       "Namhyung Kim found and fixed a bug that can crash the kernel by simply
        doing: echo 1234 | tee -a /sys/kernel/debug/tracing/set_ftrace_pid
      
        Luckily, this can only be done by root, but still is a nasty bug."
      
      * tag 'trace-fixes-v3.9-rc-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section
        tracing: Fix possible NULL pointer dereferences
      3c91930f
    • Linus Torvalds's avatar
      Add file_ns_capable() helper function for open-time capability checking · 935d8aab
      Linus Torvalds authored
      
      
      Nothing is using it yet, but this will allow us to delay the open-time
      checks to use time, without breaking the normal UNIX permission
      semantics where permissions are determined by the opener (and the file
      descriptor can then be passed to a different process, or the process can
      drop capabilities).
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      935d8aab
  4. Apr 14, 2013
    • Nicolas Ferre's avatar
      watchdog: Revert the AT91RM9200_WATCHDOG dependency · 09549cd0
      Nicolas Ferre authored
      Compiling the at91rm9200_wdt.c driver without at91rm9200
      support was leading to several errors:
      
      drivers/built-in.o: In function `at91_wdt_close':
      at91_adc.c:(.text+0xc9fe4): undefined reference to `at91_st_base'
      drivers/built-in.o: In function `at91_wdt_write':
      at91_adc.c:(.text+0xca004): undefined reference to `at91_st_base'
      drivers/built-in.o: In function `at91wdt_shutdown':
      at91_adc.c:(.text+0xca01c): undefined reference to `at91_st_base'
      drivers/built-in.o: In function `at91wdt_suspend':
      at91_adc.c:(.text+0xca038): undefined reference to `at91_st_base'
      drivers/built-in.o: In function `at91_wdt_open':
      at91_adc.c:(.text+0xca0cc): undefined reference to `at91_st_base'
      drivers/built-in.o:at91_adc.c:(.text+0xca2c8): more undefined references to
      `at91_st_base' follow
      
      So, reverting the modification of the "depends" Kconfig line
      introduced by patch a6a1bcd3
      
       (watchdog: at91rm9200: add DT support)
      seems to be the good solution.
      
      Signed-off-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
      Acked-by: default avatarGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      09549cd0
    • Suleiman Souhlal's avatar
      vfs: Revert spurious fix to spinning prevention in prune_icache_sb · 5b55d708
      Suleiman Souhlal authored
      Revert commit 62a3ddef
      
       ("vfs: fix spinning prevention in prune_icache_sb").
      
      This commit doesn't look right: since we are looking at the tail of the
      list (sb->s_inode_lru.prev) if we want to skip an inode, we should put
      it back at the head of the list instead of the tail, otherwise we will
      keep spinning on it.
      
      Discovered when investigating why prune_icache_sb came top in perf
      reports of a swapping load.
      
      Signed-off-by: default avatarSuleiman Souhlal <suleiman@google.com>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Cc: stable@vger.kernel.org # v3.2+
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5b55d708
    • Linus Torvalds's avatar
      kobject: fix kset_find_obj() race with concurrent last kobject_put() · a49b7e82
      Linus Torvalds authored
      Anatol Pomozov identified a race condition that hits module unloading
      and re-loading.  To quote Anatol:
      
       "This is a race codition that exists between kset_find_obj() and
        kobject_put().  kset_find_obj() might return kobject that has refcount
        equal to 0 if this kobject is freeing by kobject_put() in other
        thread.
      
        Here is timeline for the crash in case if kset_find_obj() searches for
        an object tht nobody holds and other thread is doing kobject_put() on
        the same kobject:
      
          THREAD A (calls kset_find_obj())     THREAD B (calls kobject_put())
          splin_lock()
                                               atomic_dec_return(kobj->kref), counter gets zero here
                                               ... starts kobject cleanup ....
                                               spin_lock() // WAIT thread A in kobj_kset_leave()
          iterate over kset->list
          atomic_inc(kobj->kref) (counter becomes 1)
          spin_unlock()
                                               spin_lock() // taken
                                               // it does not know that thread A increased counter so it
                                               remove obj from list
                                               spin_unlock()
                                               vfree(module) // frees module object with containing kobj
      
          // kobj points to freed memory area!!
          kobject_put(kobj) // OOPS!!!!
      
        The race above happens because module.c tries to use kset_find_obj()
        when somebody unloads module.  The module.c code was introduced in
        commit 6494a93d
      
      "
      
      Anatol supplied a patch specific for module.c that worked around the
      problem by simply not using kset_find_obj() at all, but rather than make
      a local band-aid, this just fixes kset_find_obj() to be thread-safe
      using the proper model of refusing the get a new reference if the
      refcount has already dropped to zero.
      
      See examples of this proper refcount handling not only in the kref
      documentation, but in various other equivalent uses of this pattern by
      grepping for atomic_inc_not_zero().
      
      [ Side note: the module race does indicate that module loading and
        unloading is not properly serialized wrt sysfs information using the
        module mutex.  That may require further thought, but this is the
        correct fix at the kobject layer regardless. ]
      
      Reported-analyzed-and-tested-by: default avatarAnatol Pomozov <anatol.pomozov@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a49b7e82
  5. Apr 13, 2013
    • Josef Bacik's avatar
      Btrfs: make sure nbytes are right after log replay · 4bc4bee4
      Josef Bacik authored
      
      
      While trying to track down a tree log replay bug I noticed that fsck was always
      complaining about nbytes not being right for our fsynced file.  That is because
      the new fsync stuff doesn't wait for ordered extents to complete, so the inodes
      nbytes are not necessarily updated properly when we log it.  So to fix this we
      need to set nbytes to whatever it is on the inode that is on disk, so when we
      replay the extents we can just add the bytes that are being added as we replay
      the extent.  This makes it work for the case that we have the wrong nbytes or
      the case that we logged everything and nbytes is actually correct.  With this
      I'm no longer getting nbytes errors out of btrfsck.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
      Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
      4bc4bee4
    • Dave Hansen's avatar
      x86-32: Fix possible incomplete TLB invalidate with PAE pagetables · 1de14c3c
      Dave Hansen authored
      This patch attempts to fix:
      
      	https://bugzilla.kernel.org/show_bug.cgi?id=56461
      
      The symptom is a crash and messages like this:
      
      	chrome: Corrupted page table at address 34a03000
      	*pdpt = 0000000000000000 *pde = 0000000000000000
      	Bad pagetable: 000f [#1] PREEMPT SMP
      
      Ingo guesses this got introduced by commit 611ae8e3
      
       ("x86/tlb:
      enable tlb flush range support for x86") since that code started to free
      unused pagetables.
      
      On x86-32 PAE kernels, that new code has the potential to free an entire
      PMD page and will clear one of the four page-directory-pointer-table
      (aka pgd_t entries).
      
      The hardware aggressively "caches" these top-level entries and invlpg
      does not actually affect the CPU's copy.  If we clear one we *HAVE* to
      do a full TLB flush, otherwise we might continue using a freed pmd page.
      (note, we do this properly on the population side in pud_populate()).
      
      This patch tracks whenever we clear one of these entries in the 'struct
      mmu_gather', and ensures that we follow up with a full tlb flush.
      
      BTW, I disassembled and checked that:
      
      	if (tlb->fullmm == 0)
      and
      	if (!tlb->fullmm && !tlb->need_flush_all)
      
      generate essentially the same code, so there should be zero impact there
      to the !PAE case.
      
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Cc: Peter Anvin <hpa@zytor.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Artem S Tashkinov <t.artem@mailcity.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1de14c3c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · bf81710c
      Linus Torvalds authored
      Pull SCSI target fixes from Nicholas Bellinger:
       "Here are remaining target-pending items for v3.9-rc7 code.
      
        The tcm_vhost patches are more than I'd usually include in a -rc7
        pull, but are changes required for v3.9 to work correctly with the
        pending vhost-scsi-pci QEMU upstream series merge.  (Paolo CC'ed)
      
        Plus Asias's conversion to use vhost_virtqueue->private_data + RCU for
        managing vhost-scsi endpoints has gotten alot of review + testing over
        the past weeks, and MST has ACKed the full series.
      
        Also, there is a target patch to fix a long-standing bug within
        control CDB handling with Standby/Offline/Transition ALUA port access
        states, that had been incorrectly rejecting the control CDBs required
        for LUN scan to work during these port group states.  CC'ing to
        stable."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        target: Fix incorrect fallthrough of ALUA Standby/Offline/Transition CDBs
        tcm_vhost: Send bad target to guest when cmd fails
        tcm_vhost: Add vhost_scsi_send_bad_target() helper
        tcm_vhost: Fix tv_cmd leak in vhost_scsi_handle_vq
        tcm_vhost: Remove double check of response
        tcm_vhost: Initialize vq->last_used_idx when set endpoint
        tcm_vhost: Use vq->private_data to indicate if the endpoint is setup
        tcm_vhost: Use ACCESS_ONCE for vs->vs_tpg[target] access
      bf81710c
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 90f340e2
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of ten bug fixes (and two consisting of copyright year
        update and version number change) pretty much all of which involve
        either a crash or a hang except the removal of the random sleep from
        the qla2xxx driver (which is a coding error so bad, we want it gone
        before anyone has a chance to copy it)."
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] lpfc: fix potential NULL pointer dereference in lpfc_sli4_rq_put()
        [SCSI] libsas: fix handling vacant phy in sas_set_ex_phy()
        [SCSI] ibmvscsi: Fix slave_configure deadlock
        [SCSI] qla2xxx: Update the driver version to 8.04.00.13-k.
        [SCSI] qla2xxx: Remove debug code that msleeps for random duration.
        [SCSI] qla2xxx: Update copyright dates information in LICENSE.qla2xxx file.
        [SCSI] qla2xxx: Fix crash during firmware dump procedure.
        [SCSI] Revert "qla2xxx: Add setting of driver version string for vendor application."
        [SCSI] ipr: dlpar failed when adding an adapter back
        [SCSI] ipr: fix addition of abort command to HRRQ free queue
        [SCSI] st: Take additional queue ref in st_probe
        [SCSI] libsas: use right function to alloc smp response
        [SCSI] ipr: ipr_test_msi() fails when running with msi-x enabled adapter
      90f340e2
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · 0b1fd266
      Linus Torvalds authored
      Pull CIFS fix from Steve French:
       "Fixes a regression in cifs in which a password which begins with a
        comma is parsed incorrectly as a blank password"
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: Allow passwords which begin with a delimitor
      0b1fd266
    • Steven Rostedt (Red Hat)'s avatar
      ftrace: Move ftrace_filter_lseek out of CONFIG_DYNAMIC_FTRACE section · 7f49ef69
      Steven Rostedt (Red Hat) authored
      
      
      As ftrace_filter_lseek is now used with ftrace_pid_fops, it needs to
      be moved out of the #ifdef CONFIG_DYNAMIC_FTRACE section as the
      ftrace_pid_fops is defined when DYNAMIC_FTRACE is not.
      
      Cc: stable@vger.kernel.org
      Cc: Namhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      7f49ef69
    • Namhyung Kim's avatar
      tracing: Fix possible NULL pointer dereferences · 6a76f8c0
      Namhyung Kim authored
      
      
      Currently set_ftrace_pid and set_graph_function files use seq_lseek
      for their fops.  However seq_open() is called only for FMODE_READ in
      the fops->open() so that if an user tries to seek one of those file
      when she open it for writing, it sees NULL seq_file and then panic.
      
      It can be easily reproduced with following command:
      
        $ cd /sys/kernel/debug/tracing
        $ echo 1234 | sudo tee -a set_ftrace_pid
      
      In this example, GNU coreutils' tee opens the file with fopen(, "a")
      and then the fopen() internally calls lseek().
      
      Link: http://lkml.kernel.org/r/1365663302-2170-1-git-send-email-namhyung@kernel.org
      
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      6a76f8c0
  6. Apr 12, 2013
    • Linus Torvalds's avatar
      Merge tag 'sound-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6074fffb
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "This contains a few small ASoC fixes (wm8903, wm5102, samsung-i2s,
        tegra, and soc-compress) and an endian fix for NI USB-audio devices,
        update for Mark's e-mail address.
      
        No scary changes, AFAIS."
      
      * tag 'sound-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        MAINTAINERS: Update e-mail address
        ASoC: wm5102: Correct lookup of arizona struct in SYSCLK event
        ASoC: wm8903: Fix the bypass to HP/LINEOUT when no DAC or ADC is running
        ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_*
        ASoC: tegra: Don't claim to support PCM pause and resume
        ASoC: Samsung: set drvdata before adding secondary device
        ASoC: Samsung: return error if drvdata is not set
        ASoC: compress: Cancel delayed power down if needed
        ASoC: core: Fix to check return value of snd_soc_update_bits_locked()
      6074fffb
    • Takashi Iwai's avatar
      Merge tag 'asoc-maintainers-v3.9-rc6' of... · c5a4698d
      Takashi Iwai authored
      Merge tag 'asoc-maintainers-v3.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      MAINTAINERS: Update e-mail address
      
      Update the e-mail address I use for subsystems.
      c5a4698d
    • Mark Brown's avatar
      MAINTAINERS: Update e-mail address · b02e48f2
      Mark Brown authored
      
      
      Update the e-mail address I use for subsystems.
      
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      b02e48f2
    • Takashi Iwai's avatar
      Merge tag 'asoc-v3.9-rc6' of... · 232a73dd
      Takashi Iwai authored
      Merge tag 'asoc-v3.9-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
      
      ASoC: Updates for v3.9
      
      A few updates, more than I'd like, fixing some relatively small issues
      but mostly driver specific ones.  Nothing wildly exciting so if it
      doesn't make v3.9 it won't be the end of the world but it'd be nice.
      232a73dd
    • Boris Ostrovsky's avatar
      x86/mm: Flush lazy MMU when DEBUG_PAGEALLOC is set · 26564600
      Boris Ostrovsky authored
      
      
      When CONFIG_DEBUG_PAGEALLOC is set page table updates made by
      kernel_map_pages() are not made visible (via TLB flush)
      immediately if lazy MMU is on. In environments that support lazy
      MMU (e.g. Xen) this may lead to fatal page faults, for example,
      when zap_pte_range() needs to allocate pages in
      __tlb_remove_page() -> tlb_next_batch().
      
      Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
      Cc: konrad.wilk@oracle.com
      Link: http://lkml.kernel.org/r/1365703192-2089-1-git-send-email-boris.ostrovsky@oracle.com
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      26564600
    • Andrea Arcangeli's avatar
      x86/mm/cpa/selftest: Fix false positive in CPA self test · 18699739
      Andrea Arcangeli authored
      
      
      If the pmd is not present, _PAGE_PSE will not be set anymore.
      Fix the false positive.
      
      Reported-by: default avatarIngo Molnar <mingo@kernel.org>
      Signed-off-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
      Cc: Stefan Bader <stefan.bader@canonical.com>
      Cc: Andy Whitcroft <apw@canonical.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Borislav Petkov <bp@alien8.de>
      Link: http://lkml.kernel.org/r/1365687369-30802-1-git-send-email-aarcange@redhat.com
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      18699739
    • Wei Yongjun's avatar
      perf: Fix error return code · c4814202
      Wei Yongjun authored
      
      
      Fix to return -ENOMEM in the allocation error case instead of 0
      (if pmu_bus_running == 1), as done elsewhere in this function.
      
      Signed-off-by: default avatarWei Yongjun <yongjun_wei@trendmicro.com.cn>
      Cc: a.p.zijlstra@chello.nl
      Cc: paulus@samba.org
      Cc: acme@ghostprotocols.net
      Link: http://lkml.kernel.org/r/CAPgLHd8j_fWcgqe%3DKLWjpBj%2B%3Do0Pw6Z-SEq%3DNTPU08c2w1tngQ@mail.gmail.com
      [ Tweaked the error code setting placement and the changelog. ]
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      c4814202
    • Daniel Vetter's avatar
      drm/fb-helper: Fix locking in drm_fb_helper_hotplug_event · 89ced125
      Daniel Vetter authored
      
      
      Driver's and ->fill_modes functions are allowed to grab crtc mutexes
      (for e.g. load detect). Hence we need to first only grab the general
      kms mutex, and only in a second step grab all locks to do the
      modesets.
      
      This prevents a deadlock on my gm45 in the tv load detect code called
      by drm_helper_probe_single_connector_modes.
      
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      89ced125