From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 24/41] drm/i915: Use lockless object free Date: Fri, 14 Oct 2016 13:18:16 +0100 Message-ID: <20161014121833.439-25-chris@chris-wilson.co.uk> References: <20161014121833.439-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x242.google.com (mail-lf0-x242.google.com [IPv6:2a00:1450:4010:c07::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB68B6E11E for ; Fri, 14 Oct 2016 12:19:06 +0000 (UTC) Received: by mail-lf0-x242.google.com with SMTP id b75so17764476lfg.3 for ; Fri, 14 Oct 2016 05:19:06 -0700 (PDT) In-Reply-To: <20161014121833.439-1-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 List-Id: intel-gfx@lists.freedesktop.org SGF2aW5nIG1vdmVkIHRoZSBsb2NrZWQgcGhhc2Ugb2YgZnJlZWluZyBhbiBvYmplY3QgdG8gYSBz ZXBhcmF0ZSB3b3JrZXIsCndlIGNhbiBub3cgZGVjbGFyZSB0byB0aGUgY29yZSB0aGF0IHdlIG9u bHkgbmVlZCB0aGUgdW5sb2NrZWQgdmFyaWFudCBvZgpkcml2ZXItPmdlbV9mcmVlX29iamVjdCwg YW5kIGNhbiB1c2UgdGhlIHNpbXBsZSB1bnJlZmVyZW5jZSBpbnRlcm5hbGx5LgoKU2lnbmVkLW9m Zi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8IDEwICstLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8IDIwICsrKysrKysrKystLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYyAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9vdmVybGF5LmMgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w bS5jICAgICAgICAgfCAgMiArLQogOCBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAy OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBjNDZmOTZkOGJiMzgu LjUzNDY5ODExZmI0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0yNTY5LDcgKzI1Njks NyBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgZHJpdmVyID0gewogCS5zZXRfYnVzaWQgPSBk cm1fcGNpX3NldF9idXNpZCwKIAogCS5nZW1fY2xvc2Vfb2JqZWN0ID0gaTkxNV9nZW1fY2xvc2Vf b2JqZWN0LAotCS5nZW1fZnJlZV9vYmplY3QgPSBpOTE1X2dlbV9mcmVlX29iamVjdCwKKwkuZ2Vt X2ZyZWVfb2JqZWN0X3VubG9ja2VkID0gaTkxNV9nZW1fZnJlZV9vYmplY3QsCiAJLmdlbV92bV9v cHMgPSAmaTkxNV9nZW1fdm1fb3BzLAogCiAJLnByaW1lX2hhbmRsZV90b19mZCA9IGRybV9nZW1f cHJpbWVfaGFuZGxlX3RvX2ZkLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZTJmZTUwYjZi NDkzLi5iNjE5MmFjYTU3ZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjM5MSwxOSAr MjM5MSwxMiBAQCBfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKIHN0YXRpYyBpbmxpbmUgdm9pZAog aTkxNV9nZW1fb2JqZWN0X3B1dChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewot CWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZvYmotPmJhc2UpOworCV9fZHJtX2dlbV9vYmpl Y3RfdW5yZWZlcmVuY2UoJm9iai0+YmFzZSk7CiB9CiAKIF9fZGVwcmVjYXRlZAogZXh0ZXJuIHZv aWQgZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Uoc3RydWN0IGRybV9nZW1fb2JqZWN0ICopOwog Ci1fX2F0dHJpYnV0ZV9fKChub25udWxsKSkKLXN0YXRpYyBpbmxpbmUgdm9pZAotaTkxNV9nZW1f b2JqZWN0X3B1dF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQotewot CWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9ja2VkKCZvYmotPmJhc2UpOwotfQotCiBf X2RlcHJlY2F0ZWQKIGV4dGVybiB2b2lkIGRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlX3VubG9j a2VkKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqKTsKIApAQCAtMjQ5OCw3ICsyNDkxLDYgQEAgc3Rh dGljIGlubGluZSBzdHJ1Y3QgaTkxNV92bWEgKmk5MTVfdm1hX2dldChzdHJ1Y3QgaTkxNV92bWEg KnZtYSkKIAogc3RhdGljIGlubGluZSB2b2lkIGk5MTVfdm1hX3B1dChzdHJ1Y3QgaTkxNV92bWEg KnZtYSkKIHsKLQlsb2NrZGVwX2Fzc2VydF9oZWxkKCZ2bWEtPnZtLT5kZXYtPnN0cnVjdF9tdXRl eCk7CiAJaTkxNV9nZW1fb2JqZWN0X3B1dCh2bWEtPm9iaik7CiB9CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCmluZGV4IGMwY2IxYTQ4MmE2Ny4uYTNlMzlmNDEyYTg3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKQEAgLTYxNiw3ICs2MTYsNyBAQCBpOTE1X2dlbV9jcmVhdGUoc3RydWN0IGRybV9m aWxlICpmaWxlLAogCiAJcmV0ID0gZHJtX2dlbV9oYW5kbGVfY3JlYXRlKGZpbGUsICZvYmotPmJh c2UsICZoYW5kbGUpOwogCS8qIGRyb3AgcmVmZXJlbmNlIGZyb20gYWxsb2NhdGUgLSBoYW5kbGUg aG9sZHMgaXQgbm93ICovCi0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOworCWk5 MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBAIC0x MTE0LDcgKzExMTQsNyBAQCBpOTE1X2dlbV9wcmVhZF9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAogCiAJaTkxNV9nZW1fb2JqZWN0X3VucGluX3BhZ2VzKG9iaik7CiBv dXQ6Ci0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOworCWk5MTVfZ2VtX29iamVj dF9wdXQob2JqKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0xNDUyLDcgKzE0NTIsNyBAQCBpOTE1 X2dlbV9wd3JpdGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAog CWk5MTVfZ2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwogZXJyOgotCWk5MTVfZ2VtX29iamVj dF9wdXRfdW5sb2NrZWQob2JqKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJcmV0dXJu IHJldDsKIH0KIApAQCAtMTU2Miw3ICsxNTYyLDcgQEAgaTkxNV9nZW1fc2V0X2RvbWFpbl9pb2N0 bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogb3V0X3BhZ2VzOgogCWk5MTVf Z2VtX29iamVjdF91bnBpbl9wYWdlcyhvYmopOwogb3V0X3VubG9ja2VkOgotCWk5MTVfZ2VtX29i amVjdF9wdXRfdW5sb2NrZWQob2JqKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJcmV0 dXJuIGVycjsKIH0KIApAQCAtMTU5Myw3ICsxNTkzLDcgQEAgaTkxNV9nZW1fc3dfZmluaXNoX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCX0KIAl9CiAKLQlpOTE1 X2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKG9iaik7CisJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmop OwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTE2MzksNyArMTYzOSw3IEBAIGk5MTVfZ2VtX21tYXBf aW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkgKiBwYWdlcyBmcm9t LgogCSAqLwogCWlmICghb2JqLT5iYXNlLmZpbHApIHsKLQkJaTkxNV9nZW1fb2JqZWN0X3B1dF91 bmxvY2tlZChvYmopOworCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJCXJldHVybiAtRUlO VkFMOwogCX0KIApAQCAtMTY1MSw3ICsxNjUxLDcgQEAgaTkxNV9nZW1fbW1hcF9pb2N0bChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg KnZtYTsKIAogCQlpZiAoZG93bl93cml0ZV9raWxsYWJsZSgmbW0tPm1tYXBfc2VtKSkgewotCQkJ aTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOworCQkJaTkxNV9nZW1fb2JqZWN0X3B1 dChvYmopOwogCQkJcmV0dXJuIC1FSU5UUjsKIAkJfQogCQl2bWEgPSBmaW5kX3ZtYShtbSwgYWRk cik7CkBAIC0xNjY1LDcgKzE2NjUsNyBAQCBpOTE1X2dlbV9tbWFwX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCS8qIFRoaXMgbWF5IHJhY2UsIGJ1dCB0aGF0J3Mg b2ssIGl0IG9ubHkgZ2V0cyBzZXQgKi8KIAkJV1JJVEVfT05DRShvYmotPmZyb250YnVmZmVyX2dn dHRfb3JpZ2luLCBPUklHSU5fQ1BVKTsKIAl9Ci0JaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tl ZChvYmopOworCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKIAlpZiAoSVNfRVJSKCh2b2lkICop YWRkcikpCiAJCXJldHVybiBhZGRyOwogCkBAIC0yMTE3LDcgKzIxMTcsNyBAQCBpOTE1X2dlbV9t bWFwX2d0dChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCiAJaWYgKHJldCA9PSAwKQogCQkqb2Zmc2V0 ID0gZHJtX3ZtYV9ub2RlX29mZnNldF9hZGRyKCZvYmotPmJhc2Uudm1hX25vZGUpOwogCi0JaTkx NV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOworCWk5MTVfZ2VtX29iamVjdF9wdXQob2Jq KTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0yOTQ0LDcgKzI5NDQsNyBAQCBpOTE1X2dlbV93YWl0 X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSkKIAkJCWFyZ3MtPnRpbWVvdXRfbnMgPSAwOwogCX0KIAotCWk5MTVfZ2VtX29iamVj dF9wdXRfdW5sb2NrZWQob2JqKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJcmV0dXJu IHJldDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGls aW5nLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aWxpbmcuYwppbmRleCBjNjNh OWNmNGRhMzMuLjYzOTVlNjJiZDllNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fdGlsaW5nLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGls aW5nLmMKQEAgLTIwMSw3ICsyMDEsNyBAQCBpOTE1X2dlbV9zZXRfdGlsaW5nKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAKIAlpZiAoIWk5MTVfdGlsaW5nX29rKGRldiwKIAkJ CSAgICBhcmdzLT5zdHJpZGUsIG9iai0+YmFzZS5zaXplLCBhcmdzLT50aWxpbmdfbW9kZSkpIHsK LQkJaTkxNV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChvYmopOworCQlpOTE1X2dlbV9vYmplY3Rf cHV0KG9iaik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fdXNlcnB0ci5jCmluZGV4IDEzNmM0OTNiMTViMi4uNmY3YWMwZTc4M2VjIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCkBAIC01NDIsNyArNTQyLDcgQEAgX19p OTE1X2dlbV91c2VycHRyX2dldF9wYWdlc193b3JrZXIoc3RydWN0IHdvcmtfc3RydWN0ICpfd29y aykKIAlyZWxlYXNlX3BhZ2VzKHB2ZWMsIHBpbm5lZCwgMCk7CiAJZHJtX2ZyZWVfbGFyZ2UocHZl Yyk7CiAKLQlpOTE1X2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKG9iaik7CisJaTkxNV9nZW1fb2Jq ZWN0X3B1dChvYmopOwogCXB1dF90YXNrX3N0cnVjdCh3b3JrLT50YXNrKTsKIAlrZnJlZSh3b3Jr KTsKIH0KQEAgLTgwMiw3ICs4MDIsNyBAQCBpOTE1X2dlbV91c2VycHRyX2lvY3RsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZQogCQlyZXQg PSBkcm1fZ2VtX2hhbmRsZV9jcmVhdGUoZmlsZSwgJm9iai0+YmFzZSwgJmhhbmRsZSk7CiAKIAkv KiBkcm9wIHJlZmVyZW5jZSBmcm9tIGFsbG9jYXRlIC0gaGFuZGxlIGhvbGRzIGl0IG5vdyAqLwot CWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0 KG9iaik7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCmluZGV4IDA3NDA5NTY1NTYzZC4uMjZiNmFkMDNmODRhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMTAzMyw3ICsxMTAzMyw3IEBAIGludGVsX2ZyYW1l YnVmZmVyX2NyZWF0ZV9mb3JfbW9kZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJZmIgPSBp bnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGUoZGV2LCAmbW9kZV9jbWQsIG9iaik7CiAJaWYgKElTX0VS UihmYikpCi0JCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsKKwkJaTkxNV9nZW1f b2JqZWN0X3B1dChvYmopOwogCiAJcmV0dXJuIGZiOwogfQpAQCAtMTIzMzgsNyArMTIzMzgsNyBA QCBjbGVhbnVwOgogCWNydGMtPnByaW1hcnktPmZiID0gb2xkX2ZiOwogCXVwZGF0ZV9zdGF0ZV9m YihjcnRjLT5wcmltYXJ5KTsKIAotCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2NrZWQob2JqKTsK KwlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7CiAJZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNl KHdvcmstPm9sZF9mYik7CiAKIAlzcGluX2xvY2tfaXJxKCZkZXYtPmV2ZW50X2xvY2spOwpAQCAt MTU4NTIsNyArMTU4NTIsNyBAQCBpbnRlbF91c2VyX2ZyYW1lYnVmZmVyX2NyZWF0ZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCiAJZmIgPSBpbnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGUoZGV2LCAm bW9kZV9jbWQsIG9iaik7CiAJaWYgKElTX0VSUihmYikpCi0JCWk5MTVfZ2VtX29iamVjdF9wdXRf dW5sb2NrZWQob2JqKTsKKwkJaTkxNV9nZW1fb2JqZWN0X3B1dChvYmopOwogCiAJcmV0dXJuIGZi OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCmluZGV4IDI1YmNkNGExNzhkMy4u ZmQwZTRkYWM3Y2MxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVy bGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCkBAIC0xMjIy LDcgKzEyMjIsNyBAQCBpbnQgaW50ZWxfb3ZlcmxheV9wdXRfaW1hZ2VfaW9jdGwoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIG91dF91bmxvY2s6CiAJbXV0ZXhfdW5sb2NrKCZk ZXYtPnN0cnVjdF9tdXRleCk7CiAJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwotCWk5MTVf Z2VtX29iamVjdF9wdXRfdW5sb2NrZWQobmV3X2JvKTsKKwlpOTE1X2dlbV9vYmplY3RfcHV0KG5l d19ibyk7CiBvdXRfZnJlZToKIAlrZnJlZShwYXJhbXMpOwogCkBAIC0xNDY2LDcgKzE0NjYsNyBA QCB2b2lkIGludGVsX2NsZWFudXBfb3ZlcmxheShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJICogaGFyZHdhcmUgc2hvdWxkIGJlIG9mZiBhbHJlYWR5ICovCiAJV0FSTl9PTihk ZXZfcHJpdi0+b3ZlcmxheS0+YWN0aXZlKTsKIAotCWk5MTVfZ2VtX29iamVjdF9wdXRfdW5sb2Nr ZWQoZGV2X3ByaXYtPm92ZXJsYXktPnJlZ19ibyk7CisJaTkxNV9nZW1fb2JqZWN0X3B1dChkZXZf cHJpdi0+b3ZlcmxheS0+cmVnX2JvKTsKIAlrZnJlZShkZXZfcHJpdi0+b3ZlcmxheSk7CiB9CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IGE5NjIxN2M4NDBiNS4uYjA5MGZjZTE4ZjczIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTU4NzksNyArNTg3OSw3IEBAIHN0YXRpYyB2b2lk IHZhbGxleXZpZXdfY2xlYW51cF9wY3R4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAlpZiAoV0FSTl9PTighZGV2X3ByaXYtPnZsdl9wY3R4KSkKIAkJcmV0dXJuOwogCi0JaTkx NV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZChkZXZfcHJpdi0+dmx2X3BjdHgpOworCWk5MTVfZ2Vt X29iamVjdF9wdXQoZGV2X3ByaXYtPnZsdl9wY3R4KTsKIAlkZXZfcHJpdi0+dmx2X3BjdHggPSBO VUxMOwogfQogCi0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==