Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/riastradh-drm2]: src/sys/external/bsd/drm2/dist/drm/i915 uobj->pgops->pg...



details:   https://anonhg.NetBSD.org/src/rev/411f90fb925d
branches:  riastradh-drm2
changeset: 788614:411f90fb925d
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Tue Jan 21 20:56:11 2014 +0000

description:
uobj->pgops->pgo_put requires uobj->vmobjlock.

diffstat:

 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c |  4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diffs (17 lines):

diff -r aca019448005 -r 411f90fb925d sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c    Tue Jan 21 20:56:00 2014 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c    Tue Jan 21 20:56:11 2014 +0000
@@ -1987,10 +1987,12 @@
        {
                struct uvm_object *const uobj = obj->base.gemo_shm_uao;
 
-               if (uobj != NULL)
+               if (uobj != NULL) {
                        /* XXX Calling pgo_put like this is bogus.  */
+                       mutex_enter(uobj->vmobjlock);
                        (*uobj->pgops->pgo_put)(uobj, 0, obj->base.size,
                            (PGO_ALLPAGES | PGO_FREE));
+               }
        }
 #else
        if (obj->base.filp == NULL)



Home | Main Index | Thread Index | Old Index