1. 16 Oct, 2014 5 commits
    • Nikolay Borisov's avatar
      ARM: kexec: Make .text R/W in machine_kexec · 42d720d1
      Nikolay Borisov authored
      With the introduction of Kees Cook's patch to make the kernel .text
      read-only the existing method by which kexec works got broken since it
      directly pokes some values in the template code, which resides in the
      .text section.
      
      The current patch changes the way those values are inserted so that poking
      .text section occurs only in machine_kexec (e.g when we are about to nuke
      the old kernel and are beyond the point of return). This allows to use
      set_kernel_text_rw() to directly patch the values in the .text section.
      
      I had already sent a patch which achieved this but it was significantly
      more complicated, so this is a cleaner/straight-forward approach.
      Signed-off-by: default avatarNikolay Borisov <Nikolay.Borisov@arm.com>
      Acked-by: default avatarWill Deacon <will.deacon@arm.com>
      [kees: collapsed kexec_boot_atags (will.daecon)]
      [kees: for bisectability, moved set_kernel_text_rw() to RODATA patch]
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      42d720d1
    • Rabin Vincent's avatar
      arm: use fixmap for text patching when text is RO · ab0615e2
      Rabin Vincent authored
      Use fixmaps for text patching when the kernel text is read-only,
      inspired by x86.  This makes jump labels and kprobes work with the
      currently available CONFIG_DEBUG_SET_MODULE_RONX and the upcoming
      CONFIG_DEBUG_RODATA options.
      Signed-off-by: default avatarRabin Vincent <rabin@rab.in>
      [kees: fixed up for merge with "arm: use generic fixmap.h"]
      [kees: added parse acquire/release annotations to pass C=1 builds]
      [kees: always use stop_machine to keep TLB flushing local]
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      ab0615e2
    • Kees Cook's avatar
      arm: fixmap: implement __set_fixmap() · 99b4ac9a
      Kees Cook authored
      This is used from set_fixmap() and clear_fixmap() via asm-generic/fixmap.h.
      Also makes sure that the fixmap allocation fits into the expected range.
      
      Based on patch by Rabin Vincent.
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Rabin Vincent <rabin@rab.in>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      99b4ac9a
    • Rob Herring's avatar
      ARM: expand fixmap region to 3MB · 836a2418
      Rob Herring authored
      With commit a05e54c1 ("ARM: 8031/2: change fixmap mapping region to
      support 32 CPUs"), the fixmap region was expanded to 2MB, but it
      precluded any other uses of the fixmap region. In order to support other
      uses the fixmap region needs to be expanded beyond 2MB. Fortunately, the
      adjacent 1MB range 0xffe00000-0xfff00000 is availabe.
      
      Remove fixmap_page_table ptr and lookup the page table via the virtual
      address so that the fixmap region can span more that one pmd. The 2nd
      pmd is already created since it is shared with the vector page.
      Signed-off-by: default avatarRob Herring <robh@kernel.org>
      [kees: fixed CONFIG_DEBUG_HIGHMEM get_fixmap() calls]
      [kees: moved pte allocation outside of CONFIG_HIGHMEM]
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      836a2418
    • Mark Salter's avatar
      arm: use generic fixmap.h · b615bbbf
      Mark Salter authored
      ARM is different from other architectures in that fixmap pages are indexed
      with a positive offset from FIXADDR_START.  Other architectures index with
      a negative offset from FIXADDR_TOP.  In order to use the generic fixmap.h
      definitions, this patch redefines FIXADDR_TOP to be inclusive of the
      useable range.  That is, FIXADDR_TOP is the virtual address of the topmost
      fixed page.  The newly defined FIXADDR_END is the first virtual address
      past the fixed mappings.
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      Reviewed-by: default avatarDoug Anderson <dianders@chromium.org>
      [kees: update for a05e54c1 ("ARM: 8031/2: change fixmap ...")]
      Signed-off-by: default avatarKees Cook <keescook@chromium.org>
      Cc: Laura Abbott <lauraa@codeaurora.org>
      Cc: Rob Herring <robh@kernel.org>
      Acked-by: default avatarNicolas Pitre <nico@linaro.org>
      b615bbbf
  2. 05 Oct, 2014 2 commits
  3. 04 Oct, 2014 1 commit
  4. 03 Oct, 2014 13 commits
  5. 02 Oct, 2014 19 commits
    • Linus Torvalds's avatar
      Merge branch 'akpm' (fixes from Andrew Morton) · f929d399
      Linus Torvalds authored
      Merge fixes from Andrew Morton:
       "5 fixes"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>:
        mm: page_alloc: fix zone allocation fairness on UP
        perf: fix perf bug in fork()
        MAINTAINERS: change git URL for mpc5xxx tree
        mm: memcontrol: do not iterate uninitialized memcgs
        ocfs2/dlm: should put mle when goto kill in dlm_assert_master_handler
      f929d399
    • Johannes Weiner's avatar
      mm: page_alloc: fix zone allocation fairness on UP · abe5f972
      Johannes Weiner authored
      The zone allocation batches can easily underflow due to higher-order
      allocations or spills to remote nodes.  On SMP that's fine, because
      underflows are expected from concurrency and dealt with by returning 0.
      But on UP, zone_page_state will just return a wrapped unsigned long,
      which will get past the <= 0 check and then consider the zone eligible
      until its watermarks are hit.
      
      Commit 3a025760 ("mm: page_alloc: spill to remote nodes before
      waking kswapd") already made the counter-resetting use
      atomic_long_read() to accomodate underflows from remote spills, but it
      didn't go all the way with it.
      
      Make it clear that these batches are expected to go negative regardless
      of concurrency, and use atomic_long_read() everywhere.
      
      Fixes: 81c0a2bb ("mm: page_alloc: fair zone allocator policy")
      Reported-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Reported-by: default avatarLeon Romanovsky <leon@leon.nu>
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Acked-by: default avatarMel Gorman <mgorman@suse.de>
      Cc: <stable@vger.kernel.org>	[3.12+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      abe5f972
    • Peter Zijlstra's avatar
      perf: fix perf bug in fork() · 6c72e350
      Peter Zijlstra authored
      Oleg noticed that a cleanup by Sylvain actually uncovered a bug; by
      calling perf_event_free_task() when failing sched_fork() we will not yet
      have done the memset() on ->perf_event_ctxp[] and will therefore try and
      'free' the inherited contexts, which are still in use by the parent
      process.  This is bad..
      Suggested-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reported-by: default avatarOleg Nesterov <oleg@redhat.com>
      Reported-by: default avatarSylvain 'ythier' Hitier <sylvain.hitier@gmail.com>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6c72e350
    • Anatolij Gustschin's avatar
      MAINTAINERS: change git URL for mpc5xxx tree · cba5b1c6
      Anatolij Gustschin authored
      The repository for mpc5xxx has been moved, update git URL to new
      location.
      Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cba5b1c6
    • Johannes Weiner's avatar
      mm: memcontrol: do not iterate uninitialized memcgs · 2f7dd7a4
      Johannes Weiner authored
      The cgroup iterators yield css objects that have not yet gone through
      css_online(), but they are not complete memcgs at this point and so the
      memcg iterators should not return them.  Commit d8ad3055 ("mm/memcg:
      iteration skip memcgs not yet fully initialized") set out to implement
      exactly this, but it uses CSS_ONLINE, a cgroup-internal flag that does
      not meet the ordering requirements for memcg, and so the iterator may
      skip over initialized groups, or return partially initialized memcgs.
      
      The cgroup core can not reasonably provide a clear answer on whether the
      object around the css has been fully initialized, as that depends on
      controller-specific locking and lifetime rules.  Thus, introduce a
      memcg-specific flag that is set after the memcg has been initialized in
      css_online(), and read before mem_cgroup_iter() callers access the memcg
      members.
      Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Tejun Heo <tj@kernel.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.cz>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: <stable@vger.kernel.org>	[3.12+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f7dd7a4
    • alex chen's avatar
      ocfs2/dlm: should put mle when goto kill in dlm_assert_master_handler · 55dacd22
      alex chen authored
      In dlm_assert_master_handler, the mle is get in dlm_find_mle, should be
      put when goto kill, otherwise, this mle will never be released.
      Signed-off-by: default avatarAlex Chen <alex.chen@huawei.com>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@huawei.com>
      Reviewed-by: default avatarjoyce.xue <xuejiufei@huawei.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      55dacd22
    • Linus Torvalds's avatar
      Merge tag 'media/v3.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · b601ce0f
      Linus Torvalds authored
      Pull media fix from Mauro Carvalho Chehab:
       "One last time regression fix at em28xx.  The removal of .reset_resume
        broke suspend/resume on this driver for some devices.
      
        There are more fixes to be done for em28xx suspend/resume to be better
        handled, but I'm opting to let them to stay for a while at the media
        devel tree, in order to get more tests.  So, for now, let's just
        revert this patch"
      
      * tag 'media/v3.17-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
        Revert "[media] media: em28xx - remove reset_resume interface"
      b601ce0f
    • Steven Rostedt (Red Hat)'s avatar
      ring-buffer: Fix infinite spin in reading buffer · 24607f11
      Steven Rostedt (Red Hat) authored
      Commit 651e22f2 "ring-buffer: Always reset iterator to reader page"
      fixed one bug but in the process caused another one. The reset is to
      update the header page, but that fix also changed the way the cached
      reads were updated. The cache reads are used to test if an iterator
      needs to be updated or not.
      
      A ring buffer iterator, when created, disables writes to the ring buffer
      but does not stop other readers or consuming reads from happening.
      Although all readers are synchronized via a lock, they are only
      synchronized when in the ring buffer functions. Those functions may
      be called by any number of readers. The iterator continues down when
      its not interrupted by a consuming reader. If a consuming read
      occurs, the iterator starts from the beginning of the buffer.
      
      The way the iterator sees that a consuming read has happened since
      its last read is by checking the reader "cache". The cache holds the
      last counts of the read and the reader page itself.
      
      Commit 651e22f2 changed what was saved by the cache_read when
      the rb_iter_reset() occurred, making the iterator never match the cache.
      Then if the iterator calls rb_iter_reset(), it will go into an
      infinite loop by checking if the cache doesn't match, doing the reset
      and retrying, just to see that the cache still doesn't match! Which
      should never happen as the reset is suppose to set the cache to the
      current value and there's locks that keep a consuming reader from
      having access to the data.
      
      Fixes: 651e22f2 "ring-buffer: Always reset iterator to reader page"
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      24607f11
    • Linus Torvalds's avatar
      Merge branch 'parisc-3.17-8' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 80ec7ce7
      Linus Torvalds authored
      Pull parisc fix from Helge Deller:
       "One late but trivial patch to fix the serial console on parisc
        machines which got broken during the 3.17 release cycle"
      
      * 'parisc-3.17-8' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Fix serial console for machines with serial port on superio chip
      80ec7ce7
    • Pavel Shilovsky's avatar
      CIFS: Fix readpages retrying on reconnects · 1209bbdf
      Pavel Shilovsky authored
      If we got a reconnect error from async readv we re-add pages back
      to page_list and continue loop. That is wrong because these pages
      have been already added to the pagecache but page_list has pages that
      have not been added to the pagecache yet. This ends up with a general
      protection fault in put_pages after readpages. Fix it by not retrying
      the read of these pages and falling back to readpage instead.
      
      Fixes debian bug 762306
      Signed-off-by: default avatarPavel Shilovsky <pshilovsky@samba.org>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      Tested-by: default avatarArthur Marsh <arthur.marsh@internode.on.net>
      1209bbdf
    • Steve French's avatar
      Fix problem recognizing symlinks · 19e81573
      Steve French authored
      Changeset eb85d94b introduced a problem where if a cifs open
      fails during query info of a file we
      will still try to close the file (happens with certain types
      of reparse points) even though the file handle is not valid.
      
      In addition for SMB2/SMB3 we were not mapping the return code returned
      by Windows when trying to open a file (like a Windows NFS symlink)
      which is a reparse point.
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      Reviewed-by: default avatarPavel Shilovsky <pshilovsky@samba.org>
      CC: stable <stable@vger.kernel.org> #v3.13+
      19e81573
    • Linus Torvalds's avatar
      Merge branch 'numa-migration-fixes' (fixes from Mel Gorman) · f9220c23
      Linus Torvalds authored
      Merge NUMA balancing related fixlets from Mel Gorman:
       "There were a few minor changes so am resending just the two patches
        that are mostly likely to affect the bug Dave and Sasha saw and marked
        them for stable.
      
        I'm less confident it will address Sasha's problem because while I
        have not kept up to date, I believe he's also seeing memory corruption
        issues in next from an unknown source.  Still, it would be nice to see
        how they affect trinity testing.
      
        I'll send the MPOL_MF_LAZY patch separately because it's not urgent"
      
      * emailed patches from Mel Gorman <mgorman@suse.de>:
        mm: numa: Do not mark PTEs pte_numa when splitting huge pages
        mm: migrate: Close race between migration completion and mprotect
      f9220c23
    • Mel Gorman's avatar
      mm: numa: Do not mark PTEs pte_numa when splitting huge pages · abc40bd2
      Mel Gorman authored
      This patch reverts 1ba6e0b5 ("mm: numa: split_huge_page: transfer the
      NUMA type from the pmd to the pte"). If a huge page is being split due
      a protection change and the tail will be in a PROT_NONE vma then NUMA
      hinting PTEs are temporarily created in the protected VMA.
      
       VM_RW|VM_PROTNONE
      |-----------------|
            ^
            split here
      
      In the specific case above, it should get fixed up by change_pte_range()
      but there is a window of opportunity for weirdness to happen. Similarly,
      if a huge page is shrunk and split during a protection update but before
      pmd_numa is cleared then a pte_numa can be left behind.
      
      Instead of adding complexity trying to deal with the case, this patch
      will not mark PTEs NUMA when splitting a huge page. NUMA hinting faults
      will not be triggered which is marginal in comparison to the complexity
      in dealing with the corner cases during THP split.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Acked-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      abc40bd2
    • Mel Gorman's avatar
      mm: migrate: Close race between migration completion and mprotect · d3cb8bf6
      Mel Gorman authored
      A migration entry is marked as write if pte_write was true at the time the
      entry was created. The VMA protections are not double checked when migration
      entries are being removed as mprotect marks write-migration-entries as
      read. It means that potentially we take a spurious fault to mark PTEs write
      again but it's straight-forward. However, there is a race between write
      migrations being marked read and migrations finishing. This potentially
      allows a PTE to be write that should have been read. Close this race by
      double checking the VMA permissions using maybe_mkwrite when migration
      completes.
      
      [torvalds@linux-foundation.org: use maybe_mkwrite]
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
      Acked-by: default avatarRik van Riel <riel@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d3cb8bf6
    • Linus Torvalds's avatar
      Merge tag 'sound-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 7575e4d5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Just a few pending bits of random fixes in ASoC.  Nothing exciting,
        but would be nice to be merged in 3.17, as most of them are also for
        stable kernels"
      
      * tag 'sound-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: ssm2602: do not hardcode type to SSM2602
        ASoC: core: fix possible ZERO_SIZE_PTR pointer dereferencing error.
        MAINTAINERS: add atmel audio alsa driver maintainer entry
        ASoC: rt286: Fix sync function
        ASoC: rt286: Correct default value
        ASoC: soc-compress: fix double unlock of fe card mutex
        ASoC: fsl_ssi: fix kernel panic in probe function
      7575e4d5
    • Dave Airlie's avatar
      Merge branch 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes · 19318c06
      Dave Airlie authored
      A few regression fixes, the runpm ones dating back to 3.15.  Also a fairly severe TMDS regression that effected a lot of GF8/9/GT2xx users.
      
      * 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6:
        drm/nouveau: make sure display hardware is reinitialised on runtime resume
        drm/nouveau: punt fbcon resume out to a workqueue
        drm/nouveau: fix regression on original nv50 board
        drm/nv50/disp: fix dpms regression on certain boards
      19318c06
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 50dddff3
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) Don't halt the firmware in r8152 driver, from Hayes Wang.
      
       2) Handle full sized 802.1ad frames in bnx2 and tg3 drivers properly,
          from Vlad Yasevich.
      
       3) Don't sleep while holding tx_clean_lock in netxen driver, fix from
          Manish Chopra.
      
       4) Certain kinds of ipv6 routes can end up endlessly failing the route
          validation test, causing it to be re-looked up over and over again.
          This particularly kills input route caching in TCP sockets.  Fix
          from Hannes Frederic Sowa.
      
       5) netvsc_start_xmit() has a use-after-free access to skb->len, fix
          from K Y Srinivasan.
      
       6) Fix matching of inverted containers in ematch module, from Ignacy
          Gawędzki.
      
       7) Aggregation of GRO frames via SKB ->frag_list for linear skbs isn't
          handled properly, regression fix from Eric Dumazet.
      
       8) Don't test return value of ipv4_neigh_lookup(), which returns an
          error pointer, against NULL.  From WANG Cong.
      
       9) Fix an old regression where we mistakenly allow a double add of the
          same tunnel.  Fixes from Steffen Klassert.
      
      10) macvtap device delete and open can run in parallel and corrupt lists
          etc., fix from Vlad Yasevich.
      
      11) Fix build error with IPV6=m NETFILTER_XT_TARGET_TPROXY=y, from Pablo
          Neira Ayuso.
      
      12) rhashtable_destroy() triggers lockdep splats, fix also from Pablo.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)
        bna: Update Maintainer Email
        r8152: disable power cut for RTL8153
        r8152: remove clearing bp
        bnx2: Correctly receive full sized 802.1ad fragmes
        tg3: Allow for recieve of full-size 8021AD frames
        r8152: fix setting RTL8152_UNPLUG
        netxen: Fix bug in Tx completion path.
        netxen: Fix BUG "sleeping function called from invalid context"
        ipv6: remove rt6i_genid
        hyperv: Fix a bug in netvsc_start_xmit()
        net: stmmac: fix stmmac_pci_probe failed when CONFIG_HAVE_CLK is selected
        ematch: Fix matching of inverted containers.
        gro: fix aggregation for skb using frag_list
        neigh: check error pointer instead of NULL for ipv4_neigh_lookup()
        ip6_gre: Return an error when adding an existing tunnel.
        ip6_vti: Return an error when adding an existing tunnel.
        ip6_tunnel: Return an error when adding an existing tunnel.
        ip6gre: add a rtnl link alias for ip6gretap
        net/mlx4_core: Allow not to specify probe_vf in SRIOV IB mode
        r8152: fix the carrier off when autoresuming
        ...
      50dddff3
    • NeilBrown's avatar
      md/raid5: disable 'DISCARD' by default due to safety concerns. · 8e0e99ba
      NeilBrown authored
      It has come to my attention (thanks Martin) that 'discard_zeroes_data'
      is only a hint.  Some devices in some cases don't do what it
      says on the label.
      
      The use of DISCARD in RAID5 depends on reads from discarded regions
      being predictably zero.  If a write to a previously discarded region
      performs a read-modify-write cycle it assumes that the parity block
      was consistent with the data blocks.  If all were zero, this would
      be the case.  If some are and some aren't this would not be the case.
      This could lead to data corruption after a device failure when
      data needs to be reconstructed from the parity.
      
      As we cannot trust 'discard_zeroes_data', ignore it by default
      and so disallow DISCARD on all raid4/5/6 arrays.
      
      As many devices are trustworthy, and as there are benefits to using
      DISCARD, add a module parameter to over-ride this caution and cause
      DISCARD to work if discard_zeroes_data is set.
      
      If a site want to enable DISCARD on some arrays but not on others they
      should select DISCARD support at the filesystem level, and set the
      raid456 module parameter.
          raid456.devices_handle_discard_safely=Y
      
      As this is a data-safety issue, I believe this patch is suitable for
      -stable.
      DISCARD support for RAID456 was added in 3.7
      
      Cc: Shaohua Li <shli@kernel.org>
      Cc: "Martin K. Petersen" <martin.petersen@oracle.com>
      Cc: Mike Snitzer <snitzer@redhat.com>
      Cc: Heinz Mauelshagen <heinzm@redhat.com>
      Cc: stable@vger.kernel.org (3.7+)
      Acked-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
      Acked-by: default avatarMike Snitzer <snitzer@redhat.com>
      Fixes: 620125f2Signed-off-by: default avatarNeilBrown <neilb@suse.de>
      8e0e99ba
    • Ben Skeggs's avatar
      drm/nouveau: make sure display hardware is reinitialised on runtime resume · 6fbb702e
      Ben Skeggs authored
      Linus commit 05c63c2f modified the
      runtime suspend/resume paths to skip over display-related tasks to
      avoid locking issues on resume.
      
      Unfortunately, this resulted in the display hardware being left in
      a partially initialised state, preventing subsequent modesets from
      completing.
      
      This commit unifies the (many) suspend/resume paths, bringing back
      display (and fbcon) handling in the runtime paths.
      Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
      6fbb702e