1. 18 Mar, 2014 4 commits
    • Dave Airlie's avatar
      Merge tag 'v3.14-rc7' into drm-next · bcc298bc
      Dave Airlie authored
      Linux 3.14-rc7
      
      Backmerge to help out Intel guys.
      bcc298bc
    • Dave Airlie's avatar
      Merge branch 'drm-docs' of ssh://people.freedesktop.org/~danvet/drm into drm-next · 978c6050
      Dave Airlie authored
      Here's my drm documentation update and driver api polish pull request.
      Alex reviewed the entire pile, I've applied a little bit of spelling
      polish in a few places since then and otherwise the Usual Suspects (David,
      Rob, ...) don't seem up to have another look at it (I've poked them on
      irc). So I think it's as good as it gets ;-)
      
      Note that I've dropped the final imx breaker patch since that's blocked on
      imx getting sane. Once that's landed I'll ping you to pick up that
      straggler.
      
      * 'drm-docs' of ssh://people.freedesktop.org/~danvet/drm: (34 commits)
        drm/imx: remove drm_mode_connector_detach_encoder harder
        drm: kerneldoc polish for drm_crtc.c
        drm: kerneldoc polish for drm_crtc_helper.c
        drm: drop error code for drm_helper_resume_force_mode
        drm/crtc-helper: remove LOCKING from kerneldoc
        drm: remove return value from drm_helper_mode_fill_fb_struct
        drm/doc: Fix misplaced </para>
        drm: remove drm_display_mode->private_size
        drm: polish function kerneldoc for drm_modes.[hc]
        drm/modes: drop maxPitch from drm_mode_validate_size
        drm/modes: drop return value from drm_display_mode_from_videomode
        drm/modes: remove drm_mode_height/width
        drm: extract drm_modes.h for drm_crtc.h functions
        drm: move drm_mode related functions into drm_modes.c
        drm/doc: Repleace LOCKING kerneldoc sections in drm_modes.c
        drm/doc: Integrate drm_modes.c kerneldoc
        drm/kms: rip out drm_mode_connector_detach_encoder
        drm/doc: Add function reference documentation for drm_mm.c
        drm/doc: Overview documentation for drm_mm.c
        drm/mm: Remove MM_UNUSED_TARGET
        ...
      978c6050
    • Dave Airlie's avatar
      Merge branch 'drm-intel-next' of git://git.freedesktop.org/git/drm-intel into drm-next · 8ad2bc97
      Dave Airlie authored
      - fine-grained display power domains for byt (Imre)
      - runtime pm prep patches for !hsw from Paulo
      - WiZ hashing flag updates from Ville
      - ppgtt setup cleanup and enabling of full 4G range on bdw (Ben)
      - fixes from Jesse for the inherited intial config code
      - gpu reset code improvements from Mika
      - per-pipe num_planes refactoring from Damien
      - stability fixes around bdw forcewake handling and other bdw w/a from Mika
        Ken
      - and as usual a pile of smaller fixes all over
      
      * 'drm-intel-next' of git://git.freedesktop.org/git/drm-intel: (107 commits)
        drm/i915: Go OCD on the Makefile
        drm/i915: Implement command buffer parsing logic
        drm/i915: Refactor shmem pread setup
        drm/i915: Avoid div by zero when pixel clock is large
        drm/i915: power domains: add vlv power wells
        drm/i915: factor out intel_set_cpu_fifo_underrun_reporting_nolock
        drm/i915: vlv: factor out valleyview_display_irq_install
        drm/i915: sanity check power well sw state against hw state
        drm/i915: factor out reset_vblank_counter
        drm/i915: sanitize PUNIT register macro definitions
        drm/i915: vlv: keep first level vblank IRQs masked
        drm/i915: check pipe power domain when reading its hw state
        drm/i915: check port power domain when reading the encoder hw state
        drm/i915: get port power domain in connector detect handlers
        drm/i915: add port power domains
        drm/i915: add noop power well handlers instead of NULL checking them
        drm/i915: split power well 'set' handler to separate enable/disable/sync_hw
        drm/i915: add init power domain to always-on power wells
        drm/i915: move power domain macros to intel_pm.c
        drm/i915: Disable full ppgtt by default
        ...
      8ad2bc97
    • Daniel Vetter's avatar
      Merge remote-tracking branch 'airlied/drm-next' into drm-intel-next · e19b9137
      Daniel Vetter authored
      Conflicts:
      	drivers/gpu/drm/i915/Makefile
      
      Makefile cleanup in drm-intel-next conflicts with a build-fix to move
      intel_opregion under CONFIG_ACPI.
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      e19b9137
  2. 17 Mar, 2014 3 commits
    • Dave Airlie's avatar
      Merge branch 'drm-minor' of git://people.freedesktop.org/~dvdhrm/linux into drm-next · e40d6410
      Dave Airlie authored
      This series contains several cleanups for the DRM-minor handling. All but the
      last one reviewed by Daniel and tested by Thierry. Initially, the series
      included patches to convert minor-handling to a common base-ID, but have
      been NACKed by Daniel so I dropped them and only included the main part in the
      last patch. With this in place, drm_global_mutex is no longer needed for
      minor-handling (but still for device unregistration..).
      There are some pending patches that try to remove the global mutex entirely, but
      they need some more reviews and thus are not included.
      * 'drm-minor' of git://people.freedesktop.org/~dvdhrm/linux:
        drm: make minors independent of global lock
        drm: inline drm_minor_get_id()
        drm: coding-style fixes in minor handling
        drm: remove redundant minor->device field
        drm: remove unneeded #ifdef CONFIG_DEBUGFS
        drm: rename drm_unplug/get_minor() to drm_minor_register/unregister()
        drm: move drm_put_minor() to drm_minor_free()
        drm: allocate minors early
        drm: add minor-lookup/release helpers
        drm: provide device-refcount
        drm: turn DRM_MINOR_* into enum
        drm: remove unused DRM_MINOR_UNASSIGNED
        drm: skip redundant minor-lookup in open path
        drm: group dev-lifetime related members
      e40d6410
    • Linus Torvalds's avatar
      Linux 3.14-rc7 · dcb99fd9
      Linus Torvalds authored
      dcb99fd9
    • Dave Airlie's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~dvdhrm/linux into drm-next · 28b90a9e
      Dave Airlie authored
      This branch includes 6 minor fixes mainly for udl. Everything non-trivial was
      reviewed by Daniel and the patches have been on the list for quite some time.
      
      * 'drm-fixes' of git://people.freedesktop.org/~dvdhrm/linux:
        drm/gem: dont init "ret" in drm_gem_mmap()
        drm/crtc: add sanity checks to create_dumb()
        drm/gem: free vma-node during object-cleanup
        drm/gem: fix indentation
        drm/udl: fix Bpp calculation in dumb_create()
        drm/udl: fix error-path when damage-req fails
      28b90a9e
  3. 16 Mar, 2014 23 commits
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 59bf6c3c
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Three small fixes"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/clock: Prevent tracing recursion in sched_clock_cpu()
        stop_machine: Fix^2 race between stop_two_cpus() and stop_cpus()
        sched/deadline: Deny unprivileged users to set/change SCHED_DEADLINE policy
      59bf6c3c
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b44eeb4d
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Misc smaller fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Fix leak in uncore_type_init failure paths
        perf machine: Use map as success in ip__resolve_ams
        perf symbols: Fix crash in elf_section_by_name
        perf trace: Decode architecture-specific signal numbers
      b44eeb4d
    • Michael Kerrisk's avatar
      ipc: Fix 2 bugs in msgrcv() MSG_COPY implementation · 4f87dac3
      Michael Kerrisk authored
      While testing and documenting the msgrcv() MSG_COPY flag that Stanislav
      Kinsbursky added in commit 4a674f34 ("ipc: introduce message queue
      copy feature" => kernel 3.8), I discovered a couple of bugs in the
      implementation.  The two bugs concern MSG_COPY interactions with other
      msgrcv() flags, namely:
      
       (A) MSG_COPY + MSG_EXCEPT
       (B) MSG_COPY + !IPC_NOWAIT
      
      The bugs are distinct (and the fix for the first one is obvious),
      however my fix for both is a single-line patch, which is why I'm
      combining them in a single mail, rather than writing two mails+patches.
      
       ===== (A) MSG_COPY + MSG_EXCEPT =====
      
      With the addition of the MSG_COPY flag, there are now two msgrcv()
      flags--MSG_COPY and MSG_EXCEPT--that modify the meaning of the 'msgtyp'
      argument in unrelated ways.  Specifying both in the same call is a
      logical error that is currently permitted, with the effect that MSG_COPY
      has priority and MSG_EXCEPT is ignored.  The call should give an error
      if both flags are specified.  The patch below implements that behavior.
      
       ===== (B) (B) MSG_COPY + !IPC_NOWAIT =====
      
      The test code that was submitted in commit 3a665531 ("selftests: IPC
      message queue copy feature test") shows MSG_COPY being used in
      conjunction with IPC_NOWAIT.  In other words, if there is no message at
      the position 'msgtyp'.  return immediately with the error in ENOMSG.
      
      What was not (fully) tested is the behavior if MSG_COPY is specified
      *without* IPC_NOWAIT, and there is an odd behavior.  If the queue
      contains less than 'msgtyp' messages, then the call blocks until the
      next message is written to the queue.  At that point, the msgrcv() call
      returns a copy of the newly added message, regardless of whether that
      message is at the ordinal position 'msgtyp'.  This is clearly bogus, and
      problematic for applications that might want to make use of the MSG_COPY
      flag.
      
      I considered the following possible solutions to this problem:
      
       (1) Force the call to block until a message *does* appear at the
           position 'msgtyp'.
      
       (2) If the MSG_COPY flag is specified, the kernel should implicitly add
           IPC_NOWAIT, so that the call fails with ENOMSG for this case.
      
       (3) If the MSG_COPY flag is specified, but IPC_NOWAIT is not, generate
           an error (probably, EINVAL is the right one).
      
      I do not know if any application would really want to have the
      functionality of solution (1), especially since an application can
      determine in advance the number of messages in the queue using msgctl()
      IPC_STAT.  Obviously, this solution would be the most work to implement.
      
      Solution (2) would have the effect of silently fixing any applications
      that tried to employ broken behavior.  However, it would mean that if we
      later decided to implement solution (1), then user-space could not
      easily detect what the kernel supports (but, since I'm somewhat doubtful
      that solution (1) is needed, I'm not sure that this is much of a
      problem).
      
      Solution (3) would have the effect of informing broken applications that
      they are doing something broken.  The downside is that this would cause
      a ABI breakage for any applications that are currently employing the
      broken behavior.  However:
      
      a) Those applications are almost certainly not getting the results they
         expect.
      b) Possibly, those applications don't even exist, because MSG_COPY is
         currently hidden behind CONFIG_CHECKPOINT_RESTORE.
      
      The upside of solution (3) is that if we later decided to implement
      solution (1), user-space could determine what the kernel supports, via
      the error return.
      
      In my view, solution (3) is mildly preferable to solution (2), and
      solution (1) could still be done later if anyone really cares.  The
      patch below implements solution (3).
      
      PS.  For anyone out there still listening, it's the usual story:
      documenting an API (and the thinking about, and the testing of the API,
      that documentation entails) is the one of the single best ways of
      finding bugs in the API, as I've learned from a lot of experience.  Best
      to do that documentation before releasing the API.
      Signed-off-by: default avatarMichael Kerrisk <mtk.manpages@gmail.com>
      Acked-by: default avatarStanislav Kinsbursky <skinsbursky@parallels.com>
      Cc: Stanislav Kinsbursky <skinsbursky@parallels.com>
      Cc: stable@vger.kernel.org
      Cc: Serge Hallyn <serge.hallyn@canonical.com>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4f87dac3
    • David Herrmann's avatar
      drm: make minors independent of global lock · 0d639883
      David Herrmann authored
      We used to protect minor-lookup and setup by the global drm lock. To
      continue our attempts of dropping drm_global_mutex, this patch makes the
      minor management independent of it. Furthermore, we make it all atomic and
      switch to spin-locks instead of a mutex.
      
      Now that minor-lookup is independent, we also move the
      "drm_is_unplugged()" test into the minor-lookup path. There is no reason
      to ever return a minor for unplugged objects, so keep that logic internal.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      0d639883
    • David Herrmann's avatar
      drm: inline drm_minor_get_id() · 7d86cf1a
      David Herrmann authored
      We can significantly simplify this helper by using plain multiplication.
      Note that we converted the minor-type to an enum earlier so this didn't
      work before.
      
      We also fix a minor range-bug here: the limit argument of idr_alloc() is
      *exclusive*, not inclusive, so we should use 64 instead of 63 as offset.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      7d86cf1a
    • David Herrmann's avatar
      drm: coding-style fixes in minor handling · 1abbc437
      David Herrmann authored
      Properly name goto-labels, remove empty lines and use DRM_ERROR if
      possible.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      1abbc437
    • David Herrmann's avatar
      drm: remove redundant minor->device field · 5817878c
      David Herrmann authored
      Whenever we access minor->device, we are in a minor->kdev->...->fops
      callback so the minor->kdev pointer *must* be valid. Thus, simply use
      minor->kdev->devt instead of minor->device and remove the redundant field.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      5817878c
    • David Herrmann's avatar
      drm: remove unneeded #ifdef CONFIG_DEBUGFS · cb0f9323
      David Herrmann authored
      No need to check for DEBUGFS, we already have dummy-fallbacks in our
      headers.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      cb0f9323
    • David Herrmann's avatar
      drm: rename drm_unplug/get_minor() to drm_minor_register/unregister() · afcdbc86
      David Herrmann authored
      drm_get_minor() no longer allocates objects, and drm_unplug_minor() is now
      the exact reverse of it. Rename it to _register/unregister() so their
      name actually says what they do.
      
      Furthermore, remove the direct minor-ptr and instead pass the minor-type.
      This way we know the actual slot of the minor and can reset it if
      required.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      afcdbc86
    • David Herrmann's avatar
      drm: move drm_put_minor() to drm_minor_free() · bd9dfa98
      David Herrmann authored
      _put/get() are used for ref-counting, which we clearly don't do here.
      Rename it to _free() and also use the common drm_minor_* prefix.
      Furthermore, avoid passing the minor directly but instead use the type
      like the other functions do, this allows us to reset the slot.
      
      We also drop the redundant call to drm_unplug_minor() as drm_minor_free()
      is only used from paths were that has already be called.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      bd9dfa98
    • David Herrmann's avatar
      drm: allocate minors early · 05b701f6
      David Herrmann authored
      Instead of waiting for device-registration, we now allocate minor-objects
      during device allocation. The minors are not registered or assigned an ID.
      This is still postponed to device-registration.
      
      While at it, remove the superfluous output-parameter in drm_get_minor().
      
      The reason for this early allocation is to make
      dev->primary/control/render available atomically. So once the device is
      alive, all of them are already set and we never have the situation where
      one of them is set after another (they're either NULL or set, but never
      changed). This will eventually allow us to reduce minor-ID allocation to
      one base-ID instead of a single ID for each.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      05b701f6
    • David Herrmann's avatar
      drm: add minor-lookup/release helpers · 1616c525
      David Herrmann authored
      Instead of accessing drm_minors_idr directly, this adds a small helper to
      hide the internals. This will help us later to remove the drm_global_mutex
      requirement for minor-lookup.
      
      Furthermore, this also makes sure that minor->dev is always valid and
      takes a reference-count to the device as long as the minor is used in an
      open-file. This way, "struct file*"->private_data->dev is guaranteed to be
      valid (which it has to, as we cannot reset it).
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      1616c525
    • David Herrmann's avatar
      drm: provide device-refcount · 099d1c29
      David Herrmann authored
      Lets not trick ourselves into thinking "drm_device" objects are not
      ref-counted. That's just utterly stupid. We manage "drm_minor" objects on
      each drm-device and each minor can have an unlimited number of open
      handles. Each of these handles has the drm_minor (and thus the drm_device)
      as private-data in the file-handle. Therefore, we may not destroy
      "drm_device" until all these handles are closed.
      
      It is *not* possible to reset all these pointers atomically and restrict
      access to them, and this is *not* how this is done! Instead, we use
      ref-counts to make sure the object is valid and not freed.
      
      Note that we currently use "dev->open_count" for that, which is *exactly*
      the same as a reference-count, just open coded. So this patch doesn't
      change any semantics on DRM devices (well, this patch just introduces the
      ref-count, anyway. Follow-up patches will replace open_count by it).
      
      Also note that generic VFS revoke support could allow us to drop this
      ref-count again. We could then just synchronously disable any fops->xy()
      calls. However, this is not the case, yet, and no such patches are
      in sight (and I seriously question the idea of dropping the ref-cnt
      again).
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      099d1c29
    • David Herrmann's avatar
      drm: turn DRM_MINOR_* into enum · cb8a239b
      David Herrmann authored
      Use enum for DRM_MINOR_* constants to avoid hard-coding the IDs.
      Furthermore, add a DRM_MINOR_CNT so we can perform range-checks in
      follow-ups.
      
      This changes the IDs of the minor-types by -1, but they're not used as
      indices so this is fine.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      cb8a239b
    • David Herrmann's avatar
      drm: remove unused DRM_MINOR_UNASSIGNED · b9a0d15c
      David Herrmann authored
      This constant is unused, remove it.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      b9a0d15c
    • David Herrmann's avatar
      drm: skip redundant minor-lookup in open path · f4aede2e
      David Herrmann authored
      The drm_open_helper() function is only used internally for drm_open() so
      we can safely pass in the minor-object directly instead of the minor-id.
      This way, we avoid the additional minor IDR lookup, which we already do
      twice in drm_stub_open() and drm_open().
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      f4aede2e
    • David Herrmann's avatar
      drm: group dev-lifetime related members · 45e212d2
      David Herrmann authored
      These members are all managed by DRM-core, lets group them together so
      they're not split across the whole device.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      45e212d2
    • David Herrmann's avatar
      drm/gem: dont init "ret" in drm_gem_mmap() · a8469aa8
      David Herrmann authored
      There is no need to initialize this variable, so drop it. Otherwise, the
      compiler won't warn if we use it unintialized.
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      a8469aa8
    • David Herrmann's avatar
      drm/crtc: add sanity checks to create_dumb() · b28cd41f
      David Herrmann authored
      Lets make sure some basic expressions are always true:
        bpp != NULL
        width != NULL
        height != NULL
        stride = bpp * width < 2^32
        size = stride * height < 2^32
        PAGE_ALIGN(size) < 2^32
      
      At least the udl driver doesn't check for multiplication-overflows, so
      lets just make sure it will never happen. These checks allow drivers to do
      any 32bit math without having to test for mult-overflows themselves.
      
      The two divisions might hurt performance a bit, but dumb_create() is only
      used for scanout-buffers, so that should be fine. We could use 64bit math
      to avoid the divisions, but that may be slow on 32bit machines.. Or maybe
      there should just be a "safe_mult32()" helper, which currently doesn't
      exist (I think?).
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      b28cd41f
    • David Herrmann's avatar
      drm/gem: free vma-node during object-cleanup · 77472347
      David Herrmann authored
      All drivers currently need to clean up the vma-node manually. There is no
      fancy logic involved so lets just clean it up unconditionally. The
      vma-manager correctly catches multiple calls so we are fine.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      77472347
    • David Herrmann's avatar
      drm/gem: fix indentation · 16d2831d
      David Herrmann authored
      Remove double-whitespace and wrong indentation.
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      16d2831d
    • David Herrmann's avatar
      drm/udl: fix Bpp calculation in dumb_create() · 2b932d8e
      David Herrmann authored
      Probably a typo.. we obviously need "(bpp + 7) / 8" instead of
      "(bpp + 1) / 8". Unlikely to be hit in any sane code, but lets be safe.
      Use DIV_ROUND_UP() to avoid the problem entirely and make the core more
      readable.
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      2b932d8e
    • David Herrmann's avatar
      drm/udl: fix error-path when damage-req fails · 06c99161
      David Herrmann authored
      We need to call dma_buf_end_cpu_access() in case a damage-request.
      Unlikely, but might happen during device unplug.
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Signed-off-by: default avatarDavid Herrmann <dh.herrmann@gmail.com>
      06c99161
  4. 15 Mar, 2014 5 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 3b4df68d
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "This is a set of six fixes.  Two are instant crash/null deref types
        (storvsc and isci).  The two qla2xxx are initialisation problems that
        cause MSI-X failures and card misdetection, the isci erroneous macro
        is actually illegal C that's causing a miscompile with certain gcc
        versions and the be2iscsi bad if expression is a static checker fix"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        [SCSI] storvsc: NULL pointer dereference fix
        [SCSI] qla2xxx: Poll during initialization for ISP25xx and ISP83xx
        [SCSI] isci: correct erroneous for_each_isci_host macro
        [SCSI] isci: fix reset timeout handling
        [SCSI] be2iscsi: fix bad if expression
        [SCSI] qla2xxx: Fix multiqueue MSI-X registration.
      3b4df68d
    • Daniel Vetter's avatar
      drm/imx: remove drm_mode_connector_detach_encoder harder · fc1645ac
      Daniel Vetter authored
      Since the last time I've looked more of this stuff sprouted up. Stomp
      it down again.
      
      Repeating the original justification for ripping this all out: There's
      absolutely no need to deteach connectors before cleaning them up at
      driver unload time. And since drm doesn't support hotplugging kms
      objects at all it's positively dangerous to attempt this at runtime.
      Luckily imx only detachs at driver cleanup time and hence we can
      savely remove this.
      Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      fc1645ac
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a4ecdf82
      Linus Torvalds authored
      Pull x86 fixes from Peter Anvin:
       "Two x86 fixes: Suresh's eager FPU fix, and a fix to the NUMA quirk for
        AMD northbridges.
      
        This only includes Suresh's fix patch, not the "mostly a cleanup"
        patch which had __init issues"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/amd/numa: Fix northbridge quirk to assign correct NUMA node
        x86, fpu: Check tsk_used_math() in kernel_fpu_end() for eager FPU
      a4ecdf82
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · cee152ff
      Linus Torvalds authored
      Pull ACPI and power management fixes from Rafael Wysocki:
       "Three of these are regression fixes, for two recent regressions and
        one introduced during the 3.13 cycle, and the fourth one is a working
        version of the fix that had to be reverted last time.
      
        Specifics:
      
         - A recent ACPI resources handling fix overlooked the fact that it
           had to update the ACPI PNP subsystem's resources parsing too and
           caused confusing warning messages to be printed during system
           intialization on some systems (with arguably buggy ACPI tables).
           Fix from Zhang Rui.
      
         - Moving the early ACPI initialization before timekeeping_init()
           earlier in this cycle broke fast TSC calibration on at least one
           system, so it needs to be done later, but still before
           efi_enter_virtual_mode() to allow the EFI initialization to refer
           to ACPI.
      
         - A change related to code duplication reduction in the cpufreq core
           inadvertently caused cpufreq intialization to fail for some CPUs
           handled by intel_pstate by adding checks that may fail for that
           driver, but aren't even necessary when it is used.  The issue is
           addressed by preventing those checks from run in the configurations
           in which they aren't needed.
      
         - If the Hardware Reduced ACPI flag is set in the ACPI tables, system
           suspend, hibernation and ACPI power off will only work when special
           sleep control and sleep status registeres are provided (their
           addresses in the ACPI tables are not zero).  If those registers are
           not available, the features in question have no chances to work, so
           they shouldn't even be regarded as supported.  That helps with
           power off in particular, because alternative power off methods may
           be used then and they may actually work"
      
      * tag 'pm+acpi-3.14-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI / sleep: Add extra checks for HW Reduced ACPI mode sleep states
        ACPI / init: Invoke early ACPI initialization later
        cpufreq: Skip current frequency initialization for ->setpolicy drivers
        PNP / ACPI: proper handling of ACPI IO/Memory resource parsing failures
      cee152ff
    • Linus Torvalds's avatar
      Merge tag 'dm-3.14-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 0c01b452
      Linus Torvalds authored
      Pull device-mapper fixes form Mike Snitzer:
       "Two small fixes for the DM cache target:
      
         - fix corruption with >2TB fast device due to truncation bug
         - fix access beyond end of origin device due to a partial block"
      
      * tag 'dm-3.14-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm cache: fix access beyond end of origin device
        dm cache: fix truncation bug when copying a block to/from >2TB fast device
      0c01b452
  5. 14 Mar, 2014 4 commits
    • Daniel J Blueman's avatar
      x86/amd/numa: Fix northbridge quirk to assign correct NUMA node · 847d7970
      Daniel J Blueman authored
      For systems with multiple servers and routed fabric, all
      northbridges get assigned to the first server. Fix this by also
      using the node reported from the PCI bus. For single-fabric
      systems, the northbriges are on PCI bus 0 by definition, which
      are on NUMA node 0 by definition, so this is invarient on most
      systems.
      
      Tested on fam10h and fam15h single and multi-fabric systems and
      candidate for stable.
      Signed-off-by: default avatarDaniel J Blueman <daniel@numascale.com>
      Acked-by: default avatarSteffen Persvold <sp@numascale.com>
      Acked-by: default avatarBorislav Petkov <bp@suse.de>
      Cc: <stable@vger.kernel.org>
      Link: http://lkml.kernel.org/r/1394710981-3596-1-git-send-email-daniel@numascale.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
      847d7970
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · c60f7d5a
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Pretty minor set of fixes for radeon, ttm and vmwgfx.  The ttm ones
        are a regression and an oops seen on server chipsets"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/vmwgfx: Fix a surface reference corner-case in legacy emulation mode
        drm/radeon/cik: properly set compute ring status on disable
        drm/radeon/cik: stop the sdma engines in the enable() function
        drm/radeon/cik: properly set sdma ring status on disable
        drm/radeon: fix runpm disabling on non-PX harder
        drm/ttm: don't oops if no invalidate_caches()
        drm/ttm: Work around performance regression with VM_PFNMAP
      c60f7d5a
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · c14c06b7
      Linus Torvalds authored
      Pull i2c Kconfig fix from Wolfram Sang.
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: Remove usage of orphaned symbol OF_I2C
      c14c06b7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 53611c0c
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "I know this is a bit more than you want to see, and I've told the
        wireless folks under no uncertain terms that they must severely scale
        back the extent of the fixes they are submitting this late in the
        game.
      
        Anyways:
      
         1) vmxnet3's netpoll doesn't perform the equivalent of an ISR, which
            is the correct implementation, like it should.  Instead it does
            something like a NAPI poll operation.  This leads to crashes.
      
            From Neil Horman and Arnd Bergmann.
      
         2) Segmentation of SKBs requires proper socket orphaning of the
            fragments, otherwise we might access stale state released by the
            release callbacks.
      
            This is a 5 patch fix, but the initial patches are giving
            variables and such significantly clearer names such that the
            actual fix itself at the end looks trivial.
      
            From Michael S.  Tsirkin.
      
         3) TCP control block release can deadlock if invoked from a timer on
            an already "owned" socket.  Fix from Eric Dumazet.
      
         4) In the bridge multicast code, we must validate that the
            destination address of general queries is the link local all-nodes
            multicast address.  From Linus Lüssing.
      
         5) The x86 BPF JIT support for negative offsets puts the parameter
            for the helper function call in the wrong register.  Fix from
            Alexei Starovoitov.
      
         6) The descriptor type used for RTL_GIGA_MAC_VER_17 chips in the
            r8169 driver is incorrect.  Fix from Hayes Wang.
      
         7) The xen-netback driver tests skb_shinfo(skb)->gso_type bits to see
            if a packet is a GSO frame, but that's not the correct test.  It
            should use skb_is_gso(skb) instead.  Fix from Wei Liu.
      
         8) Negative msg->msg_namelen values should generate an error, from
            Matthew Leach.
      
         9) at86rf230 can deadlock because it takes the same lock from it's
            ISR and it's hard_start_xmit method, without disabling interrupts
            in the latter.  Fix from Alexander Aring.
      
        10) The FEC driver's restart doesn't perform operations in the correct
            order, so promiscuous settings can get lost.  Fix from Stefan
            Wahren.
      
        11) Fix SKB leak in SCTP cookie handling, from Daniel Borkmann.
      
        12) Reference count and memory leak fixes in TIPC from Ying Xue and
            Erik Hugne.
      
        13) Forced eviction in inet_frag_evictor() must strictly make sure all
            frags are deleted, otherwise module unload (f.e.  6lowpan) can
            crash.  Fix from Florian Westphal.
      
        14) Remove assumptions in AF_UNIX's use of csum_partial() (which it
            uses as a hash function), which breaks on PowerPC.  From Anton
            Blanchard.
      
            The main gist of the issue is that csum_partial() is defined only
            as a value that, once folded (f.e.  via csum_fold()) produces a
            correct 16-bit checksum.  It is legitimate, therefore, for
            csum_partial() to produce two different 32-bit values over the
            same data if their respective alignments are different.
      
        15) Fix endiannes bug in MAC address handling of ibmveth driver, also
            from Anton Blanchard.
      
        16) Error checks for ipv6 exthdrs offload registration are reversed,
            from Anton Nayshtut.
      
        17) Externally triggered ipv6 addrconf routes should count against the
            garbage collection threshold.  Fix from Sabrina Dubroca.
      
        18) The PCI shutdown handler added to the bnx2 driver can wedge the
            chip if it was not brought up earlier already, which in particular
            causes the firmware to shut down the PHY.  Fix from Michael Chan.
      
        19) Adjust the sanity WARN_ON_ONCE() in qdisc_list_add() because as
            currently coded it can and does trigger in legitimate situations.
            From Eric Dumazet.
      
        20) BNA driver fails to build on ARM because of a too large udelay()
            call, fix from Ben Hutchings.
      
        21) Fair-Queue qdisc holds locks during GFP_KERNEL allocations, fix
            from Eric Dumazet.
      
        22) The vlan passthrough ops added in the previous release causes a
            regression in source MAC address setting of outgoing headers in
            some circumstances.  Fix from Peter Boström"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (70 commits)
        ipv6: Avoid unnecessary temporary addresses being generated
        eth: fec: Fix lost promiscuous mode after reconnecting cable
        bonding: set correct vlan id for alb xmit path
        at86rf230: fix lockdep splats
        net/mlx4_en: Deregister multicast vxlan steering rules when going down
        vmxnet3: fix building without CONFIG_PCI_MSI
        MAINTAINERS: add networking selftests to NETWORKING
        net: socket: error on a negative msg_namelen
        MAINTAINERS: Add tools/net to NETWORKING [GENERAL]
        packet: doc: Spelling s/than/that/
        net/mlx4_core: Load the IB driver when the device supports IBoE
        net/mlx4_en: Handle vxlan steering rules for mac address changes
        net/mlx4_core: Fix wrong dump of the vxlan offloads device capability
        xen-netback: use skb_is_gso in xenvif_start_xmit
        r8169: fix the incorrect tx descriptor version
        tools/net/Makefile: Define PACKAGE to fix build problems
        x86: bpf_jit: support negative offsets
        bridge: multicast: enable snooping on general queries only
        bridge: multicast: add sanity check for general query destination
        tcp: tcp_release_cb() should release socket ownership
        ...
      53611c0c
  6. 13 Mar, 2014 1 commit