From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH] drm: Release driver references to handle before making it available again Date: Fri, 8 Jan 2016 20:25:07 +0000 Message-ID: <1452284707-16639-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: Russell King , dri-devel@lists.freedesktop.org, Daniel Vetter , Dan Carpenter List-Id: dri-devel@lists.freedesktop.org V2hlbiB1c2Vyc3BhY2UgY2xvc2VzIGEgaGFuZGxlLCB3ZSByZW1vdmUgaXQgZnJvbSB0aGUgZmls ZS0+b2JqZWN0X2lkcgphbmQgdGhlbiB0ZWxsIHRoZSBkcml2ZXIgdG8gZHJvcCBpdHMgcmVmZXJl bmNlcyB0byB0aGF0IGZpbGUvaGFuZGxlLgpIb3dldmVyLCBhcyB0aGUgZmlsZS9oYW5kbGUgaXMg YWxyZWFkeSBhdmFpbGFibGUgYWdhaW4gZm9yIHJldXNlLCBpdCBtYXkKYmUgcmVhbGxvY2F0ZWQg YmFjayB0byB1c2Vyc3BhY2UgYW5kIGFjdGl2ZSBvbiBhIG5ldyBvYmplY3QgYmVmb3JlIHRoZQpk cml2ZXIgaGFzIGhhZCBhIGNoYW5jZSB0byBkcm9wIHRoZSBvbGQgZmlsZS9oYW5kbGUgcmVmZXJl bmNlcy4KCldoaWxzdCBjYWxsaW5nIGJhY2sgaW50byB0aGUgZHJpdmVyLCB3ZSBoYXZlIHRvIGRy b3AgdGhlCmZpbGUtPnRhYmxlX2xvY2sgc3BpbmxvY2sgYW5kIHNvIHRvIHByZXZlbnQgcmV1c2lu ZyB0aGUgY2xvc2VkIGhhbmRsZSB3ZQptYXJrIHRoYXQgaGFuZGxlIGFzIHN0YWxlIGluIHRoZSBp ZHIsIHBlcmZvcm0gdGhlIGNhbGxiYWNrIGFuZCB0aGVuCnJlbW92ZSB0aGUgaGFuZGxlLiBJdCBp cyB0aGVuIHBvc3NpYmxlIGZvciBhIGxvb2t1cCBvbiB0aGF0IGhhbmRsZSB0bwpyZXR1cm4gYW4g ZXJyb3Igb2JqZWN0IGFuZCBzbyBhbGwgY2FsbGVycyBvZiBpZHJfZmluZChmaWxlLT5vYmplY3Rf aWRyKQpuZWVkIHRvIGNoZWNrIGFnYWluc3QgSVNfRVJSX09SX05VTEwoKSBpbnN0ZWFkLgoKU2ln bmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCkNjOiBEYXZpZCBBaXJsaWUgPGFpcmxpZWRA bGludXguaWU+CkNjOiBMdWNhcyBTdGFjaCA8bC5zdGFjaEBwZW5ndXRyb25peC5kZT4KQ2M6IFJ1 c3NlbGwgS2luZyA8bGludXgrZXRuYXZpdkBhcm0ubGludXgub3JnLnVrPgpDYzogQ2hyaXN0aWFu IEdtZWluZXIgPGNocmlzdGlhbi5nbWVpbmVyQGdtYWlsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxp bnV4LmludGVsLmNvbT4KQ2M6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KQ2M6IEVy aWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+CkNjOiBEYW4gQ2FycGVudGVyIDxkYW4uY2FycGVu dGVyQG9yYWNsZS5jb20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMgICAgICAgICAgICAgICAg ICAgIHwgMTEgKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfZ2Vt X3N1Ym1pdC5jIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZm ZXIuYyAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYyAgICAg ICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2dlbS5jICAgICAgICAgICAgICAg IHwgIDIgKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbS5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9nZW0uYwppbmRleCAyZThjNzdlNzFlMWYuLmM1NmEwYjQ5ZDgyOSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2dl bS5jCkBAIC0yOTQsMTggKzI5NCwyMSBAQCBkcm1fZ2VtX2hhbmRsZV9kZWxldGUoc3RydWN0IGRy bV9maWxlICpmaWxwLCB1MzIgaGFuZGxlKQogCXNwaW5fbG9jaygmZmlscC0+dGFibGVfbG9jayk7 CiAKIAkvKiBDaGVjayBpZiB3ZSBjdXJyZW50bHkgaGF2ZSBhIHJlZmVyZW5jZSBvbiB0aGUgb2Jq ZWN0ICovCi0Jb2JqID0gaWRyX2ZpbmQoJmZpbHAtPm9iamVjdF9pZHIsIGhhbmRsZSk7Ci0JaWYg KG9iaiA9PSBOVUxMKSB7CisJb2JqID0gaWRyX3JlcGxhY2UoJmZpbHAtPm9iamVjdF9pZHIsIEVS Ul9QVFIoLUVOT0VOVCksIGhhbmRsZSk7CisJaWYgKElTX0VSUihvYmopKSB7CiAJCXNwaW5fdW5s b2NrKCZmaWxwLT50YWJsZV9sb2NrKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCWRldiA9IG9i ai0+ZGV2OworCXNwaW5fdW5sb2NrKCZmaWxwLT50YWJsZV9sb2NrKTsKIAogCS8qIFJlbGVhc2Ug cmVmZXJlbmNlIGFuZCBkZWNyZW1lbnQgcmVmY291bnQuICovCisJZHJtX2dlbV9vYmplY3RfcmVs ZWFzZV9oYW5kbGUoaGFuZGxlLCBvYmosIGZpbHApOworCisJc3Bpbl9sb2NrKCZmaWxwLT50YWJs ZV9sb2NrKTsKIAlpZHJfcmVtb3ZlKCZmaWxwLT5vYmplY3RfaWRyLCBoYW5kbGUpOwogCXNwaW5f dW5sb2NrKCZmaWxwLT50YWJsZV9sb2NrKTsKIAotCWRybV9nZW1fb2JqZWN0X3JlbGVhc2VfaGFu ZGxlKGhhbmRsZSwgb2JqLCBmaWxwKTsKIAlyZXR1cm4gMDsKIH0KIEVYUE9SVF9TWU1CT0woZHJt X2dlbV9oYW5kbGVfZGVsZXRlKTsKQEAgLTU5Nyw3ICs2MDAsNyBAQCBkcm1fZ2VtX29iamVjdF9s b29rdXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxwLAogCiAJ LyogQ2hlY2sgaWYgd2UgY3VycmVudGx5IGhhdmUgYSByZWZlcmVuY2Ugb24gdGhlIG9iamVjdCAq LwogCW9iaiA9IGlkcl9maW5kKCZmaWxwLT5vYmplY3RfaWRyLCBoYW5kbGUpOwotCWlmIChvYmog PT0gTlVMTCkgeworCWlmIChJU19FUlJfT1JfTlVMTChvYmopKSB7CiAJCXNwaW5fdW5sb2NrKCZm aWxwLT50YWJsZV9sb2NrKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMgYi9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X2dlbV9zdWJtaXQuYwppbmRleCAxYWJhMDFhOTk5ZGYuLjc3YjU0OWNi MTMwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3Vi bWl0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9nZW1fc3VibWl0LmMK QEAgLTc4LDcgKzc4LDcgQEAgc3RhdGljIGludCBzdWJtaXRfbG9va3VwX29iamVjdHMoc3RydWN0 IGV0bmF2aXZfZ2VtX3N1Ym1pdCAqc3VibWl0LAogCQkgKiBhbGwgdW5kZXIgc2luZ2xlIHRhYmxl X2xvY2sganVzdCBoaXQgb2JqZWN0X2lkciBkaXJlY3RseToKIAkJICovCiAJCW9iaiA9IGlkcl9m aW5kKCZmaWxlLT5vYmplY3RfaWRyLCBiby0+aGFuZGxlKTsKLQkJaWYgKCFvYmopIHsKKwkJaWYg KElTX0VSUl9PUl9OVUxMKG9iaikpIHsKIAkJCURSTV9FUlJPUigiaW52YWxpZCBoYW5kbGUgJXUg YXQgaW5kZXggJXVcbiIsCiAJCQkJICBiby0+aGFuZGxlLCBpKTsKIAkJCXJldCA9IC1FSU5WQUw7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggZGNjYjUx NzM2MWIzLi41MDBiY2ZmOWFkNDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMKQEAgLTEwNiw3ICsxMDYsNyBAQCBlYl9sb29rdXBfdm1hcyhzdHJ1Y3QgZWJf dm1hcyAqZWIsCiAJICogb3IgY3JlYXRlIHRoZSBWTUEgd2l0aG91dCB1c2luZyBHRlBfQVRPTUlD ICovCiAJZm9yIChpID0gMDsgaSA8IGFyZ3MtPmJ1ZmZlcl9jb3VudDsgaSsrKSB7CiAJCW9iaiA9 IHRvX2ludGVsX2JvKGlkcl9maW5kKCZmaWxlLT5vYmplY3RfaWRyLCBleGVjW2ldLmhhbmRsZSkp OwotCQlpZiAob2JqID09IE5VTEwpIHsKKwkJaWYgKElTX0VSUl9PUl9OVUxMKG9iaikpIHsKIAkJ CXNwaW5fdW5sb2NrKCZmaWxlLT50YWJsZV9sb2NrKTsKIAkJCURSTV9ERUJVRygiSW52YWxpZCBv YmplY3QgaGFuZGxlICVkIGF0IGluZGV4ICVkXG4iLAogCQkJCSAgIGV4ZWNbaV0uaGFuZGxlLCBp KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYwppbmRleCA2ZDdjZDNmZTIxZTcuLmM2 ZDdhYmQ1M2QyMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtX3N1Ym1p dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYwpAQCAtOTAsNyAr OTAsNyBAQCBzdGF0aWMgaW50IHN1Ym1pdF9sb29rdXBfb2JqZWN0cyhzdHJ1Y3QgbXNtX2dlbV9z dWJtaXQgKnN1Ym1pdCwKIAkJICogYWxsIHVuZGVyIHNpbmdsZSB0YWJsZV9sb2NrIGp1c3QgaGl0 IG9iamVjdF9pZHIgZGlyZWN0bHk6CiAJCSAqLwogCQlvYmogPSBpZHJfZmluZCgmZmlsZS0+b2Jq ZWN0X2lkciwgc3VibWl0X2JvLmhhbmRsZSk7Ci0JCWlmICghb2JqKSB7CisJCWlmIChJU19FUlJf T1JfTlVMTChvYmopKSB7CiAJCQlEUk1fRVJST1IoImludmFsaWQgaGFuZGxlICV1IGF0IGluZGV4 ICV1XG4iLCBzdWJtaXRfYm8uaGFuZGxlLCBpKTsKIAkJCXJldCA9IC1FSU5WQUw7CiAJCQlnb3Rv IG91dF91bmxvY2s7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2dlbS5jCmluZGV4IDQ4Y2UzMGE2ZjRiNS4uOTEzODcw MmExYzY3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9nZW0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9nZW0uYwpAQCAtNDk0LDcgKzQ5NCw3IEBAIHZjNF9jbF9s b29rdXBfYm9zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJZm9yIChpID0gMDsgaSA8IGV4ZWMt PmJvX2NvdW50OyBpKyspIHsKIAkJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpibyA9IGlkcl9maW5k KCZmaWxlX3ByaXYtPm9iamVjdF9pZHIsCiAJCQkJCQkgICAgIGhhbmRsZXNbaV0pOwotCQlpZiAo IWJvKSB7CisJCWlmIChJU19FUlJfT1JfTlVMTChibykpIHsKIAkJCURSTV9FUlJPUigiRmFpbGVk IHRvIGxvb2sgdXAgR0VNIEJPICVkOiAlZFxuIiwKIAkJCQkgIGksIGhhbmRsZXNbaV0pOwogCQkJ cmV0ID0gLUVJTlZBTDsKLS0gCjIuNy4wLnJjMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK