From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v3 03/33] drm: Make drm_connector_register() safe against multiple calls Date: Fri, 3 Jun 2016 15:36:46 +0100 Message-ID: <1464964636-3877-4-git-send-email-chris@chris-wilson.co.uk> References: <1464964636-3877-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: In-Reply-To: <1464964636-3877-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Dave Airlie , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org UHJvdGVjdCBhZ2FpbnN0IGRyaXZlcnMgdGhhdCBtYXkgdHJ5IHRvIHJlZ2lzdGVyIHRoZSBjb25u ZWN0b3IgbW9yZQp0aGFuIG9uY2UsIG9yIHdobyB0cnkgdG8gdW5yZWdpc3RlciBpdCBtdWx0aXBs ZSB0aW1lcy4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgpDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KQ2M6IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMgfCA5ICsr KysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2NydGMuaCAgICAgfCAyICsrCiAyIGZpbGVzIGNoYW5n ZWQsIDExIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fY3J0Yy5jCmluZGV4IDY4YjIzODVlZTUwNS4uZTAx YzBmY2YyNmNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGMuYwpAQCAtMTAxMiw2ICsxMDEyLDkgQEAgaW50IGRybV9j b25uZWN0b3JfcmVnaXN0ZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlp bnQgcmV0OwogCisJaWYgKGNvbm5lY3Rvci0+cmVnaXN0ZXJlZCkKKwkJcmV0dXJuIDA7CisKIAly ZXQgPSBkcm1fc3lzZnNfY29ubmVjdG9yX2FkZChjb25uZWN0b3IpOwogCWlmIChyZXQpCiAJCXJl dHVybiByZXQ7CkBAIC0xMDI5LDYgKzEwMzIsNyBAQCBpbnQgZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rl cihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiAJZHJtX21vZGVfb2JqZWN0X3Jl Z2lzdGVyKGNvbm5lY3Rvci0+ZGV2LCAmY29ubmVjdG9yLT5iYXNlKTsKIAorCWNvbm5lY3Rvci0+ cmVnaXN0ZXJlZCA9IHRydWU7CiAJcmV0dXJuIDA7CiAKIGVycl9kZWJ1Z2ZzOgpAQCAtMTA0Nywx MSArMTA1MSwxNiBAQCBFWFBPUlRfU1lNQk9MKGRybV9jb25uZWN0b3JfcmVnaXN0ZXIpOwogICov CiB2b2lkIGRybV9jb25uZWN0b3JfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yKQogeworCWlmICghY29ubmVjdG9yLT5yZWdpc3RlcmVkKQorCQlyZXR1cm47CisKIAlp ZiAoY29ubmVjdG9yLT5mdW5jcy0+ZWFybHlfdW5yZWdpc3RlcikKIAkJY29ubmVjdG9yLT5mdW5j cy0+ZWFybHlfdW5yZWdpc3Rlcihjb25uZWN0b3IpOwogCiAJZHJtX3N5c2ZzX2Nvbm5lY3Rvcl9y ZW1vdmUoY29ubmVjdG9yKTsKIAlkcm1fZGVidWdmc19jb25uZWN0b3JfcmVtb3ZlKGNvbm5lY3Rv cik7CisKKwljb25uZWN0b3ItPnJlZ2lzdGVyZWQgPSBmYWxzZTsKIH0KIEVYUE9SVF9TWU1CT0wo ZHJtX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJt X2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggZTIxN2M1ZDQ2MDEwLi44Y2E4 ZTk0MGEzOTIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKKysrIGIvaW5jbHVk ZS9kcm0vZHJtX2NydGMuaApAQCAtMTE2NSw2ICsxMTY1LDcgQEAgc3RydWN0IGRybV9lbmNvZGVy IHsKICAqIEBpbnRlcmxhY2VfYWxsb3dlZDogY2FuIHRoaXMgY29ubmVjdG9yIGhhbmRsZSBpbnRl cmxhY2VkIG1vZGVzPwogICogQGRvdWJsZXNjYW5fYWxsb3dlZDogY2FuIHRoaXMgY29ubmVjdG9y IGhhbmRsZSBkb3VibGVzY2FuPwogICogQHN0ZXJlb19hbGxvd2VkOiBjYW4gdGhpcyBjb25uZWN0 b3IgaGFuZGxlIHN0ZXJlbyBtb2Rlcz8KKyAqIEByZWdpc3RlcmVkOiBpcyB0aGlzIGNvbm5lY3Rv ciBleHBvc2VkIChyZWdpc3RlcmVkKSB3aXRoIHVzZXJzcGFjZT8KICAqIEBtb2RlczogbW9kZXMg YXZhaWxhYmxlIG9uIHRoaXMgY29ubmVjdG9yIChmcm9tIGZpbGxfbW9kZXMoKSArIHVzZXIpCiAg KiBAc3RhdHVzOiBvbmUgb2YgdGhlIGRybV9jb25uZWN0b3Jfc3RhdHVzIGVudW1zIChjb25uZWN0 ZWQsIG5vdCwgb3IgdW5rbm93bikKICAqIEBwcm9iZWRfbW9kZXM6IGxpc3Qgb2YgbW9kZXMgZGVy aXZlZCBkaXJlY3RseSBmcm9tIHRoZSBkaXNwbGF5CkBAIC0xMjIyLDYgKzEyMjMsNyBAQCBzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciB7CiAJYm9vbCBpbnRlcmxhY2VfYWxsb3dlZDsKIAlib29sIGRvdWJs ZXNjYW5fYWxsb3dlZDsKIAlib29sIHN0ZXJlb19hbGxvd2VkOworCWJvb2wgcmVnaXN0ZXJlZDsK IAlzdHJ1Y3QgbGlzdF9oZWFkIG1vZGVzOyAvKiBsaXN0IG9mIG1vZGVzIG9uIHRoaXMgY29ubmVj dG9yICovCiAKIAllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKLS0gCjIuOC4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK