From: Aishwarya Pant Subject: [PATCH] drm/amdgpu: replace dev_* with DRM_DEV_* equivalents Date: Thu, 28 Sep 2017 19:50:40 +0530 Message-ID: <20170928142040.GA30838@aishwarya> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 970D06E95F for ; Thu, 28 Sep 2017 14:37:04 +0000 (UTC) Received: by mail-pg0-x242.google.com with SMTP id u18so2258584pgo.1 for ; Thu, 28 Sep 2017 07:37:04 -0700 (PDT) Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , Jani Nikula , Sean Paul , David Airlie , dri-devel@lists.freedesktop.org Cc: outreachy-kernel@googlegroups.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCB3YXMgZ2VuZXJhdGVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29jY2kgc2NyaXB0 OgoKQEAKQEAKCigKLSBkZXZfaW5mbworIERSTV9ERVZfSU5GTwooLi4uKQp8Ci0gZGV2X2Vycgor IERSTV9ERVZfRVJST1IKKC4uLikKfAotIGRldl9kYmcKKyBEUk1fREVWX0RFQlVHCiguLi4pCikK ClNpZ25lZC1vZmYtYnk6IEFpc2h3YXJ5YSBQYW50IDxhaXNocGFudEBnbWFpbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FjcC5jICAgICB8ICA2ICsrLS0KIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYyAgfCAxMCArKystLS0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMgIHwgNDYgKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k aXNwbGF5LmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZiLmMg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYyAg IHwgIDQgKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMgICAgIHwg MTAgKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dmeC5jICAgICB8 ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaWIuYyAgICAgIHwgMTIg KysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9paC5jICAgICAgfCAg NCArLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYyAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ttcy5jICAgICB8IDEyICsrKyst LS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgIHwgMTQgKysr Ky0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYyAgICAgIHwgIDIg Ky0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5nLmMgICAgfCAxMiArKysr LS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3NhLmMgICAgICB8IDEyICsr KystLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuYyAgIHwgIDgg KystLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyAgICAgfCAgNiAr Ky0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMgICAgIHwgMTAgKysr LS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Zjbi5jICAgICB8ICA2ICsr LS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jICAgICAgfCAgNiArKy0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWsuYyAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19paC5jICAgICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX3NkbWEuYyAgICAgICB8ICA2ICsrLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2N6X2loLmMgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvZGNlX3YxMF8wLmMgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjExXzAuYyAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2RjZV92OF8wLmMgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvZ2Z4X3Y3XzAuYyAgICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z2Z4X3Y4XzAuYyAgICAgICB8ICA2ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dm eF92OV8wLmMgICAgICAgfCAyMCArKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9nbWNfdjZfMC5jICAgICAgIHwgMjAgKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvZ21jX3Y3XzAuYyAgICAgICB8IDEyICsrKystLS0tCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9nbWNfdjhfMC5jICAgICAgIHwgMTYgKysrKystLS0tLQogZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y5XzAuYyAgICAgICB8IDEwICsrKy0tLS0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRfaWguYyAgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvcHNwX3YxMF8wLmMgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9wc3BfdjNfMS5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L3NkbWFfdjJfNC5jICAgICAgfCAgNiArKy0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9zZG1hX3YzXzAuYyAgICAgIHwgIDYgKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvc2RtYV92NF8wLmMgICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv c2lfZG1hLmMgICAgICAgICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lf aWguYyAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5j ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMg ICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYyAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjdfMC5jICAgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92M18wLmMgICAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdmNlX3Y0XzAuYyAgICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92aS5jICAgICAgICAgICAgIHwgIDIgKy0KIDUwIGZp bGVzIGNoYW5nZWQsIDE2OCBpbnNlcnRpb25zKCspLCAxNjggZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FjcC5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FjcC5jCmluZGV4IGE1Mjc5NWQuLmM1OWI3MDEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hY3AuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYWNwLmMKQEAgLTI0NSw3ICsyNDUsNyBA QCBzdGF0aWMgc3RydWN0IGRldmljZSAqZ2V0X21mZF9jZWxsX2Rldihjb25zdCBjaGFyICpkZXZp Y2VfbmFtZSwgaW50IHIpCiAJc25wcmludGYoYXV0b19kZXZfbmFtZSwgc2l6ZW9mKGF1dG9fZGV2 X25hbWUpLAogCQkgIiVzLiVkLmF1dG8iLCBkZXZpY2VfbmFtZSwgcik7CiAJZGV2ID0gYnVzX2Zp bmRfZGV2aWNlX2J5X25hbWUoJnBsYXRmb3JtX2J1c190eXBlLCBOVUxMLCBhdXRvX2Rldl9uYW1l KTsKLQlkZXZfaW5mbyhkZXYsICJkZXZpY2UgJXMgYWRkZWQgdG8gcG0gZG9tYWluXG4iLCBhdXRv X2Rldl9uYW1lKTsKKwlEUk1fREVWX0lORk8oZGV2LCAiZGV2aWNlICVzIGFkZGVkIHRvIHBtIGRv bWFpblxuIiwgYXV0b19kZXZfbmFtZSk7CiAKIAlyZXR1cm4gZGV2OwogfQpAQCAtMzk0LDcgKzM5 NCw3IEBAIHN0YXRpYyBpbnQgYWNwX2h3X2luaXQodm9pZCAqaGFuZGxlKQogCQkJZGV2ID0gZ2V0 X21mZF9jZWxsX2RldihhZGV2LT5hY3AuYWNwX2NlbGxbaV0ubmFtZSwgaSk7CiAJCQlyID0gcG1f Z2VucGRfYWRkX2RldmljZSgmYWRldi0+YWNwLmFjcF9nZW5wZC0+Z3BkLCBkZXYpOwogCQkJaWYg KHIpIHsKLQkJCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBhZGQgZGV2IHRvIGdlbnBkXG4iKTsK KwkJCQlEUk1fREVWX0VSUk9SKGRldiwgIkZhaWxlZCB0byBhZGQgZGV2IHRvIGdlbnBkXG4iKTsK IAkJCQlyZXR1cm4gcjsKIAkJCX0KIAkJfQpAQCAtNDI1LDcgKzQyNSw3IEBAIHN0YXRpYyBpbnQg YWNwX2h3X2Zpbmkodm9pZCAqaGFuZGxlKQogCQkJcmV0ID0gcG1fZ2VucGRfcmVtb3ZlX2Rldmlj ZSgmYWRldi0+YWNwLmFjcF9nZW5wZC0+Z3BkLCBkZXYpOwogCQkJLyogSWYgcmVtb3ZhbCBmYWls cywgZG9udCBnaXZldXAgYW5kIHRyeSByZXN0ICovCiAJCQlpZiAocmV0KQotCQkJCWRldl9lcnIo ZGV2LCAicmVtb3ZlIGRldiBmcm9tIGdlbnBkIGZhaWxlZFxuIik7CisJCQkJRFJNX0RFVl9FUlJP UihkZXYsICJyZW1vdmUgZGV2IGZyb20gZ2VucGQgZmFpbGVkXG4iKTsKIAkJfQogCQlrZnJlZShh ZGV2LT5hY3AuYWNwX2dlbnBkKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfYW1ka2ZkLmMKaW5kZXggNTQzMmFmMy4uYWQxYTE5ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMKQEAgLTg1LDcgKzg1LDcgQEAgdm9pZCBhbWRncHVf YW1ka2ZkX2RldmljZV9wcm9iZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJa2ZkMmtn ZCA9IGFtZGdwdV9hbWRrZmRfZ2Z4XzhfMF9nZXRfZnVuY3Rpb25zKCk7CiAJCWJyZWFrOwogCWRl ZmF1bHQ6Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgImtmZCBub3Qgc3VwcG9ydGVkIG9uIHRoaXMg QVNJQ1xuIik7CisJCURSTV9ERVZfSU5GTyhhZGV2LT5kZXYsICJrZmQgbm90IHN1cHBvcnRlZCBv biB0aGlzIEFTSUNcbiIpOwogCQlyZXR1cm47CiAJfQogCkBAIC0xODYsNyArMTg2LDcgQEAgaW50 IGFsbG9jX2d0dF9tZW0oc3RydWN0IGtnZF9kZXYgKmtnZCwgc2l6ZV90IHNpemUsCiAJCQkgICAg IEFNREdQVV9HRU1fQ1JFQVRFX0NQVV9HVFRfVVNXQywgTlVMTCwgTlVMTCwgMCwKIAkJCSAgICAg JigqbWVtKS0+Ym8pOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LAorCQlEUk1fREVW X0VSUk9SKGFkZXYtPmRldiwKIAkJCSJmYWlsZWQgdG8gYWxsb2NhdGUgQk8gZm9yIGFtZGtmZCAo JWQpXG4iLCByKTsKIAkJcmV0dXJuIHI7CiAJfQpAQCAtMTk0LDIxICsxOTQsMjEgQEAgaW50IGFs bG9jX2d0dF9tZW0oc3RydWN0IGtnZF9kZXYgKmtnZCwgc2l6ZV90IHNpemUsCiAJLyogbWFwIHRo ZSBidWZmZXIgKi8KIAlyID0gYW1kZ3B1X2JvX3Jlc2VydmUoKCptZW0pLT5ibywgdHJ1ZSk7CiAJ aWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byByZXNlcnZlIGJv IGZvciBhbWRrZmRcbiIsIHIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiglZCkgZmFp bGVkIHRvIHJlc2VydmUgYm8gZm9yIGFtZGtmZFxuIiwgcik7CiAJCWdvdG8gYWxsb2NhdGVfbWVt X3Jlc2VydmVfYm9fZmFpbGVkOwogCX0KIAogCXIgPSBhbWRncHVfYm9fcGluKCgqbWVtKS0+Ym8s IEFNREdQVV9HRU1fRE9NQUlOX0dUVCwKIAkJCQkmKCptZW0pLT5ncHVfYWRkcik7CiAJaWYgKHIp IHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBwaW4gYm8gZm9yIGFtZGtm ZFxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBmYWlsZWQgdG8gcGlu IGJvIGZvciBhbWRrZmRcbiIsIHIpOwogCQlnb3RvIGFsbG9jYXRlX21lbV9waW5fYm9fZmFpbGVk OwogCX0KIAkqZ3B1X2FkZHIgPSAoKm1lbSktPmdwdV9hZGRyOwogCiAJciA9IGFtZGdwdV9ib19r bWFwKCgqbWVtKS0+Ym8sICYoKm1lbSktPmNwdV9wdHIpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIo YWRldi0+ZGV2LAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwKIAkJCSIoJWQpIGZhaWxlZCB0 byBtYXAgYm8gdG8ga2VybmVsIGZvciBhbWRrZmRcbiIsIHIpOwogCQlnb3RvIGFsbG9jYXRlX21l bV9rbWFwX2JvX2ZhaWxlZDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZGV2aWNlLmMKaW5kZXggZTYzMGQ5MS4uZGJjNzk1OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kZXZpY2UuYwpAQCAtNjA1LDcgKzYwNSw3IEBAIHZvaWQgYW1kZ3B1X3Zy YW1fbG9jYXRpb24oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfbWMg Km1jLCB1NjQKIAltYy0+dnJhbV9lbmQgPSBtYy0+dnJhbV9zdGFydCArIG1jLT5tY192cmFtX3Np emUgLSAxOwogCWlmIChsaW1pdCAmJiBsaW1pdCA8IG1jLT5yZWFsX3ZyYW1fc2l6ZSkKIAkJbWMt PnJlYWxfdnJhbV9zaXplID0gbGltaXQ7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiVlJBTTogJWxs dU0gMHglMDE2bGxYIC0gMHglMDE2bGxYICglbGx1TSB1c2VkKVxuIiwKKwlEUk1fREVWX0lORk8o YWRldi0+ZGV2LCAiVlJBTTogJWxsdU0gMHglMDE2bGxYIC0gMHglMDE2bGxYICglbGx1TSB1c2Vk KVxuIiwKIAkJCW1jLT5tY192cmFtX3NpemUgPj4gMjAsIG1jLT52cmFtX3N0YXJ0LAogCQkJbWMt PnZyYW1fZW5kLCBtYy0+cmVhbF92cmFtX3NpemUgPj4gMjApOwogfQpAQCAtNjQyLDcgKzY0Miw3 IEBAIHZvaWQgYW1kZ3B1X2dhcnRfbG9jYXRpb24oc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs IHN0cnVjdCBhbWRncHVfbWMgKm1jKQogCQltYy0+Z2FydF9zdGFydCA9IG1jLT52cmFtX2VuZCAr IDE7CiAJfQogCW1jLT5nYXJ0X2VuZCA9IG1jLT5nYXJ0X3N0YXJ0ICsgbWMtPmdhcnRfc2l6ZSAt IDE7Ci0JZGV2X2luZm8oYWRldi0+ZGV2LCAiR1RUOiAlbGx1TSAweCUwMTZsbFggLSAweCUwMTZs bFhcbiIsCisJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIkdUVDogJWxsdU0gMHglMDE2bGxYIC0g MHglMDE2bGxYXG4iLAogCQkJbWMtPmdhcnRfc2l6ZSA+PiAyMCwgbWMtPmdhcnRfc3RhcnQsIG1j LT5nYXJ0X2VuZCk7CiB9CiAKQEAgLTcyOCw3ICs3MjgsNyBAQCBpbnQgYW1kZ3B1X2R1bW15X3Bh Z2VfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAlhZGV2LT5kdW1teV9wYWdlLmFk ZHIgPSBwY2lfbWFwX3BhZ2UoYWRldi0+cGRldiwgYWRldi0+ZHVtbXlfcGFnZS5wYWdlLAogCQkJ CQkwLCBQQUdFX1NJWkUsIFBDSV9ETUFfQklESVJFQ1RJT05BTCk7CiAJaWYgKHBjaV9kbWFfbWFw cGluZ19lcnJvcihhZGV2LT5wZGV2LCBhZGV2LT5kdW1teV9wYWdlLmFkZHIpKSB7Ci0JCWRldl9l cnIoJmFkZXYtPnBkZXYtPmRldiwgIkZhaWxlZCB0byBETUEgTUFQIHRoZSBkdW1teSBwYWdlXG4i KTsKKwkJRFJNX0RFVl9FUlJPUigmYWRldi0+cGRldi0+ZGV2LCAiRmFpbGVkIHRvIERNQSBNQVAg dGhlIGR1bW15IHBhZ2VcbiIpOwogCQlfX2ZyZWVfcGFnZShhZGV2LT5kdW1teV9wYWdlLnBhZ2Up OwogCQlhZGV2LT5kdW1teV9wYWdlLnBhZ2UgPSBOVUxMOwogCQlyZXR1cm4gLUVOT01FTTsKQEAg LTEzOTYsMTQgKzEzOTYsMTQgQEAgc3RhdGljIGludCBhbWRncHVfZGV2aWNlX3BhcnNlX2dwdV9p bmZvX2Z3KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCXNucHJpbnRmKGZ3X25hbWUsIHNp emVvZihmd19uYW1lKSwgImFtZGdwdS8lc19ncHVfaW5mby5iaW4iLCBjaGlwX25hbWUpOwogCWVy ciA9IHJlcXVlc3RfZmlybXdhcmUoJmFkZXYtPmZpcm13YXJlLmdwdV9pbmZvX2Z3LCBmd19uYW1l LCBhZGV2LT5kZXYpOwogCWlmIChlcnIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsCisJCURSTV9E RVZfRVJST1IoYWRldi0+ZGV2LAogCQkJIkZhaWxlZCB0byBsb2FkIGdwdV9pbmZvIGZpcm13YXJl IFwiJXNcIlxuIiwKIAkJCWZ3X25hbWUpOwogCQlnb3RvIG91dDsKIAl9CiAJZXJyID0gYW1kZ3B1 X3Vjb2RlX3ZhbGlkYXRlKGFkZXYtPmZpcm13YXJlLmdwdV9pbmZvX2Z3KTsKIAlpZiAoZXJyKSB7 Ci0JCWRldl9lcnIoYWRldi0+ZGV2LAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwKIAkJCSJG YWlsZWQgdG8gdmFsaWRhdGUgZ3B1X2luZm8gZmlybXdhcmUgXCIlc1wiXG4iLAogCQkJZndfbmFt ZSk7CiAJCWdvdG8gb3V0OwpAQCAtMTQ0MCw3ICsxNDQwLDcgQEAgc3RhdGljIGludCBhbWRncHVf ZGV2aWNlX3BhcnNlX2dwdV9pbmZvX2Z3KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQli cmVhazsKIAl9CiAJZGVmYXVsdDoKLQkJZGV2X2VycihhZGV2LT5kZXYsCisJCURSTV9ERVZfRVJS T1IoYWRldi0+ZGV2LAogCQkJIlVuc3VwcG9ydGVkIGdwdV9pbmZvIHRhYmxlICVkXG4iLCBoZHIt PmhlYWRlci51Y29kZV92ZXJzaW9uKTsKIAkJZXJyID0gLUVJTlZBTDsKIAkJZ290byBvdXQ7CkBA IC0yMDk0LDcgKzIwOTQsNyBAQCBpbnQgYW1kZ3B1X2RldmljZV9pbml0KHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LAogCiAJciA9IGFtZGdwdV9hdG9tYmlvc19pbml0KGFkZXYpOwogCWlmIChy KSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiYW1kZ3B1X2F0b21iaW9zX2luaXQgZmFpbGVkXG4i KTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJhbWRncHVfYXRvbWJpb3NfaW5pdCBmYWls ZWRcbiIpOwogCQlhbWRncHVfdmZfZXJyb3JfcHV0KEFNREdJTV9FUlJPUl9WRl9BVE9NQklPU19J TklUX0ZBSUwsIDAsIDApOwogCQlnb3RvIGZhaWxlZDsKIAl9CkBAIC0yMTA1LDcgKzIxMDUsNyBA QCBpbnQgYW1kZ3B1X2RldmljZV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCS8q IFBvc3QgY2FyZCBpZiBuZWNlc3NhcnkgKi8KIAlpZiAoYW1kZ3B1X3Zwb3N0X25lZWRlZChhZGV2 KSkgewogCQlpZiAoIWFkZXYtPmJpb3MpIHsKLQkJCWRldl9lcnIoYWRldi0+ZGV2LCAibm8gdkJJ T1MgZm91bmRcbiIpOworCQkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJubyB2QklPUyBmb3Vu ZFxuIik7CiAJCQlhbWRncHVfdmZfZXJyb3JfcHV0KEFNREdJTV9FUlJPUl9WRl9OT19WQklPUywg MCwgMCk7CiAJCQlyID0gLUVJTlZBTDsKIAkJCWdvdG8gZmFpbGVkOwpAQCAtMjExMyw3ICsyMTEz LDcgQEAgaW50IGFtZGdwdV9kZXZpY2VfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwK IAkJRFJNX0lORk8oIkdQVSBwb3N0aW5nIG5vdy4uLlxuIik7CiAJCXIgPSBhbWRncHVfYXRvbV9h c2ljX2luaXQoYWRldi0+bW9kZV9pbmZvLmF0b21fY29udGV4dCk7CiAJCWlmIChyKSB7Ci0JCQlk ZXZfZXJyKGFkZXYtPmRldiwgImdwdSBwb3N0IGVycm9yIVxuIik7CisJCQlEUk1fREVWX0VSUk9S KGFkZXYtPmRldiwgImdwdSBwb3N0IGVycm9yIVxuIik7CiAJCQlhbWRncHVfdmZfZXJyb3JfcHV0 KEFNREdJTV9FUlJPUl9WRl9HUFVfUE9TVF9FUlJPUiwgMCwgMCk7CiAJCQlnb3RvIGZhaWxlZDsK IAkJfQpAQCAtMjEyNSw3ICsyMTI1LDcgQEAgaW50IGFtZGdwdV9kZXZpY2VfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwKIAkJLyogSW5pdGlhbGl6ZSBjbG9ja3MgKi8KIAkJciA9IGFt ZGdwdV9hdG9tZmlybXdhcmVfZ2V0X2Nsb2NrX2luZm8oYWRldik7CiAJCWlmIChyKSB7Ci0JCQlk ZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV9hdG9tZmlybXdhcmVfZ2V0X2Nsb2NrX2luZm8gZmFp bGVkXG4iKTsKKwkJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiYW1kZ3B1X2F0b21maXJtd2Fy ZV9nZXRfY2xvY2tfaW5mbyBmYWlsZWRcbiIpOwogCQkJYW1kZ3B1X3ZmX2Vycm9yX3B1dChBTURH SU1fRVJST1JfVkZfQVRPTUJJT1NfR0VUX0NMT0NLX0ZBSUwsIDAsIDApOwogCQkJZ290byBmYWls ZWQ7CiAJCX0KQEAgLTIxMzMsNyArMjEzMyw3IEBAIGludCBhbWRncHVfZGV2aWNlX2luaXQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCS8qIEluaXRpYWxpemUgY2xvY2tzICovCiAJCXIg PSBhbWRncHVfYXRvbWJpb3NfZ2V0X2Nsb2NrX2luZm8oYWRldik7CiAJCWlmIChyKSB7Ci0JCQlk ZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV9hdG9tYmlvc19nZXRfY2xvY2tfaW5mbyBmYWlsZWRc biIpOworCQkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJhbWRncHVfYXRvbWJpb3NfZ2V0X2Ns b2NrX2luZm8gZmFpbGVkXG4iKTsKIAkJCWFtZGdwdV92Zl9lcnJvcl9wdXQoQU1ER0lNX0VSUk9S X1ZGX0FUT01CSU9TX0dFVF9DTE9DS19GQUlMLCAwLCAwKTsKIAkJCWdvdG8gZmFpbGVkOwogCQl9 CkBAIC0yMTQ0LDcgKzIxNDQsNyBAQCBpbnQgYW1kZ3B1X2RldmljZV9pbml0KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LAogCS8qIEZlbmNlIGRyaXZlciAqLwogCXIgPSBhbWRncHVfZmVuY2Vf ZHJpdmVyX2luaXQoYWRldik7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICJhbWRn cHVfZmVuY2VfZHJpdmVyX2luaXQgZmFpbGVkXG4iKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5k ZXYsICJhbWRncHVfZmVuY2VfZHJpdmVyX2luaXQgZmFpbGVkXG4iKTsKIAkJYW1kZ3B1X3ZmX2Vy cm9yX3B1dChBTURHSU1fRVJST1JfVkZfRkVOQ0VfSU5JVF9GQUlMLCAwLCAwKTsKIAkJZ290byBm YWlsZWQ7CiAJfQpAQCAtMjE1NCw3ICsyMTU0LDcgQEAgaW50IGFtZGdwdV9kZXZpY2VfaW5pdChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAogCXIgPSBhbWRncHVfaW5pdChhZGV2KTsKIAlp ZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV9pbml0IGZhaWxlZFxuIik7CisJ CURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiYW1kZ3B1X2luaXQgZmFpbGVkXG4iKTsKIAkJYW1k Z3B1X3ZmX2Vycm9yX3B1dChBTURHSU1fRVJST1JfVkZfQU1ER1BVX0lOSVRfRkFJTCwgMCwgMCk7 CiAJCWFtZGdwdV9maW5pKGFkZXYpOwogCQlnb3RvIGZhaWxlZDsKQEAgLTIxNzQsNyArMjE3NCw3 IEBAIGludCBhbWRncHVfZGV2aWNlX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAK IAlyID0gYW1kZ3B1X2liX3Bvb2xfaW5pdChhZGV2KTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFk ZXYtPmRldiwgIklCIGluaXRpYWxpemF0aW9uIGZhaWxlZCAoJWQpLlxuIiwgcik7CisJCURSTV9E RVZfRVJST1IoYWRldi0+ZGV2LCAiSUIgaW5pdGlhbGl6YXRpb24gZmFpbGVkICglZCkuXG4iLCBy KTsKIAkJYW1kZ3B1X3ZmX2Vycm9yX3B1dChBTURHSU1fRVJST1JfVkZfSUJfSU5JVF9GQUlMLCAw LCByKTsKIAkJZ290byBmYWlsZWQ7CiAJfQpAQCAtMjIxOSw3ICsyMjE5LDcgQEAgaW50IGFtZGdw dV9kZXZpY2VfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkgKi8KIAlyID0gYW1k Z3B1X2xhdGVfaW5pdChhZGV2KTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImFt ZGdwdV9sYXRlX2luaXQgZmFpbGVkXG4iKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJh bWRncHVfbGF0ZV9pbml0IGZhaWxlZFxuIik7CiAJCWFtZGdwdV92Zl9lcnJvcl9wdXQoQU1ER0lN X0VSUk9SX1ZGX0FNREdQVV9MQVRFX0lOSVRfRkFJTCwgMCwgcik7CiAJCWdvdG8gZmFpbGVkOwog CX0KQEAgLTI3MDksNyArMjcwOSw3IEBAIGludCBhbWRncHVfc3Jpb3ZfZ3B1X3Jlc2V0KHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X2pvYiAqam9iKQogCWFtZGdwdV9p cnFfZ3B1X3Jlc2V0X3Jlc3VtZV9oZWxwZXIoYWRldik7CiAKIAlpZiAoYW1kZ3B1X2liX3Jpbmdf dGVzdHMoYWRldikpCi0JCWRldl9lcnIoYWRldi0+ZGV2LCAiW0dQVV9SRVNFVF0gaWIgcmluZyB0 ZXN0IGZhaWxlZCAoJWQpLlxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiW0dQ VV9SRVNFVF0gaWIgcmluZyB0ZXN0IGZhaWxlZCAoJWQpLlxuIiwgcik7CiAKIAkvKiByZWxlYXNl IGZ1bGwgY29udHJvbCBvZiBHUFUgYWZ0ZXIgaWIgdGVzdCAqLwogCWFtZGdwdV92aXJ0X3JlbGVh c2VfZnVsbF9ncHUoYWRldiwgdHJ1ZSk7CkBAIC0yNzYwLDkgKzI3NjAsOSBAQCBpbnQgYW1kZ3B1 X3NyaW92X2dwdV9yZXNldChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdw dV9qb2IgKmpvYikKIAl0dG1fYm9fdW5sb2NrX2RlbGF5ZWRfd29ya3F1ZXVlKCZhZGV2LT5tbWFu LmJkZXYsIHJlc2NoZWQpOwogCWlmIChyKSB7CiAJCS8qIGJhZCBuZXdzLCBob3cgdG8gdGVsbCBp dCB0byB1c2Vyc3BhY2UgPyAqLwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJHUFUgcmVzZXQgZmFp bGVkXG4iKTsKKwkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIkdQVSByZXNldCBmYWlsZWRcbiIp OwogCX0gZWxzZSB7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIkdQVSByZXNldCBzdWNjZXNzZWQh XG4iKTsKKwkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIkdQVSByZXNldCBzdWNjZXNzZWQhXG4i KTsKIAl9CiAKIAlhZGV2LT5nZnguaW5fcmVzZXQgPSBmYWxzZTsKQEAgLTI4MjksNyArMjgyOSw3 IEBAIGludCBhbWRncHVfZ3B1X3Jlc2V0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQlh bWRncHVfYXRvbV9hc2ljX2luaXQoYWRldi0+bW9kZV9pbmZvLmF0b21fY29udGV4dCk7CiAKIAkJ aWYgKCFyKSB7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJHUFUgcmVzZXQgc3VjY2VlZGVkLCB0 cnlpbmcgdG8gcmVzdW1lXG4iKTsKKwkJCURSTV9ERVZfSU5GTyhhZGV2LT5kZXYsICJHUFUgcmVz ZXQgc3VjY2VlZGVkLCB0cnlpbmcgdG8gcmVzdW1lXG4iKTsKIAkJCXIgPSBhbWRncHVfcmVzdW1l X3BoYXNlMShhZGV2KTsKIAkJCWlmIChyKQogCQkJCWdvdG8gb3V0OwpAQCAtMjg1Myw3ICsyODUz LDcgQEAgaW50IGFtZGdwdV9ncHVfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJ CWFtZGdwdV9pcnFfZ3B1X3Jlc2V0X3Jlc3VtZV9oZWxwZXIoYWRldik7CiAJCXIgPSBhbWRncHVf aWJfcmluZ190ZXN0cyhhZGV2KTsKIAkJaWYgKHIpIHsKLQkJCWRldl9lcnIoYWRldi0+ZGV2LCAi aWIgcmluZyB0ZXN0IGZhaWxlZCAoJWQpLlxuIiwgcik7CisJCQlEUk1fREVWX0VSUk9SKGFkZXYt PmRldiwgImliIHJpbmcgdGVzdCBmYWlsZWQgKCVkKS5cbiIsIHIpOwogCQkJciA9IGFtZGdwdV9z dXNwZW5kKGFkZXYpOwogCQkJbmVlZF9mdWxsX3Jlc2V0ID0gdHJ1ZTsKIAkJCWdvdG8gcmV0cnk7 CkBAIC0yOTAxLDcgKzI5MDEsNyBAQCBpbnQgYW1kZ3B1X2dwdV9yZXNldChzdHJ1Y3QgYW1kZ3B1 X2RldmljZSAqYWRldikKIAkJCWt0aHJlYWRfdW5wYXJrKHJpbmctPnNjaGVkLnRocmVhZCk7CiAJ CX0KIAl9IGVsc2UgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImFzaWMgcmVzdW1lIGZhaWxlZCAo JWQpLlxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiYXNpYyByZXN1bWUgZmFp bGVkICglZCkuXG4iLCByKTsKIAkJYW1kZ3B1X3ZmX2Vycm9yX3B1dChBTURHSU1fRVJST1JfVkZf QVNJQ19SRVNVTUVfRkFJTCwgMCwgcik7CiAJCWZvciAoaSA9IDA7IGkgPCBBTURHUFVfTUFYX1JJ TkdTOyArK2kpIHsKIAkJCWlmIChhZGV2LT5yaW5nc1tpXSAmJiBhZGV2LT5yaW5nc1tpXS0+c2No ZWQudGhyZWFkKSB7CkBAIC0yOTE1LDExICsyOTE1LDExIEBAIGludCBhbWRncHVfZ3B1X3Jlc2V0 KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCXR0bV9ib191bmxvY2tfZGVsYXllZF93b3Jr cXVldWUoJmFkZXYtPm1tYW4uYmRldiwgcmVzY2hlZCk7CiAJaWYgKHIpIHsKIAkJLyogYmFkIG5l d3MsIGhvdyB0byB0ZWxsIGl0IHRvIHVzZXJzcGFjZSA/ICovCi0JCWRldl9pbmZvKGFkZXYtPmRl diwgIkdQVSByZXNldCBmYWlsZWRcbiIpOworCQlEUk1fREVWX0lORk8oYWRldi0+ZGV2LCAiR1BV IHJlc2V0IGZhaWxlZFxuIik7CiAJCWFtZGdwdV92Zl9lcnJvcl9wdXQoQU1ER0lNX0VSUk9SX1ZG X0dQVV9SRVNFVF9GQUlMLCAwLCByKTsKIAl9CiAJZWxzZSB7Ci0JCWRldl9pbmZvKGFkZXYtPmRl diwgIkdQVSByZXNldCBzdWNjZXNzZWQhXG4iKTsKKwkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwg IkdQVSByZXNldCBzdWNjZXNzZWQhXG4iKTsKIAl9CiAKIAlhbWRncHVfdmZfZXJyb3JfdHJhbnNf YWxsKGFkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kaXNwbGF5LmMK aW5kZXggNmFkMjQzMi4uZGVjMWE3OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZGlzcGxheS5jCkBAIC01MjksNyArNTI5LDcgQEAgYW1kZ3B1X3VzZXJfZnJhbWVidWZm ZXJfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAlvYmogPSBkcm1fZ2VtX29iamVj dF9sb29rdXAoZmlsZV9wcml2LCBtb2RlX2NtZC0+aGFuZGxlc1swXSk7CiAJaWYgKG9iaiA9PSAg TlVMTCkgewotCQlkZXZfZXJyKCZkZXYtPnBkZXYtPmRldiwgIk5vIEdFTSBvYmplY3QgYXNzb2Np YXRlZCB0byBoYW5kbGUgMHglMDhYLCAiCisJCURSTV9ERVZfRVJST1IoJmRldi0+cGRldi0+ZGV2 LCAiTm8gR0VNIG9iamVjdCBhc3NvY2lhdGVkIHRvIGhhbmRsZSAweCUwOFgsICIKIAkJCSJjYW4n dCBjcmVhdGUgZnJhbWVidWZmZXJcbiIsIG1vZGVfY21kLT5oYW5kbGVzWzBdKTsKIAkJcmV0dXJu IEVSUl9QVFIoLUVOT0VOVCk7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmIu YwppbmRleCA5YWZhOWMwLi43ZWMzZmY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfZmIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZmIuYwpAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1ZmJfY3JlYXRlX3Bp bm5lZF9vYmplY3Qoc3RydWN0IGFtZGdwdV9mYmRldiAqcmZiZGV2LAogCQlyZXQgPSBhbWRncHVf Ym9fc2V0X3RpbGluZ19mbGFncyhhYm8sCiAJCQkJCQkgdGlsaW5nX2ZsYWdzKTsKIAkJaWYgKHJl dCkKLQkJCWRldl9lcnIoYWRldi0+ZGV2LCAiRkIgZmFpbGVkIHRvIHNldCB0aWxpbmcgZmxhZ3Nc biIpOworCQkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJGQiBmYWlsZWQgdG8gc2V0IHRpbGlu ZyBmbGFnc1xuIik7CiAJfQogCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9mZW5jZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Zl bmNlLmMKaW5kZXggMzMzYmFkNy4uZTkyNjk2MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2ZlbmNlLmMKQEAgLTM0MCw3ICszNDAsNyBAQCBpbnQgYW1kZ3B1X2ZlbmNlX2Ry aXZlcl9zdGFydF9yaW5nKHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywKIAlyaW5nLT5mZW5jZV9k cnYuaXJxX3R5cGUgPSBpcnFfdHlwZTsKIAlyaW5nLT5mZW5jZV9kcnYuaW5pdGlhbGl6ZWQgPSB0 cnVlOwogCi0JZGV2X2luZm8oYWRldi0+ZGV2LCAiZmVuY2UgZHJpdmVyIG9uIHJpbmcgJWQgdXNl IGdwdSBhZGRyIDB4JTAxNmxseCwgIgorCURSTV9ERVZfSU5GTyhhZGV2LT5kZXYsICJmZW5jZSBk cml2ZXIgb24gcmluZyAlZCB1c2UgZ3B1IGFkZHIgMHglMDE2bGx4LCAiCiAJCSAiY3B1IGFkZHIg MHglcFxuIiwgcmluZy0+aWR4LAogCQkgcmluZy0+ZmVuY2VfZHJ2LmdwdV9hZGRyLCByaW5nLT5m ZW5jZV9kcnYuY3B1X2FkZHIpOwogCXJldHVybiAwOwpAQCAtNDIzLDcgKzQyMyw3IEBAIGludCBh bWRncHVfZmVuY2VfZHJpdmVyX2luaXRfcmluZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiBp bnQgYW1kZ3B1X2ZlbmNlX2RyaXZlcl9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQog ewogCWlmIChhbWRncHVfZGVidWdmc19mZW5jZV9pbml0KGFkZXYpKQotCQlkZXZfZXJyKGFkZXYt PmRldiwgImZlbmNlIGRlYnVnZnMgZmlsZSBjcmVhdGlvbiBmYWlsZWRcbiIpOworCQlEUk1fREVW X0VSUk9SKGFkZXYtPmRldiwgImZlbmNlIGRlYnVnZnMgZmlsZSBjcmVhdGlvbiBmYWlsZWRcbiIp OwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMK aW5kZXggNzE3MTk2OC4uOWU4NjgyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9nZW0uYwpAQCAtMTgxLDcgKzE4MSw3IEBAIHZvaWQgYW1kZ3B1X2dlbV9vYmplY3RfY2xvc2Uo c3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCiAKIAlyID0gdHRtX2V1X3Jlc2VydmVfYnVmZmVy cygmdGlja2V0LCAmbGlzdCwgZmFsc2UsIE5VTEwpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRl di0+ZGV2LCAibGVha2luZyBibyB2YSBiZWNhdXNlICIKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5k ZXYsICJsZWFraW5nIGJvIHZhIGJlY2F1c2UgIgogCQkJIndlIGZhaWwgdG8gcmVzZXJ2ZSBibyAo JWQpXG4iLCByKTsKIAkJcmV0dXJuOwogCX0KQEAgLTE5NCw3ICsxOTQsNyBAQCB2b2lkIGFtZGdw dV9nZW1fb2JqZWN0X2Nsb3NlKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAogCiAJCQlyID0g YW1kZ3B1X3ZtX2NsZWFyX2ZyZWVkKGFkZXYsIHZtLCAmZmVuY2UpOwogCQkJaWYgKHVubGlrZWx5 KHIpKSB7Ci0JCQkJZGV2X2VycihhZGV2LT5kZXYsICJmYWlsZWQgdG8gY2xlYXIgcGFnZSAiCisJ CQkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJmYWlsZWQgdG8gY2xlYXIgcGFnZSAiCiAJCQkJ CSJ0YWJsZXMgb24gR0VNIG9iamVjdCBjbG9zZSAoJWQpXG4iLCByKTsKIAkJCX0KIApAQCAtNTU2 LDcgKzU1Niw3IEBAIGludCBhbWRncHVfZ2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCiAJaW50IHIgPSAwOwogCiAJaWYgKGFyZ3MtPnZhX2FkZHJlc3MgPCBB TURHUFVfVkFfUkVTRVJWRURfU0laRSkgewotCQlkZXZfZXJyKCZkZXYtPnBkZXYtPmRldiwKKwkJ RFJNX0RFVl9FUlJPUigmZGV2LT5wZGV2LT5kZXYsCiAJCQkidmFfYWRkcmVzcyAweCVsWCBpcyBp biByZXNlcnZlZCBhcmVhIDB4JVhcbiIsCiAJCQkodW5zaWduZWQgbG9uZylhcmdzLT52YV9hZGRy ZXNzLAogCQkJQU1ER1BVX1ZBX1JFU0VSVkVEX1NJWkUpOwpAQCAtNTY0LDcgKzU2NCw3IEBAIGlu dCBhbWRncHVfZ2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CiAJfQogCiAJaWYgKChhcmdzLT5mbGFncyAmIH52YWxpZF9mbGFncykgJiYgKGFyZ3MtPmZsYWdz ICYgfnBydF9mbGFncykpIHsKLQkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYsICJpbnZhbGlkIGZs YWdzIGNvbWJpbmF0aW9uIDB4JTA4WFxuIiwKKwkJRFJNX0RFVl9FUlJPUigmZGV2LT5wZGV2LT5k ZXYsICJpbnZhbGlkIGZsYWdzIGNvbWJpbmF0aW9uIDB4JTA4WFxuIiwKIAkJCWFyZ3MtPmZsYWdz KTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpAQCAtNTc2LDcgKzU3Niw3IEBAIGludCBhbWRncHVf Z2VtX3ZhX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJY2FzZSBB TURHUFVfVkFfT1BfUkVQTEFDRToKIAkJYnJlYWs7CiAJZGVmYXVsdDoKLQkJZGV2X2VycigmZGV2 LT5wZGV2LT5kZXYsICJ1bnN1cHBvcnRlZCBvcGVyYXRpb24gJWRcbiIsCisJCURSTV9ERVZfRVJS T1IoJmRldi0+cGRldi0+ZGV2LCAidW5zdXBwb3J0ZWQgb3BlcmF0aW9uICVkXG4iLAogCQkJYXJn cy0+b3BlcmF0aW9uKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dmeC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2dmeC5jCmluZGV4IDRmNmM2OGYuLjlkMmY3OTMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfZ2Z4LmMKQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMgaW50 IGFtZGdwdV9nZnhfa2lxX2FjcXVpcmUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCXJl dHVybiAwOwogCX0KIAotCWRldl9lcnIoYWRldi0+ZGV2LCAiRmFpbGVkIHRvIGZpbmQgYSBxdWV1 ZSBmb3IgS0lRXG4iKTsKKwlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIkZhaWxlZCB0byBmaW5k IGEgcXVldWUgZm9yIEtJUVxuIik7CiAJcmV0dXJuIC1FSU5WQUw7CiB9CiAKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pYi5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X2liLmMKaW5kZXggNjU5OTk3Yi4uZDhhMDZhMSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2liLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2liLmMKQEAgLTY2LDcgKzY2LDcgQEAgaW50IGFtZGdw dV9pYl9nZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZt LAogCQlyID0gYW1kZ3B1X3NhX2JvX25ldygmYWRldi0+cmluZ190bXBfYm8sCiAJCQkJICAgICAg JmliLT5zYV9ibywgc2l6ZSwgMjU2KTsKIAkJaWYgKHIpIHsKLQkJCWRldl9lcnIoYWRldi0+ZGV2 LCAiZmFpbGVkIHRvIGdldCBhIG5ldyBJQiAoJWQpXG4iLCByKTsKKwkJCURSTV9ERVZfRVJST1Io YWRldi0+ZGV2LCAiZmFpbGVkIHRvIGdldCBhIG5ldyBJQiAoJWQpXG4iLCByKTsKIAkJCXJldHVy biByOwogCQl9CiAKQEAgLTE0NSwxMiArMTQ1LDEyIEBAIGludCBhbWRncHVfaWJfc2NoZWR1bGUo c3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCB1bnNpZ25lZCBudW1faWJzLAogCX0KIAogCWlmICgh cmluZy0+cmVhZHkpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICJjb3VsZG4ndCBzY2hlZHVsZSBp YiBvbiByaW5nIDwlcz5cbiIsIHJpbmctPm5hbWUpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRl diwgImNvdWxkbid0IHNjaGVkdWxlIGliIG9uIHJpbmcgPCVzPlxuIiwgcmluZy0+bmFtZSk7CiAJ CXJldHVybiAtRUlOVkFMOwogCX0KIAogCWlmICh2bSAmJiAham9iLT52bV9pZCkgewotCQlkZXZf ZXJyKGFkZXYtPmRldiwgIlZNIElCIHdpdGhvdXQgSURcbiIpOworCQlEUk1fREVWX0VSUk9SKGFk ZXYtPmRldiwgIlZNIElCIHdpdGhvdXQgSURcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAK QEAgLTE1OSw3ICsxNTksNyBAQCBpbnQgYW1kZ3B1X2liX3NjaGVkdWxlKHN0cnVjdCBhbWRncHVf cmluZyAqcmluZywgdW5zaWduZWQgbnVtX2licywKIAogCXIgPSBhbWRncHVfcmluZ19hbGxvYyhy aW5nLCBhbGxvY19zaXplKTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgInNjaGVk dWxpbmcgSUIgZmFpbGVkICglZCkuXG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYs ICJzY2hlZHVsaW5nIElCIGZhaWxlZCAoJWQpLlxuIiwgcik7CiAJCXJldHVybiByOwogCX0KIApA QCAtMjI4LDcgKzIyOCw3IEBAIGludCBhbWRncHVfaWJfc2NoZWR1bGUoc3RydWN0IGFtZGdwdV9y aW5nICpyaW5nLCB1bnNpZ25lZCBudW1faWJzLAogCiAJciA9IGFtZGdwdV9mZW5jZV9lbWl0KHJp bmcsIGYpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiZmFpbGVkIHRvIGVtaXQg ZmVuY2UgKCVkKVxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiZmFpbGVkIHRv IGVtaXQgZmVuY2UgKCVkKVxuIiwgcik7CiAJCWlmIChqb2IgJiYgam9iLT52bV9pZCkKIAkJCWFt ZGdwdV92bV9yZXNldF9pZChhZGV2LCByaW5nLT5mdW5jcy0+dm1odWIsCiAJCQkJCSAgIGpvYi0+ dm1faWQpOwpAQCAtMjg2LDcgKzI4Niw3IEBAIGludCBhbWRncHVfaWJfcG9vbF9pbml0KHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2KQogCiAJYWRldi0+aWJfcG9vbF9yZWFkeSA9IHRydWU7CiAJ aWYgKGFtZGdwdV9kZWJ1Z2ZzX3NhX2luaXQoYWRldikpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYs ICJmYWlsZWQgdG8gcmVnaXN0ZXIgZGVidWdmcyBmaWxlIGZvciBTQVxuIik7CisJCURSTV9ERVZf RVJST1IoYWRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGRlYnVnZnMgZmlsZSBmb3IgU0Fc biIpOwogCX0KIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9paC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lo LmMKaW5kZXggM2FiNGM2NS4uMTM0YzA5YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2loLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2loLmMKQEAgLTk0LDE0ICs5NCwxNCBAQCBpbnQgYW1kZ3B1X2loX3JpbmdfaW5pdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5zaWduZWQgcmluZ19zaXplLAogCX0gZWxzZSB7CiAJ CXIgPSBhbWRncHVfd2JfZ2V0KGFkZXYsICZhZGV2LT5pcnEuaWgud3B0cl9vZmZzKTsKIAkJaWYg KHIpIHsKLQkJCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBpaCB3cHRyX29mZnMgd2IgYWxsb2Mg ZmFpbGVkXG4iLCByKTsKKwkJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBpaCB3cHRy X29mZnMgd2IgYWxsb2MgZmFpbGVkXG4iLCByKTsKIAkJCXJldHVybiByOwogCQl9CiAKIAkJciA9 IGFtZGdwdV93Yl9nZXQoYWRldiwgJmFkZXYtPmlycS5paC5ycHRyX29mZnMpOwogCQlpZiAocikg ewogCQkJYW1kZ3B1X3diX2ZyZWUoYWRldiwgYWRldi0+aXJxLmloLndwdHJfb2Zmcyk7Ci0JCQlk ZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgaWggcnB0cl9vZmZzIHdiIGFsbG9jIGZhaWxlZFxuIiwg cik7CisJCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiglZCkgaWggcnB0cl9vZmZzIHdiIGFs bG9jIGZhaWxlZFxuIiwgcik7CiAJCQlyZXR1cm4gcjsKIAkJfQogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfaXJxLmMKaW5kZXggNTM4ZTVmMi4uOWNiZDRiYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9pcnEuYwpAQCAtMjM3LDcgKzIzNyw3IEBAIGludCBhbWRn cHVfaXJxX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJCWludCByZXQgPSBwY2lf ZW5hYmxlX21zaShhZGV2LT5wZGV2KTsKIAkJaWYgKCFyZXQpIHsKIAkJCWFkZXYtPmlycS5tc2lf ZW5hYmxlZCA9IHRydWU7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJhbWRncHU6IHVzaW5nIE1T SS5cbiIpOworCQkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgImFtZGdwdTogdXNpbmcgTVNJLlxu Iik7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYwppbmRl eCBlMTYyMjkwLi41ZTJmNTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2tt cy5jCkBAIC05NSw5ICs5NSw5IEBAIGludCBhbWRncHVfZHJpdmVyX2xvYWRfa21zKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJCWNhc2UgQ0hJUF9WRVJERToK IAkJY2FzZSBDSElQX09MQU5EOgogCQljYXNlIENISVBfSEFJTkFOOgotCQkJZGV2X2luZm8oZGV2 LT5kZXYsCisJCQlEUk1fREVWX0lORk8oZGV2LT5kZXYsCiAJCQkJICJTSSBzdXBwb3J0IHByb3Zp ZGVkIGJ5IHJhZGVvbi5cbiIpOwotCQkJZGV2X2luZm8oZGV2LT5kZXYsCisJCQlEUk1fREVWX0lO Rk8oZGV2LT5kZXYsCiAJCQkJICJVc2UgcmFkZW9uLnNpX3N1cHBvcnQ9MCBhbWRncHUuc2lfc3Vw cG9ydD0xIHRvIG92ZXJyaWRlLlxuIgogCQkJCSk7CiAJCQlyZXR1cm4gLUVOT0RFVjsKQEAgLTEx Miw5ICsxMTIsOSBAQCBpbnQgYW1kZ3B1X2RyaXZlcl9sb2FkX2ttcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQogCQljYXNlIENISVBfSEFXQUlJOgogCQljYXNl IENISVBfS0FCSU5JOgogCQljYXNlIENISVBfTVVMTElOUzoKLQkJCWRldl9pbmZvKGRldi0+ZGV2 LAorCQkJRFJNX0RFVl9JTkZPKGRldi0+ZGV2LAogCQkJCSAiQ0lLIHN1cHBvcnQgcHJvdmlkZWQg YnkgcmFkZW9uLlxuIik7Ci0JCQlkZXZfaW5mbyhkZXYtPmRldiwKKwkJCURSTV9ERVZfSU5GTyhk ZXYtPmRldiwKIAkJCQkgIlVzZSByYWRlb24uY2lrX3N1cHBvcnQ9MCBhbWRncHUuY2lrX3N1cHBv cnQ9MSB0byBvdmVycmlkZS5cbiIKIAkJCQkpOwogCQkJcmV0dXJuIC1FTk9ERVY7CkBAIC0xNDQs NyArMTQ0LDcgQEAgaW50IGFtZGdwdV9kcml2ZXJfbG9hZF9rbXMoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdW5zaWduZWQgbG9uZyBmbGFncykKIAkgKi8KIAlyID0gYW1kZ3B1X2RldmljZV9pbml0 KGFkZXYsIGRldiwgZGV2LT5wZGV2LCBmbGFncyk7CiAJaWYgKHIpIHsKLQkJZGV2X2VycigmZGV2 LT5wZGV2LT5kZXYsICJGYXRhbCBlcnJvciBkdXJpbmcgR1BVIGluaXRcbiIpOworCQlEUk1fREVW X0VSUk9SKCZkZXYtPnBkZXYtPmRldiwgIkZhdGFsIGVycm9yIGR1cmluZyBHUFUgaW5pdFxuIik7 CiAJCWdvdG8gb3V0OwogCX0KIApAQCAtMTU0LDcgKzE1NCw3IEBAIGludCBhbWRncHVfZHJpdmVy X2xvYWRfa21zKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCiAJ aWYgKCFyKSB7CiAJCWFjcGlfc3RhdHVzID0gYW1kZ3B1X2FjcGlfaW5pdChhZGV2KTsKIAkJaWYg KGFjcGlfc3RhdHVzKQotCQlkZXZfZGJnKCZkZXYtPnBkZXYtPmRldiwKKwkJRFJNX0RFVl9ERUJV RygmZGV2LT5wZGV2LT5kZXYsCiAJCQkJIkVycm9yIGR1cmluZyBBQ1BJIG1ldGhvZHMgY2FsbFxu Iik7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf b2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKaW5k ZXggOWU0OTVkYS4uMWVhOTc3ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X29iamVjdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9vYmplY3QuYwpAQCAtMjAyLDcgKzIwMiw3IEBAIGludCBhbWRncHVfYm9fY3JlYXRlX3Jlc2Vy dmVkKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCQkJCSAgICAgQU1ER1BVX0dFTV9DUkVB VEVfVlJBTV9DT05USUdVT1VTLAogCQkJCSAgICAgTlVMTCwgTlVMTCwgMCwgYm9fcHRyKTsKIAkJ aWYgKHIpIHsKLQkJCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBmYWlsZWQgdG8gYWxsb2NhdGUg a2VybmVsIGJvXG4iLAorCQkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0 byBhbGxvY2F0ZSBrZXJuZWwgYm9cbiIsCiAJCQkJcik7CiAJCQlyZXR1cm4gcjsKIAkJfQpAQCAt MjExLDIwICsyMTEsMjAgQEAgaW50IGFtZGdwdV9ib19jcmVhdGVfcmVzZXJ2ZWQoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCiAKIAlyID0gYW1kZ3B1X2JvX3Jlc2VydmUoKmJvX3B0ciwgZmFs c2UpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBmYWlsZWQgdG8gcmVz ZXJ2ZSBrZXJuZWwgYm9cbiIsIHIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiglZCkg ZmFpbGVkIHRvIHJlc2VydmUga2VybmVsIGJvXG4iLCByKTsKIAkJZ290byBlcnJvcl9mcmVlOwog CX0KIAogCXIgPSBhbWRncHVfYm9fcGluKCpib19wdHIsIGRvbWFpbiwgZ3B1X2FkZHIpOwogCWlm IChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBrZXJuZWwgYm8gcGluIGZhaWxlZFxu Iiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBrZXJuZWwgYm8gcGluIGZh aWxlZFxuIiwgcik7CiAJCWdvdG8gZXJyb3JfdW5yZXNlcnZlOwogCX0KIAogCWlmIChjcHVfYWRk cikgewogCQlyID0gYW1kZ3B1X2JvX2ttYXAoKmJvX3B0ciwgY3B1X2FkZHIpOwogCQlpZiAocikg ewotCQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGtlcm5lbCBibyBtYXAgZmFpbGVkXG4iLCBy KTsKKwkJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBrZXJuZWwgYm8gbWFwIGZhaWxl ZFxuIiwgcik7CiAJCQlnb3RvIGVycm9yX3VucmVzZXJ2ZTsKIAkJfQogCX0KQEAgLTczMCw3ICs3 MzAsNyBAQCBpbnQgYW1kZ3B1X2JvX3Bpbl9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfYm8gKmJv LCB1MzIgZG9tYWluLAogCiAJciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRibywgJmJvLT5wbGFj ZW1lbnQsIGZhbHNlLCBmYWxzZSk7CiAJaWYgKHVubGlrZWx5KHIpKSB7Ci0JCWRldl9lcnIoYWRl di0+ZGV2LCAiJXAgcGluIGZhaWxlZFxuIiwgYm8pOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRl diwgIiVwIHBpbiBmYWlsZWRcbiIsIGJvKTsKIAkJZ290byBlcnJvcjsKIAl9CiAKQEAgLTczOCw3 ICs3MzgsNyBAQCBpbnQgYW1kZ3B1X2JvX3Bpbl9yZXN0cmljdGVkKHN0cnVjdCBhbWRncHVfYm8g KmJvLCB1MzIgZG9tYWluLAogCWlmIChncHVfYWRkciAhPSBOVUxMKSB7CiAJCXIgPSBhbWRncHVf dHRtX2JpbmQoJmJvLT50Ym8sICZiby0+dGJvLm1lbSk7CiAJCWlmICh1bmxpa2VseShyKSkgewot CQkJZGV2X2VycihhZGV2LT5kZXYsICIlcCBiaW5kIGZhaWxlZFxuIiwgYm8pOworCQkJRFJNX0RF Vl9FUlJPUihhZGV2LT5kZXYsICIlcCBiaW5kIGZhaWxlZFxuIiwgYm8pOwogCQkJZ290byBlcnJv cjsKIAkJfQogCQkqZ3B1X2FkZHIgPSBhbWRncHVfYm9fZ3B1X29mZnNldChibyk7CkBAIC03Nzgs NyArNzc4LDcgQEAgaW50IGFtZGdwdV9ib191bnBpbihzdHJ1Y3QgYW1kZ3B1X2JvICpibykKIAl9 CiAJciA9IHR0bV9ib192YWxpZGF0ZSgmYm8tPnRibywgJmJvLT5wbGFjZW1lbnQsIGZhbHNlLCBm YWxzZSk7CiAJaWYgKHVubGlrZWx5KHIpKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiJXAgdmFs aWRhdGUgZmFpbGVkIGZvciB1bnBpblxuIiwgYm8pOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRl diwgIiVwIHZhbGlkYXRlIGZhaWxlZCBmb3IgdW5waW5cbiIsIGJvKTsKIAkJZ290byBlcnJvcjsK IAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMKaW5kZXggN2RmNTAzYS4u ZGZiNjI1NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Bt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMKQEAgLTEzNjMs NyArMTM2Myw3IEBAIGludCBhbWRncHVfcG1fc3lzZnNfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKIAkJCQkJCQkJICAgaHdtb25fZ3JvdXBzKTsKIAlpZiAoSVNfRVJSKGFkZXYtPnBt LmludF9od21vbl9kZXYpKSB7CiAJCXJldCA9IFBUUl9FUlIoYWRldi0+cG0uaW50X2h3bW9uX2Rl dik7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwKIAkJ CSJVbmFibGUgdG8gcmVnaXN0ZXIgaHdtb24gZGV2aWNlOiAlZFxuIiwgcmV0KTsKIAkJcmV0dXJu IHJldDsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf cmluZy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3JpbmcuYwppbmRleCA1 Y2U2NTI4Li4yZDViMmU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfcmluZy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9yaW5n LmMKQEAgLTE5NSwyNSArMTk1LDI1IEBAIGludCBhbWRncHVfcmluZ19pbml0KHN0cnVjdCBhbWRn cHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAKIAlyID0gYW1kZ3B1 X3diX2dldChhZGV2LCAmcmluZy0+cnB0cl9vZmZzKTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFk ZXYtPmRldiwgIiglZCkgcmluZyBycHRyX29mZnMgd2IgYWxsb2MgZmFpbGVkXG4iLCByKTsKKwkJ RFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIHJpbmcgcnB0cl9vZmZzIHdiIGFsbG9jIGZh aWxlZFxuIiwgcik7CiAJCXJldHVybiByOwogCX0KIAogCXIgPSBhbWRncHVfd2JfZ2V0KGFkZXYs ICZyaW5nLT53cHRyX29mZnMpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVk KSByaW5nIHdwdHJfb2ZmcyB3YiBhbGxvYyBmYWlsZWRcbiIsIHIpOworCQlEUk1fREVWX0VSUk9S KGFkZXYtPmRldiwgIiglZCkgcmluZyB3cHRyX29mZnMgd2IgYWxsb2MgZmFpbGVkXG4iLCByKTsK IAkJcmV0dXJuIHI7CiAJfQogCiAJciA9IGFtZGdwdV93Yl9nZXQoYWRldiwgJnJpbmctPmZlbmNl X29mZnMpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSByaW5nIGZlbmNl X29mZnMgd2IgYWxsb2MgZmFpbGVkXG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYs ICIoJWQpIHJpbmcgZmVuY2Vfb2ZmcyB3YiBhbGxvYyBmYWlsZWRcbiIsIHIpOwogCQlyZXR1cm4g cjsKIAl9CiAKIAlyID0gYW1kZ3B1X3diX2dldChhZGV2LCAmcmluZy0+Y29uZF9leGVfb2Zmcyk7 CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIHJpbmcgY29uZF9leGVjX3Bv bGxpbmcgd2IgYWxsb2MgZmFpbGVkXG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYs ICIoJWQpIHJpbmcgY29uZF9leGVjX3BvbGxpbmcgd2IgYWxsb2MgZmFpbGVkXG4iLCByKTsKIAkJ cmV0dXJuIHI7CiAJfQogCXJpbmctPmNvbmRfZXhlX2dwdV9hZGRyID0gYWRldi0+d2IuZ3B1X2Fk ZHIgKyAocmluZy0+Y29uZF9leGVfb2ZmcyAqIDQpOwpAQCAtMjIzLDcgKzIyMyw3IEBAIGludCBh bWRncHVfcmluZ19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1 X3JpbmcgKnJpbmcsCiAKIAlyID0gYW1kZ3B1X2ZlbmNlX2RyaXZlcl9zdGFydF9yaW5nKHJpbmcs IGlycV9zcmMsIGlycV90eXBlKTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImZh aWxlZCBpbml0aWFsaXppbmcgZmVuY2VzICglZCkuXG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihh ZGV2LT5kZXYsICJmYWlsZWQgaW5pdGlhbGl6aW5nIGZlbmNlcyAoJWQpLlxuIiwgcik7CiAJCXJl dHVybiByOwogCX0KIApAQCAtMjQwLDcgKzI0MCw3IEBAIGludCBhbWRncHVfcmluZ19pbml0KHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsCiAJCQkJ CSAgICAmcmluZy0+Z3B1X2FkZHIsCiAJCQkJCSAgICAodm9pZCAqKikmcmluZy0+cmluZyk7CiAJ CWlmIChyKSB7Ci0JCQlkZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgcmluZyBjcmVhdGUgZmFpbGVk XG4iLCByKTsKKwkJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSByaW5nIGNyZWF0ZSBm YWlsZWRcbiIsIHIpOwogCQkJcmV0dXJuIHI7CiAJCX0KIAkJYW1kZ3B1X3JpbmdfY2xlYXJfcmlu ZyhyaW5nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9z YS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3NhLmMKaW5kZXggMzE0NDQw MC4uNjZmNWI5OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3NhLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3NhLmMKQEAgLTY2 LDcgKzY2LDcgQEAgaW50IGFtZGdwdV9zYV9ib19tYW5hZ2VyX2luaXQoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsCiAJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgc2l6ZSwgYWxpZ24sIHRy dWUsIGRvbWFpbiwKIAkJCSAgICAgMCwgTlVMTCwgTlVMTCwgMCwgJnNhX21hbmFnZXItPmJvKTsK IAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGFsbG9jYXRl IGJvIGZvciBtYW5hZ2VyXG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQp IGZhaWxlZCB0byBhbGxvY2F0ZSBibyBmb3IgbWFuYWdlclxuIiwgcik7CiAJCXJldHVybiByOwog CX0KIApAQCAtODIsNyArODIsNyBAQCB2b2lkIGFtZGdwdV9zYV9ib19tYW5hZ2VyX2Zpbmkoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJCXNhX21hbmFnZXItPmhvbGUgPSAmc2FfbWFuYWdl ci0+b2xpc3QsCiAJCWFtZGdwdV9zYV9ib190cnlfZnJlZShzYV9tYW5hZ2VyKTsKIAkJaWYgKCFs aXN0X2VtcHR5KCZzYV9tYW5hZ2VyLT5vbGlzdCkpIHsKLQkJCWRldl9lcnIoYWRldi0+ZGV2LCAi c2FfbWFuYWdlciBpcyBub3QgZW1wdHksIGNsZWFyaW5nIGFueXdheVxuIik7CisJCQlEUk1fREVW X0VSUk9SKGFkZXYtPmRldiwgInNhX21hbmFnZXIgaXMgbm90IGVtcHR5LCBjbGVhcmluZyBhbnl3 YXlcbiIpOwogCQl9CiAJfQogCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShzYV9ibywgdG1wLCAm c2FfbWFuYWdlci0+b2xpc3QsIG9saXN0KSB7CkBAIC05OCwyMCArOTgsMjAgQEAgaW50IGFtZGdw dV9zYV9ib19tYW5hZ2VyX3N0YXJ0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCWludCBy OwogCiAJaWYgKHNhX21hbmFnZXItPmJvID09IE5VTEwpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYs ICJubyBibyBmb3Igc2EgbWFuYWdlclxuIik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAi bm8gYm8gZm9yIHNhIG1hbmFnZXJcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAkvKiBt YXAgdGhlIGJ1ZmZlciAqLwogCXIgPSBhbWRncHVfYm9fcmVzZXJ2ZShzYV9tYW5hZ2VyLT5ibywg ZmFsc2UpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBmYWlsZWQgdG8g cmVzZXJ2ZSBtYW5hZ2VyIGJvXG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIo JWQpIGZhaWxlZCB0byByZXNlcnZlIG1hbmFnZXIgYm9cbiIsIHIpOwogCQlyZXR1cm4gcjsKIAl9 CiAJciA9IGFtZGdwdV9ib19waW4oc2FfbWFuYWdlci0+Ym8sIHNhX21hbmFnZXItPmRvbWFpbiwg JnNhX21hbmFnZXItPmdwdV9hZGRyKTsKIAlpZiAocikgewogCQlhbWRncHVfYm9fdW5yZXNlcnZl KHNhX21hbmFnZXItPmJvKTsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBw aW4gbWFuYWdlciBib1xuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBm YWlsZWQgdG8gcGluIG1hbmFnZXIgYm9cbiIsIHIpOwogCQlyZXR1cm4gcjsKIAl9CiAJciA9IGFt ZGdwdV9ib19rbWFwKHNhX21hbmFnZXItPmJvLCAmc2FfbWFuYWdlci0+Y3B1X3B0cik7CkBAIC0x MjYsNyArMTI2LDcgQEAgaW50IGFtZGdwdV9zYV9ib19tYW5hZ2VyX3N1c3BlbmQoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsCiAJaW50IHI7CiAKIAlpZiAoc2FfbWFuYWdlci0+Ym8gPT0gTlVM TCkgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIm5vIGJvIGZvciBzYSBtYW5hZ2VyXG4iKTsKKwkJ RFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJubyBibyBmb3Igc2EgbWFuYWdlclxuIik7CiAJCXJl dHVybiAtRUlOVkFMOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3Vjb2RlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdWNv ZGUuYwppbmRleCAzNmM3NjMzLi4xNWI5NDY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfdWNvZGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfdWNvZGUuYwpAQCAtMzgxLDI2ICszODEsMjYgQEAgaW50IGFtZGdwdV91Y29kZV9p bml0X2JvKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQkJCUFNREdQVV9HRU1fQ1JFQVRF X1ZSQU1fQ09OVElHVU9VUywKIAkJCQlOVUxMLCBOVUxMLCAwLCBibyk7CiAJaWYgKGVycikgewot CQlkZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgRmlybXdhcmUgYnVmZmVyIGFsbG9jYXRlIGZhaWxl ZFxuIiwgZXJyKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1 ZmZlciBhbGxvY2F0ZSBmYWlsZWRcbiIsIGVycik7CiAJCWdvdG8gZmFpbGVkOwogCX0KIAogCWVy ciA9IGFtZGdwdV9ib19yZXNlcnZlKCpibywgZmFsc2UpOwogCWlmIChlcnIpIHsKLQkJZGV2X2Vy cihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1ZmZlciByZXNlcnZlIGZhaWxlZFxuIiwgZXJy KTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1ZmZlciByZXNl cnZlIGZhaWxlZFxuIiwgZXJyKTsKIAkJZ290byBmYWlsZWRfcmVzZXJ2ZTsKIAl9CiAKIAllcnIg PSBhbWRncHVfYm9fcGluKCpibywgYW1kZ3B1X3NyaW92X3ZmKGFkZXYpID8gQU1ER1BVX0dFTV9E T01BSU5fVlJBTSA6IEFNREdQVV9HRU1fRE9NQUlOX0dUVCwKIAkJCQkmZndfbWNfYWRkcik7CiAJ aWYgKGVycikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgRmlybXdhcmUgYnVmZmVyIHBp biBmYWlsZWRcbiIsIGVycik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBGaXJt d2FyZSBidWZmZXIgcGluIGZhaWxlZFxuIiwgZXJyKTsKIAkJZ290byBmYWlsZWRfcGluOwogCX0K IAogCWVyciA9IGFtZGdwdV9ib19rbWFwKCpibywgJmZ3X2J1Zl9wdHIpOwogCWlmIChlcnIpIHsK LQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1ZmZlciBrbWFwIGZhaWxlZFxu IiwgZXJyKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIEZpcm13YXJlIGJ1ZmZl ciBrbWFwIGZhaWxlZFxuIiwgZXJyKTsKIAkJZ290byBmYWlsZWRfa21hcDsKIAl9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV91dmQuYwppbmRleCBlMTk5MjhkLi5jOGNjZWU2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdXZkLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3V2ZC5jCkBAIC0xNzMsMTQgKzE3Mywx NCBAQCBpbnQgYW1kZ3B1X3V2ZF9zd19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQog CiAJciA9IHJlcXVlc3RfZmlybXdhcmUoJmFkZXYtPnV2ZC5mdywgZndfbmFtZSwgYWRldi0+ZGV2 KTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV91dmQ6IENhbid0IGxv YWQgZmlybXdhcmUgXCIlc1wiXG4iLAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgImFtZGdw dV91dmQ6IENhbid0IGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLAogCQkJZndfbmFtZSk7CiAJCXJl dHVybiByOwogCX0KIAogCXIgPSBhbWRncHVfdWNvZGVfdmFsaWRhdGUoYWRldi0+dXZkLmZ3KTsK IAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV91dmQ6IENhbid0IHZhbGlk YXRlIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJhbWRn cHVfdXZkOiBDYW4ndCB2YWxpZGF0ZSBmaXJtd2FyZSBcIiVzXCJcbiIsCiAJCQlmd19uYW1lKTsK IAkJcmVsZWFzZV9maXJtd2FyZShhZGV2LT51dmQuZncpOwogCQlhZGV2LT51dmQuZncgPSBOVUxM OwpAQCAtMjI1LDcgKzIyNSw3IEBAIGludCBhbWRncHVfdXZkX3N3X2luaXQoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYpCiAJCQkJICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sICZhZGV2LT51 dmQudmNwdV9ibywKIAkJCQkgICAgJmFkZXYtPnV2ZC5ncHVfYWRkciwgJmFkZXYtPnV2ZC5jcHVf YWRkcik7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBh bGxvY2F0ZSBVVkQgYm9cbiIsIHIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiglZCkg ZmFpbGVkIHRvIGFsbG9jYXRlIFVWRCBib1xuIiwgcik7CiAJCXJldHVybiByOwogCX0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZjZS5jCmluZGV4IGM4NTUzNjYuLmVhNWM2ZTEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y2UuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNlLmMKQEAgLTE0MCwxNCArMTQw LDE0IEBAIGludCBhbWRncHVfdmNlX3N3X2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs IHVuc2lnbmVkIGxvbmcgc2l6ZSkKIAogCXIgPSByZXF1ZXN0X2Zpcm13YXJlKCZhZGV2LT52Y2Uu ZncsIGZ3X25hbWUsIGFkZXYtPmRldik7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYs ICJhbWRncHVfdmNlOiBDYW4ndCBsb2FkIGZpcm13YXJlIFwiJXNcIlxuIiwKKwkJRFJNX0RFVl9F UlJPUihhZGV2LT5kZXYsICJhbWRncHVfdmNlOiBDYW4ndCBsb2FkIGZpcm13YXJlIFwiJXNcIlxu IiwKIAkJCWZ3X25hbWUpOwogCQlyZXR1cm4gcjsKIAl9CiAKIAlyID0gYW1kZ3B1X3Vjb2RlX3Zh bGlkYXRlKGFkZXYtPnZjZS5mdyk7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICJh bWRncHVfdmNlOiBDYW4ndCB2YWxpZGF0ZSBmaXJtd2FyZSBcIiVzXCJcbiIsCisJCURSTV9ERVZf RVJST1IoYWRldi0+ZGV2LCAiYW1kZ3B1X3ZjZTogQ2FuJ3QgdmFsaWRhdGUgZmlybXdhcmUgXCIl c1wiXG4iLAogCQkJZndfbmFtZSk7CiAJCXJlbGVhc2VfZmlybXdhcmUoYWRldi0+dmNlLmZ3KTsK IAkJYWRldi0+dmNlLmZ3ID0gTlVMTDsKQEAgLTE2OSw3ICsxNjksNyBAQCBpbnQgYW1kZ3B1X3Zj ZV9zd19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1bnNpZ25lZCBsb25nIHNpemUp CiAJCQkJICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sICZhZGV2LT52Y2UudmNwdV9ibywKIAkJ CQkgICAgJmFkZXYtPnZjZS5ncHVfYWRkciwgJmFkZXYtPnZjZS5jcHVfYWRkcik7CiAJaWYgKHIp IHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxvY2F0ZSBWQ0UgYm9c biIsIHIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGFsbG9j YXRlIFZDRSBib1xuIiwgcik7CiAJCXJldHVybiByOwogCX0KIApAQCAtMjY0LDE0ICsyNjQsMTQg QEAgaW50IGFtZGdwdV92Y2VfcmVzdW1lKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCiAJ ciA9IGFtZGdwdV9ib19yZXNlcnZlKGFkZXYtPnZjZS52Y3B1X2JvLCBmYWxzZSk7CiAJaWYgKHIp IHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byByZXNlcnZlIFZDRSBib1xu Iiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBmYWlsZWQgdG8gcmVzZXJ2 ZSBWQ0UgYm9cbiIsIHIpOwogCQlyZXR1cm4gcjsKIAl9CiAKIAlyID0gYW1kZ3B1X2JvX2ttYXAo YWRldi0+dmNlLnZjcHVfYm8sICZjcHVfYWRkcik7CiAJaWYgKHIpIHsKIAkJYW1kZ3B1X2JvX3Vu cmVzZXJ2ZShhZGV2LT52Y2UudmNwdV9ibyk7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBW Q0UgbWFwIGZhaWxlZFxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVkKSBW Q0UgbWFwIGZhaWxlZFxuIiwgcik7CiAJCXJldHVybiByOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Zjbi5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3Zjbi5jCmluZGV4IDA0MWUwMTIuLmMxZjA1ZTMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92Y24uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdmNuLmMKQEAgLTcwLDE0ICs3MCwxNCBAQCBpbnQgYW1k Z3B1X3Zjbl9zd19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCiAJciA9IHJlcXVl c3RfZmlybXdhcmUoJmFkZXYtPnZjbi5mdywgZndfbmFtZSwgYWRldi0+ZGV2KTsKIAlpZiAocikg ewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV92Y246IENhbid0IGxvYWQgZmlybXdhcmUg XCIlc1wiXG4iLAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgImFtZGdwdV92Y246IENhbid0 IGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLAogCQkJZndfbmFtZSk7CiAJCXJldHVybiByOwogCX0K IAogCXIgPSBhbWRncHVfdWNvZGVfdmFsaWRhdGUoYWRldi0+dmNuLmZ3KTsKIAlpZiAocikgewot CQlkZXZfZXJyKGFkZXYtPmRldiwgImFtZGdwdV92Y246IENhbid0IHZhbGlkYXRlIGZpcm13YXJl IFwiJXNcIlxuIiwKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJhbWRncHVfdmNuOiBDYW4n dCB2YWxpZGF0ZSBmaXJtd2FyZSBcIiVzXCJcbiIsCiAJCQlmd19uYW1lKTsKIAkJcmVsZWFzZV9m aXJtd2FyZShhZGV2LT52Y24uZncpOwogCQlhZGV2LT52Y24uZncgPSBOVUxMOwpAQCAtOTksNyAr OTksNyBAQCBpbnQgYW1kZ3B1X3Zjbl9zd19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 KQogCQkJCSAgICBBTURHUFVfR0VNX0RPTUFJTl9WUkFNLCAmYWRldi0+dmNuLnZjcHVfYm8sCiAJ CQkJICAgICZhZGV2LT52Y24uZ3B1X2FkZHIsICZhZGV2LT52Y24uY3B1X2FkZHIpOwogCWlmIChy KSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBmYWlsZWQgdG8gYWxsb2NhdGUgdmNuIGJv XG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxv Y2F0ZSB2Y24gYm9cbiIsIHIpOwogCQlyZXR1cm4gcjsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZtLmMKaW5kZXggYmQyMGZmMC4uYzI2NGE4MCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKQEAgLTM2Myw3ICszNjMsNyBAQCBpbnQgYW1kZ3B1X3Zt X2FsbG9jX3B0cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAllYWRkciA9IHNhZGRyICsg c2l6ZSAtIDE7CiAJbGFzdF9wZm4gPSBlYWRkciAvIEFNREdQVV9HUFVfUEFHRV9TSVpFOwogCWlm IChsYXN0X3BmbiA+PSBhZGV2LT52bV9tYW5hZ2VyLm1heF9wZm4pIHsKLQkJZGV2X2VycihhZGV2 LT5kZXYsICJ2YSBhYm92ZSBsaW1pdCAoMHglMDhsbFggPj0gMHglMDhsbFgpXG4iLAorCQlEUk1f REVWX0VSUk9SKGFkZXYtPmRldiwgInZhIGFib3ZlIGxpbWl0ICgweCUwOGxsWCA+PSAweCUwOGxs WClcbiIsCiAJCQlsYXN0X3BmbiwgYWRldi0+dm1fbWFuYWdlci5tYXhfcGZuKTsKIAkJcmV0dXJu IC1FSU5WQUw7CiAJfQpAQCAtMjA5MCw3ICsyMDkwLDcgQEAgaW50IGFtZGdwdV92bV9ib19tYXAo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJdG1wID0gYW1kZ3B1X3ZtX2l0X2l0ZXJfZmly c3QoJnZtLT52YSwgc2FkZHIsIGVhZGRyKTsKIAlpZiAodG1wKSB7CiAJCS8qIGJvIGFuZCB0bXAg b3ZlcmxhcCwgaW52YWxpZCBhZGRyICovCi0JCWRldl9lcnIoYWRldi0+ZGV2LCAiYm8gJXAgdmEg MHglMDEwTHgtMHglMDEwTHggY29uZmxpY3Qgd2l0aCAiCisJCURSTV9ERVZfRVJST1IoYWRldi0+ ZGV2LCAiYm8gJXAgdmEgMHglMDEwTHgtMHglMDEwTHggY29uZmxpY3Qgd2l0aCAiCiAJCQkiMHgl MDEwTHgtMHglMDEwTHhcbiIsIGJvLCBzYWRkciwgZWFkZHIsCiAJCQl0bXAtPnN0YXJ0LCB0bXAt Pmxhc3QgKyAxKTsKIAkJcmV0dXJuIC1FSU5WQUw7CkBAIC0yNTkxLDcgKzI1OTEsNyBAQCB2b2lk IGFtZGdwdV92bV9maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1 X3ZtICp2bSkKIAlhbWRfc2NoZWRfZW50aXR5X2Zpbmkodm0tPmVudGl0eS5zY2hlZCwgJnZtLT5l bnRpdHkpOwogCiAJaWYgKCFSQl9FTVBUWV9ST09UKCZ2bS0+dmEucmJfcm9vdCkpIHsKLQkJZGV2 X2VycihhZGV2LT5kZXYsICJzdGlsbCBhY3RpdmUgYm8gaW5zaWRlIHZtXG4iKTsKKwkJRFJNX0RF Vl9FUlJPUihhZGV2LT5kZXYsICJzdGlsbCBhY3RpdmUgYm8gaW5zaWRlIHZtXG4iKTsKIAl9CiAJ cmJ0cmVlX3Bvc3RvcmRlcl9mb3JfZWFjaF9lbnRyeV9zYWZlKG1hcHBpbmcsIHRtcCwKIAkJCQkJ ICAgICAmdm0tPnZhLnJiX3Jvb3QsIHJiKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9jaWsuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jCmluZGV4 IDU2N2M0YTUuLjk0ODVlZTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2Npay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npay5jCkBAIC0xMTU4LDcg KzExNTgsNyBAQCBzdGF0aWMgaW50IGNpa19ncHVfcGNpX2NvbmZpZ19yZXNldChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKIAl1MzIgaTsKIAlpbnQgciA9IC1FSU5WQUw7CiAKLQlkZXZfaW5m byhhZGV2LT5kZXYsICJHUFUgcGNpIGNvbmZpZyByZXNldFxuIik7CisJRFJNX0RFVl9JTkZPKGFk ZXYtPmRldiwgIkdQVSBwY2kgY29uZmlnIHJlc2V0XG4iKTsKIAogCWlmIChhZGV2LT5mbGFncyAm IEFNRF9JU19BUFUpCiAJCWt2X3NhdmVfcmVnc19mb3JfcmVzZXQoYWRldiwgJmt2X3NhdmUpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY2lrX2loLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYwppbmRleCBiODkxODQzLi4wMDEwNjI0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYworKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9jaWtfaWguYwpAQCAtMzg1LDcgKzM4NSw3IEBAIHN0YXRpYyBp bnQgY2lrX2loX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCWlmIChzcmJtX3NvZnRfcmVzZXQp IHsKIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIAkJdG1wIHw9IHNyYm1fc29m dF9yZXNldDsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxu IiwgdG1wKTsKKwkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUw OFhcbiIsIHRtcCk7CiAJCVdSRUczMihtbVNSQk1fU09GVF9SRVNFVCwgdG1wKTsKIAkJdG1wID0g UlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvY2lrX3NkbWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Npa19z ZG1hLmMKaW5kZXggZjUwOGY0ZC4uYjA2NmI2ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvY2lrX3NkbWEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9j aWtfc2RtYS5jCkBAIC02MjgsNyArNjI4LDcgQEAgc3RhdGljIGludCBjaWtfc2RtYV9yaW5nX3Rl c3RfcmluZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiAKIAlyID0gYW1kZ3B1X3diX2dldChh ZGV2LCAmaW5kZXgpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBmYWls ZWQgdG8gYWxsb2NhdGUgd2Igc2xvdFxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2 LCAiKCVkKSBmYWlsZWQgdG8gYWxsb2NhdGUgd2Igc2xvdFxuIiwgcik7CiAJCXJldHVybiByOwog CX0KIApAQCAtNjg4LDcgKzY4OCw3IEBAIHN0YXRpYyBpbnQgY2lrX3NkbWFfcmluZ190ZXN0X2li KHN0cnVjdCBhbWRncHVfcmluZyAqcmluZywgbG9uZyB0aW1lb3V0KQogCiAJciA9IGFtZGdwdV93 Yl9nZXQoYWRldiwgJmluZGV4KTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIigl bGQpIGZhaWxlZCB0byBhbGxvY2F0ZSB3YiBzbG90XG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihh ZGV2LT5kZXYsICIoJWxkKSBmYWlsZWQgdG8gYWxsb2NhdGUgd2Igc2xvdFxuIiwgcik7CiAJCXJl dHVybiByOwogCX0KIApAQCAtMTExOCw3ICsxMTE4LDcgQEAgc3RhdGljIGludCBjaWtfc2RtYV9z b2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAlpZiAoc3JibV9zb2Z0X3Jlc2V0KSB7CiAJCXRtcCA9 IFJSRUczMihtbVNSQk1fU09GVF9SRVNFVCk7CiAJCXRtcCB8PSBzcmJtX3NvZnRfcmVzZXQ7Ci0J CWRldl9pbmZvKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CisJ CURSTV9ERVZfSU5GTyhhZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXAp OwogCQlXUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQsIHRtcCk7CiAJCXRtcCA9IFJSRUczMihtbVNS Qk1fU09GVF9SRVNFVCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2N6X2loLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jel9paC5jCmluZGV4IDBjMTIw OWMuLjg4YTRlODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2N6X2lo LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvY3pfaWguYwpAQCAtMzY0LDcgKzM2 NCw3IEBAIHN0YXRpYyBpbnQgY3pfaWhfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJaWYgKHNy Ym1fc29mdF9yZXNldCkgewogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCQl0 bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJTUkJNX1NPRlRf UkVTRVQ9MHglMDhYXG4iLCB0bXApOworCQlEUk1fREVWX0lORk8oYWRldi0+ZGV2LCAiU1JCTV9T T0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKIAkJV1JFRzMyKG1tU1JCTV9TT0ZUX1JFU0VULCB0 bXApOwogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2RjZV92MTBfMC5jCmluZGV4IDRlNTE5ZGMuLmQ5YjRlMzAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCkBAIC0yOTY5LDcgKzI5NjksNyBAQCBzdGF0aWMg aW50IGRjZV92MTBfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAlpZiAoc3JibV9zb2Z0X3Jl c2V0KSB7CiAJCXRtcCA9IFJSRUczMihtbVNSQk1fU09GVF9SRVNFVCk7CiAJCXRtcCB8PSBzcmJt X3NvZnRfcmVzZXQ7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUw OFhcbiIsIHRtcCk7CisJCURSTV9ERVZfSU5GTyhhZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9 MHglMDhYXG4iLCB0bXApOwogCQlXUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQsIHRtcCk7CiAJCXRt cCA9IFJSRUczMihtbVNSQk1fU09GVF9SRVNFVCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2RjZV92MTFfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv ZGNlX3YxMV8wLmMKaW5kZXggMTFlZGM3NS4uMzdlOGE4NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3YxMV8wLmMKQEAgLTMwODgsNyArMzA4OCw3IEBAIHN0YXRpYyBpbnQgZGNlX3Yx MV8wX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCWlmIChzcmJtX3NvZnRfcmVzZXQpIHsKIAkJ dG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIAkJdG1wIHw9IHNyYm1fc29mdF9yZXNl dDsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1w KTsKKwkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIs IHRtcCk7CiAJCVdSRUczMihtbVNSQk1fU09GVF9SRVNFVCwgdG1wKTsKIAkJdG1wID0gUlJFRzMy KG1tU1JCTV9TT0ZUX1JFU0VUKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3Y4XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMK aW5kZXggOWNmMTRiOC4uYmNkZDVhMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3Y4XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vfdjhf MC5jCkBAIC0yODYwLDcgKzI4NjAsNyBAQCBzdGF0aWMgaW50IGRjZV92OF8wX3NvZnRfcmVzZXQo dm9pZCAqaGFuZGxlKQogCWlmIChzcmJtX3NvZnRfcmVzZXQpIHsKIAkJdG1wID0gUlJFRzMyKG1t U1JCTV9TT0ZUX1JFU0VUKTsKIAkJdG1wIHw9IHNyYm1fc29mdF9yZXNldDsKLQkJZGV2X2luZm8o YWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKKwkJRFJNX0RFVl9J TkZPKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CiAJCVdSRUcz MihtbVNSQk1fU09GVF9SRVNFVCwgdG1wKTsKIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JF U0VUKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92N18wLmMKaW5kZXggMDA4Njg3Ni4u Y2NkMTBkN2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92N18w LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y3XzAuYwpAQCAtNDc5Nyw3 ICs0Nzk3LDcgQEAgc3RhdGljIGludCBnZnhfdjdfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkK IAkJaWYgKGdyYm1fc29mdF9yZXNldCkgewogCQkJdG1wID0gUlJFRzMyKG1tR1JCTV9TT0ZUX1JF U0VUKTsKIAkJCXRtcCB8PSBncmJtX3NvZnRfcmVzZXQ7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYs ICJHUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOworCQkJRFJNX0RFVl9JTkZPKGFkZXYt PmRldiwgIkdSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CiAJCQlXUkVHMzIobW1HUkJN X1NPRlRfUkVTRVQsIHRtcCk7CiAJCQl0bXAgPSBSUkVHMzIobW1HUkJNX1NPRlRfUkVTRVQpOwog CkBAIC00ODExLDcgKzQ4MTEsNyBAQCBzdGF0aWMgaW50IGdmeF92N18wX3NvZnRfcmVzZXQodm9p ZCAqaGFuZGxlKQogCQlpZiAoc3JibV9zb2Z0X3Jlc2V0KSB7CiAJCQl0bXAgPSBSUkVHMzIobW1T UkJNX1NPRlRfUkVTRVQpOwogCQkJdG1wIHw9IHNyYm1fc29mdF9yZXNldDsKLQkJCWRldl9pbmZv KGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CisJCQlEUk1fREVW X0lORk8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKIAkJCVdS RUczMihtbVNSQk1fU09GVF9SRVNFVCwgdG1wKTsKIAkJCXRtcCA9IFJSRUczMihtbVNSQk1fU09G VF9SRVNFVCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92 OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCmluZGV4IGZjMjYw YzEuLmEzZTA4ZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92 OF8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYwpAQCAtMTEw NSw3ICsxMTA1LDcgQEAgc3RhdGljIGludCBnZnhfdjhfMF9pbml0X21pY3JvY29kZShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKIAogb3V0OgogCWlmIChlcnIpIHsKLQkJZGV2X2VycihhZGV2 LT5kZXYsCisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LAogCQkJImdmeDg6IEZhaWxlZCB0byBs b2FkIGZpcm13YXJlIFwiJXNcIlxuIiwKIAkJCWZ3X25hbWUpOwogCQlyZWxlYXNlX2Zpcm13YXJl KGFkZXYtPmdmeC5wZnBfZncpOwpAQCAtNTE2Myw3ICs1MTYzLDcgQEAgc3RhdGljIGludCBnZnhf djhfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAlpZiAoZ3JibV9zb2Z0X3Jlc2V0KSB7CiAJ CXRtcCA9IFJSRUczMihtbUdSQk1fU09GVF9SRVNFVCk7CiAJCXRtcCB8PSBncmJtX3NvZnRfcmVz ZXQ7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIkdSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRt cCk7CisJCURSTV9ERVZfSU5GTyhhZGV2LT5kZXYsICJHUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4i LCB0bXApOwogCQlXUkVHMzIobW1HUkJNX1NPRlRfUkVTRVQsIHRtcCk7CiAJCXRtcCA9IFJSRUcz MihtbUdSQk1fU09GVF9SRVNFVCk7CiAKQEAgLTUxNzcsNyArNTE3Nyw3IEBAIHN0YXRpYyBpbnQg Z2Z4X3Y4XzBfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJaWYgKHNyYm1fc29mdF9yZXNldCkg ewogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCQl0bXAgfD0gc3JibV9zb2Z0 X3Jlc2V0OwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4i LCB0bXApOworCQlEUk1fREVWX0lORk8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4 WFxuIiwgdG1wKTsKIAkJV1JFRzMyKG1tU1JCTV9TT0ZUX1JFU0VULCB0bXApOwogCQl0bXAgPSBS UkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nZnhfdjlfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y5 XzAuYwppbmRleCA2OTE4MmVlLi5hNDhmNGIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nZnhfdjlfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dm eF92OV8wLmMKQEAgLTU0Nyw3ICs1NDcsNyBAQCBzdGF0aWMgaW50IGdmeF92OV8wX2luaXRfbWlj cm9jb2RlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCiBvdXQ6CiAJaWYgKGVycikgewot CQlkZXZfZXJyKGFkZXYtPmRldiwKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsCiAJCQkiZ2Z4 OTogRmFpbGVkIHRvIGxvYWQgZmlybXdhcmUgXCIlc1wiXG4iLAogCQkJZndfbmFtZSk7CiAJCXJl bGVhc2VfZmlybXdhcmUoYWRldi0+Z2Z4LnBmcF9mdyk7CkBAIC03ODAsNyArNzgwLDcgQEAgc3Rh dGljIGludCBnZnhfdjlfMF9ybGNfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJ CQkJICAgICAgJmFkZXYtPmdmeC5ybGMuY2xlYXJfc3RhdGVfZ3B1X2FkZHIsCiAJCQkJCSAgICAg ICh2b2lkICoqKSZhZGV2LT5nZngucmxjLmNzX3B0cik7CiAJCWlmIChyKSB7Ci0JCQlkZXZfZXJy KGFkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGNyZWF0ZSBybGMgY3NiIGJvXG4iLAorCQkJRFJN X0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBjcmVhdGUgcmxjIGNzYiBib1xu IiwKIAkJCQlyKTsKIAkJCWdmeF92OV8wX3JsY19maW5pKGFkZXYpOwogCQkJcmV0dXJuIHI7CkBA IC04MDEsNyArODAxLDcgQEAgc3RhdGljIGludCBnZnhfdjlfMF9ybGNfaW5pdChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKIAkJCQkJICAgICAgJmFkZXYtPmdmeC5ybGMuY3BfdGFibGVfZ3B1 X2FkZHIsCiAJCQkJCSAgICAgICh2b2lkICoqKSZhZGV2LT5nZngucmxjLmNwX3RhYmxlX3B0cik7 CiAJCWlmIChyKSB7Ci0JCQlkZXZfZXJyKGFkZXYtPmRldiwKKwkJCURSTV9ERVZfRVJST1IoYWRl di0+ZGV2LAogCQkJCSIoJWQpIGZhaWxlZCB0byBjcmVhdGUgY3AgdGFibGUgYm9cbiIsIHIpOwog CQkJZ2Z4X3Y5XzBfcmxjX2ZpbmkoYWRldik7CiAJCQlyZXR1cm4gcjsKQEAgLTEwMTgsNyArMTAx OCw3IEBAIHN0YXRpYyBpbnQgZ2Z4X3Y5XzBfbmdnX2NyZWF0ZV9idWYoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsCiAJaW50IHI7CiAKIAlpZiAoc2l6ZV9zZSA8IDApIHsKLQkJZGV2X2Vycihh ZGV2LT5kZXYsICJCdWZmZXIgc2l6ZSBpcyBpbnZhbGlkOiAlZFxuIiwgc2l6ZV9zZSk7CisJCURS TV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiQnVmZmVyIHNpemUgaXMgaW52YWxpZDogJWRcbiIsIHNp emVfc2UpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAJc2l6ZV9zZSA9IHNpemVfc2UgPyBzaXpl X3NlIDogZGVmYXVsdF9zaXplX3NlOwpAQCAtMTAzMCw3ICsxMDMwLDcgQEAgc3RhdGljIGludCBn ZnhfdjlfMF9uZ2dfY3JlYXRlX2J1ZihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCQkg ICAgJm5nZ19idWYtPmdwdV9hZGRyLAogCQkJCSAgICBOVUxMKTsKIAlpZiAocikgewotCQlkZXZf ZXJyKGFkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGNyZWF0ZSBOR0cgYnVmZmVyXG4iLCByKTsK KwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBjcmVhdGUgTkdHIGJ1 ZmZlclxuIiwgcik7CiAJCXJldHVybiByOwogCX0KIAluZ2dfYnVmLT5ib19zaXplID0gYW1kZ3B1 X2JvX3NpemUobmdnX2J1Zi0+Ym8pOwpAQCAtMTA3NCw3ICsxMDc0LDcgQEAgc3RhdGljIGludCBn ZnhfdjlfMF9uZ2dfaW5pdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKIAkJCQkgICAgYW1k Z3B1X3ByaW1fYnVmX3Blcl9zZSwKIAkJCQkgICAgNjQgKiAxMDI0KTsKIAlpZiAocikgewotCQlk ZXZfZXJyKGFkZXYtPmRldiwgIkZhaWxlZCB0byBjcmVhdGUgUHJpbWl0aXZlIEJ1ZmZlclxuIik7 CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBQcmltaXRpdmUg QnVmZmVyXG4iKTsKIAkJZ290byBlcnI7CiAJfQogCkBAIC0xMDgzLDcgKzEwODMsNyBAQCBzdGF0 aWMgaW50IGdmeF92OV8wX25nZ19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQkJ CSAgICBhbWRncHVfcG9zX2J1Zl9wZXJfc2UsCiAJCQkJICAgIDI1NiAqIDEwMjQpOwogCWlmIChy KSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBQb3NpdGlvbiBCdWZm ZXJcbiIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIkZhaWxlZCB0byBjcmVhdGUgUG9z aXRpb24gQnVmZmVyXG4iKTsKIAkJZ290byBlcnI7CiAJfQogCkBAIC0xMDkyLDcgKzEwOTIsNyBA QCBzdGF0aWMgaW50IGdmeF92OV8wX25nZ19pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 KQogCQkJCSAgICBhbWRncHVfY250bF9zYl9idWZfcGVyX3NlLAogCQkJCSAgICAyNTYpOwogCWlm IChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBDb250cm9sIFNp ZGViYW5kIEJ1ZmZlclxuIik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiRmFpbGVkIHRv IGNyZWF0ZSBDb250cm9sIFNpZGViYW5kIEJ1ZmZlclxuIik7CiAJCWdvdG8gZXJyOwogCX0KIApA QCAtMTEwNCw3ICsxMTA0LDcgQEAgc3RhdGljIGludCBnZnhfdjlfMF9uZ2dfaW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldikKIAkJCQkgICAgYW1kZ3B1X3BhcmFtX2J1Zl9wZXJfc2UsCiAJ CQkJICAgIDUxMiAqIDEwMjQpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiRmFp bGVkIHRvIGNyZWF0ZSBQYXJhbWV0ZXIgQ2FjaGVcbiIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYt PmRldiwgIkZhaWxlZCB0byBjcmVhdGUgUGFyYW1ldGVyIENhY2hlXG4iKTsKIAkJZ290byBlcnI7 CiAJfQogCkBAIC0yOTkwLDcgKzI5OTAsNyBAQCBzdGF0aWMgaW50IGdmeF92OV8wX3NvZnRfcmVz ZXQodm9pZCAqaGFuZGxlKQogCQlpZiAoZ3JibV9zb2Z0X3Jlc2V0KSB7CiAJCQl0bXAgPSBSUkVH MzJfU09DMTUoR0MsIDAsIG1tR1JCTV9TT0ZUX1JFU0VUKTsKIAkJCXRtcCB8PSBncmJtX3NvZnRf cmVzZXQ7Ci0JCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJHUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4i LCB0bXApOworCQkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIkdSQk1fU09GVF9SRVNFVD0weCUw OFhcbiIsIHRtcCk7CiAJCQlXUkVHMzJfU09DMTUoR0MsIDAsIG1tR1JCTV9TT0ZUX1JFU0VULCB0 bXApOwogCQkJdG1wID0gUlJFRzMyX1NPQzE1KEdDLCAwLCBtbUdSQk1fU09GVF9SRVNFVCk7CiAK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjZfMC5jCmluZGV4IDViZTljODMuLjY5NTljMzAg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192Nl8wLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y2XzAuYwpAQCAtMTQ0LDcgKzE0NCw3IEBA IHN0YXRpYyBpbnQgZ21jX3Y2XzBfaW5pdF9taWNyb2NvZGUoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYpCiAKIG91dDoKIAlpZiAoZXJyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LAorCQlEUk1f REVWX0VSUk9SKGFkZXYtPmRldiwKIAkJICAgICAgICJzaV9tYzogRmFpbGVkIHRvIGxvYWQgZmly bXdhcmUgXCIlc1wiXG4iLAogCQkgICAgICAgZndfbmFtZSk7CiAJCXJlbGVhc2VfZmlybXdhcmUo YWRldi0+bWMuZncpOwpAQCAtNDgxLDcgKzQ4MSw3IEBAIHN0YXRpYyBpbnQgZ21jX3Y2XzBfZ2Fy dF9lbmFibGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiAJdTMyIGZpZWxkOwogCiAJaWYg KGFkZXYtPmdhcnQucm9iaiA9PSBOVUxMKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiTm8gVlJB TSBvYmplY3QgZm9yIFBDSUUgR0FSVC5cbiIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwg Ik5vIFZSQU0gb2JqZWN0IGZvciBQQ0lFIEdBUlQuXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJ fQogCXIgPSBhbWRncHVfZ2FydF90YWJsZV92cmFtX3BpbihhZGV2KTsKQEAgLTU2MCw3ICs1NjAs NyBAQCBzdGF0aWMgaW50IGdtY192Nl8wX2dhcnRfZW5hYmxlKHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQogCQlnbWNfdjZfMF9zZXRfZmF1bHRfZW5hYmxlX2RlZmF1bHQoYWRldiwgdHJ1ZSk7 CiAKIAlnbWNfdjZfMF9nYXJ0X2ZsdXNoX2dwdV90bGIoYWRldiwgMCk7Ci0JZGV2X2luZm8oYWRl di0+ZGV2LCAiUENJRSBHQVJUIG9mICV1TSBlbmFibGVkICh0YWJsZSBhdCAweCUwMTZsbFgpLlxu IiwKKwlEUk1fREVWX0lORk8oYWRldi0+ZGV2LCAiUENJRSBHQVJUIG9mICV1TSBlbmFibGVkICh0 YWJsZSBhdCAweCUwMTZsbFgpLlxuIiwKIAkJICh1bnNpZ25lZCkoYWRldi0+bWMuZ2FydF9zaXpl ID4+IDIwKSwKIAkJICh1bnNpZ25lZCBsb25nIGxvbmcpYWRldi0+Z2FydC50YWJsZV9hZGRyKTsK IAlhZGV2LT5nYXJ0LnJlYWR5ID0gdHJ1ZTsKQEAgLTYzNSw3ICs2MzUsNyBAQCBzdGF0aWMgdm9p ZCBnbWNfdjZfMF92bV9kZWNvZGVfZmF1bHQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJ bWNfaWQgPSBSRUdfR0VUX0ZJRUxEKHN0YXR1cywgVk1fQ09OVEVYVDFfUFJPVEVDVElPTl9GQVVM VF9TVEFUVVMsCiAJCQkgICAgICBNRU1PUllfQ0xJRU5UX0lEKTsKIAotCWRldl9lcnIoYWRldi0+ ZGV2LCAiVk0gZmF1bHQgKDB4JTAyeCwgdm1pZCAlZCkgYXQgcGFnZSAldSwgJXMgZnJvbSAnJXMn ICgweCUwOHgpICglZClcbiIsCisJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJWTSBmYXVsdCAo MHglMDJ4LCB2bWlkICVkKSBhdCBwYWdlICV1LCAlcyBmcm9tICclcycgKDB4JTA4eCkgKCVkKVxu IiwKIAkgICAgICAgcHJvdGVjdGlvbnMsIHZtaWQsIGFkZHIsCiAJICAgICAgIFJFR19HRVRfRklF TEQoc3RhdHVzLCBWTV9DT05URVhUMV9QUk9URUNUSU9OX0ZBVUxUX1NUQVRVUywKIAkJCSAgICAg TUVNT1JZX0NMSUVOVF9SVykgPwpAQCAtODU0LDcgKzg1NCw3IEBAIHN0YXRpYyBpbnQgZ21jX3Y2 XzBfc3dfaW5pdCh2b2lkICpoYW5kbGUpCiAKIAlyID0gZ21jX3Y2XzBfaW5pdF9taWNyb2NvZGUo YWRldik7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICJGYWlsZWQgdG8gbG9hZCBt YyBmaXJtd2FyZSFcbiIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIkZhaWxlZCB0byBs b2FkIG1jIGZpcm13YXJlIVxuIik7CiAJCXJldHVybiByOwogCX0KIApAQCAtOTE1LDcgKzkxNSw3 IEBAIHN0YXRpYyBpbnQgZ21jX3Y2XzBfaHdfaW5pdCh2b2lkICpoYW5kbGUpCiAJaWYgKCEoYWRl di0+ZmxhZ3MgJiBBTURfSVNfQVBVKSkgewogCQlyID0gZ21jX3Y2XzBfbWNfbG9hZF9taWNyb2Nv ZGUoYWRldik7CiAJCWlmIChyKSB7Ci0JCQlkZXZfZXJyKGFkZXYtPmRldiwgIkZhaWxlZCB0byBs b2FkIE1DIGZpcm13YXJlIVxuIik7CisJCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIkZhaWxl ZCB0byBsb2FkIE1DIGZpcm13YXJlIVxuIik7CiAJCQlyZXR1cm4gcjsKIAkJfQogCX0KQEAgLTEw MTIsNyArMTAxMiw3IEBAIHN0YXRpYyBpbnQgZ21jX3Y2XzBfc29mdF9yZXNldCh2b2lkICpoYW5k bGUpCiAKIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIAkJdG1wIHw9IHNyYm1f c29mdF9yZXNldDsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4 WFxuIiwgdG1wKTsKKwkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0w eCUwOFhcbiIsIHRtcCk7CiAJCVdSRUczMihtbVNSQk1fU09GVF9SRVNFVCwgdG1wKTsKIAkJdG1w ID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIApAQCAtMTA4NSwxMSArMTA4NSwxMSBAQCBz dGF0aWMgaW50IGdtY192Nl8wX3Byb2Nlc3NfaW50ZXJydXB0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2LAogCQlnbWNfdjZfMF9zZXRfZmF1bHRfZW5hYmxlX2RlZmF1bHQoYWRldiwgZmFsc2Up OwogCiAJaWYgKHByaW50a19yYXRlbGltaXQoKSkgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIkdQ VSBmYXVsdCBkZXRlY3RlZDogJWQgMHglMDh4XG4iLAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRl diwgIkdQVSBmYXVsdCBkZXRlY3RlZDogJWQgMHglMDh4XG4iLAogCQkJZW50cnktPnNyY19pZCwg ZW50cnktPnNyY19kYXRhWzBdKTsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIgIFZNX0NPTlRFWFQx X1BST1RFQ1RJT05fRkFVTFRfQUREUiAgIDB4JTA4WFxuIiwKKwkJRFJNX0RFVl9FUlJPUihhZGV2 LT5kZXYsICIgIFZNX0NPTlRFWFQxX1BST1RFQ1RJT05fRkFVTFRfQUREUiAgIDB4JTA4WFxuIiwK IAkJCWFkZHIpOwotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDFfUFJPVEVDVElP Tl9GQVVMVF9TVEFUVVMgMHglMDhYXG4iLAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiAg Vk1fQ09OVEVYVDFfUFJPVEVDVElPTl9GQVVMVF9TVEFUVVMgMHglMDhYXG4iLAogCQkJc3RhdHVz KTsKIAkJZ21jX3Y2XzBfdm1fZGVjb2RlX2ZhdWx0KGFkZXYsIHN0YXR1cywgYWRkciwgMCk7CiAJ fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192N18wLmMKaW5kZXggZWFjZTllNy4uZTI3NDk4 OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y3XzAuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjdfMC5jCkBAIC01ODUsNyArNTg1LDcg QEAgc3RhdGljIGludCBnbWNfdjdfMF9nYXJ0X2VuYWJsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldikKIAl1MzIgdG1wLCBmaWVsZDsKIAogCWlmIChhZGV2LT5nYXJ0LnJvYmogPT0gTlVMTCkg ewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIk5vIFZSQU0gb2JqZWN0IGZvciBQQ0lFIEdBUlQuXG4i KTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJObyBWUkFNIG9iamVjdCBmb3IgUENJRSBH QVJULlxuIik7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlyID0gYW1kZ3B1X2dhcnRfdGFibGVf dnJhbV9waW4oYWRldik7CkBAIC03NjEsNyArNzYxLDcgQEAgc3RhdGljIHZvaWQgZ21jX3Y3XzBf dm1fZGVjb2RlX2ZhdWx0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCW1jX2lkID0gUkVH X0dFVF9GSUVMRChzdGF0dXMsIFZNX0NPTlRFWFQxX1BST1RFQ1RJT05fRkFVTFRfU1RBVFVTLAog CQkJICAgICAgTUVNT1JZX0NMSUVOVF9JRCk7CiAKLQlkZXZfZXJyKGFkZXYtPmRldiwgIlZNIGZh dWx0ICgweCUwMngsIHZtaWQgJWQpIGF0IHBhZ2UgJXUsICVzIGZyb20gJyVzJyAoMHglMDh4KSAo JWQpXG4iLAorCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiVk0gZmF1bHQgKDB4JTAyeCwgdm1p ZCAlZCkgYXQgcGFnZSAldSwgJXMgZnJvbSAnJXMnICgweCUwOHgpICglZClcbiIsCiAJICAgICAg IHByb3RlY3Rpb25zLCB2bWlkLCBhZGRyLAogCSAgICAgICBSRUdfR0VUX0ZJRUxEKHN0YXR1cywg Vk1fQ09OVEVYVDFfUFJPVEVDVElPTl9GQVVMVF9TVEFUVVMsCiAJCQkgICAgIE1FTU9SWV9DTElF TlRfUlcpID8KQEAgLTExNzAsNyArMTE3MCw3IEBAIHN0YXRpYyBpbnQgZ21jX3Y3XzBfc29mdF9y ZXNldCh2b2lkICpoYW5kbGUpCiAKIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsK IAkJdG1wIHw9IHNyYm1fc29mdF9yZXNldDsKLQkJZGV2X2luZm8oYWRldi0+ZGV2LCAiU1JCTV9T T0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKKwkJRFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIlNS Qk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CiAJCVdSRUczMihtbVNSQk1fU09GVF9SRVNF VCwgdG1wKTsKIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIApAQCAtMTI1MCwx MSArMTI1MCwxMSBAQCBzdGF0aWMgaW50IGdtY192N18wX3Byb2Nlc3NfaW50ZXJydXB0KHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LAogCQlnbWNfdjdfMF9zZXRfZmF1bHRfZW5hYmxlX2RlZmF1 bHQoYWRldiwgZmFsc2UpOwogCiAJaWYgKHByaW50a19yYXRlbGltaXQoKSkgewotCQlkZXZfZXJy KGFkZXYtPmRldiwgIkdQVSBmYXVsdCBkZXRlY3RlZDogJWQgMHglMDh4XG4iLAorCQlEUk1fREVW X0VSUk9SKGFkZXYtPmRldiwgIkdQVSBmYXVsdCBkZXRlY3RlZDogJWQgMHglMDh4XG4iLAogCQkJ ZW50cnktPnNyY19pZCwgZW50cnktPnNyY19kYXRhWzBdKTsKLQkJZGV2X2VycihhZGV2LT5kZXYs ICIgIFZNX0NPTlRFWFQxX1BST1RFQ1RJT05fRkFVTFRfQUREUiAgIDB4JTA4WFxuIiwKKwkJRFJN X0RFVl9FUlJPUihhZGV2LT5kZXYsICIgIFZNX0NPTlRFWFQxX1BST1RFQ1RJT05fRkFVTFRfQURE UiAgIDB4JTA4WFxuIiwKIAkJCWFkZHIpOwotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiAgVk1fQ09O VEVYVDFfUFJPVEVDVElPTl9GQVVMVF9TVEFUVVMgMHglMDhYXG4iLAorCQlEUk1fREVWX0VSUk9S KGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDFfUFJPVEVDVElPTl9GQVVMVF9TVEFUVVMgMHglMDhY XG4iLAogCQkJc3RhdHVzKTsKIAkJZ21jX3Y3XzBfdm1fZGVjb2RlX2ZhdWx0KGFkZXYsIHN0YXR1 cywgYWRkciwgbWNfY2xpZW50KTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjhfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ21jX3Y4XzAu YwppbmRleCAzYjMzMjZkLi5mMWY4M2YzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjhfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192 OF8wLmMKQEAgLTc4NCw3ICs3ODQsNyBAQCBzdGF0aWMgaW50IGdtY192OF8wX2dhcnRfZW5hYmxl KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCXUzMiB0bXAsIGZpZWxkOwogCiAJaWYgKGFk ZXYtPmdhcnQucm9iaiA9PSBOVUxMKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiTm8gVlJBTSBv YmplY3QgZm9yIFBDSUUgR0FSVC5cbiIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIk5v IFZSQU0gb2JqZWN0IGZvciBQQ0lFIEdBUlQuXG4iKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQog CXIgPSBhbWRncHVfZ2FydF90YWJsZV92cmFtX3BpbihhZGV2KTsKQEAgLTk3Nyw3ICs5NzcsNyBA QCBzdGF0aWMgdm9pZCBnbWNfdjhfMF92bV9kZWNvZGVfZmF1bHQoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsCiAJbWNfaWQgPSBSRUdfR0VUX0ZJRUxEKHN0YXR1cywgVk1fQ09OVEVYVDFfUFJP VEVDVElPTl9GQVVMVF9TVEFUVVMsCiAJCQkgICAgICBNRU1PUllfQ0xJRU5UX0lEKTsKIAotCWRl dl9lcnIoYWRldi0+ZGV2LCAiVk0gZmF1bHQgKDB4JTAyeCwgdm1pZCAlZCkgYXQgcGFnZSAldSwg JXMgZnJvbSAnJXMnICgweCUwOHgpICglZClcbiIsCisJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYs ICJWTSBmYXVsdCAoMHglMDJ4LCB2bWlkICVkKSBhdCBwYWdlICV1LCAlcyBmcm9tICclcycgKDB4 JTA4eCkgKCVkKVxuIiwKIAkgICAgICAgcHJvdGVjdGlvbnMsIHZtaWQsIGFkZHIsCiAJICAgICAg IFJFR19HRVRfRklFTEQoc3RhdHVzLCBWTV9DT05URVhUMV9QUk9URUNUSU9OX0ZBVUxUX1NUQVRV UywKIAkJCSAgICAgTUVNT1JZX0NMSUVOVF9SVykgPwpAQCAtMTMwNCw3ICsxMzA0LDcgQEAgc3Rh dGljIGludCBnbWNfdjhfMF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAogCQl0bXAgPSBSUkVH MzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCQl0bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwotCQlkZXZf aW5mbyhhZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOworCQlEUk1f REVWX0lORk8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKIAkJ V1JFRzMyKG1tU1JCTV9TT0ZUX1JFU0VULCB0bXApOwogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NP RlRfUkVTRVQpOwogCkBAIC0xMzgxLDkgKzEzODEsOSBAQCBzdGF0aWMgaW50IGdtY192OF8wX3By b2Nlc3NfaW50ZXJydXB0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCXUzMiBhZGRyLCBz dGF0dXMsIG1jX2NsaWVudDsKIAogCWlmIChhbWRncHVfc3Jpb3ZfdmYoYWRldikpIHsKLQkJZGV2 X2VycihhZGV2LT5kZXYsICJHUFUgZmF1bHQgZGV0ZWN0ZWQ6ICVkIDB4JTA4eFxuIiwKKwkJRFJN X0RFVl9FUlJPUihhZGV2LT5kZXYsICJHUFUgZmF1bHQgZGV0ZWN0ZWQ6ICVkIDB4JTA4eFxuIiwK IAkJCWVudHJ5LT5zcmNfaWQsIGVudHJ5LT5zcmNfZGF0YVswXSk7Ci0JCWRldl9lcnIoYWRldi0+ ZGV2LCAiIENhbid0IGRlY29kZSBWTSBmYXVsdCBpbmZvIGhlcmUgb24gU1JJT1YgVkZcbiIpOwor CQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiBDYW4ndCBkZWNvZGUgVk0gZmF1bHQgaW5mbyBo ZXJlIG9uIFNSSU9WIFZGXG4iKTsKIAkJcmV0dXJuIDA7CiAJfQogCkBAIC0xNDAwLDExICsxNDAw LDExIEBAIHN0YXRpYyBpbnQgZ21jX3Y4XzBfcHJvY2Vzc19pbnRlcnJ1cHQoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCiAJCWdtY192OF8wX3NldF9mYXVsdF9lbmFibGVfZGVmYXVsdChhZGV2 LCBmYWxzZSk7CiAKIAlpZiAocHJpbnRrX3JhdGVsaW1pdCgpKSB7Ci0JCWRldl9lcnIoYWRldi0+ ZGV2LCAiR1BVIGZhdWx0IGRldGVjdGVkOiAlZCAweCUwOHhcbiIsCisJCURSTV9ERVZfRVJST1Io YWRldi0+ZGV2LCAiR1BVIGZhdWx0IGRldGVjdGVkOiAlZCAweCUwOHhcbiIsCiAJCQllbnRyeS0+ c3JjX2lkLCBlbnRyeS0+c3JjX2RhdGFbMF0pOwotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiAgVk1f Q09OVEVYVDFfUFJPVEVDVElPTl9GQVVMVF9BRERSICAgMHglMDhYXG4iLAorCQlEUk1fREVWX0VS Uk9SKGFkZXYtPmRldiwgIiAgVk1fQ09OVEVYVDFfUFJPVEVDVElPTl9GQVVMVF9BRERSICAgMHgl MDhYXG4iLAogCQkJYWRkcik7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiICBWTV9DT05URVhUMV9Q Uk9URUNUSU9OX0ZBVUxUX1NUQVRVUyAweCUwOFhcbiIsCisJCURSTV9ERVZfRVJST1IoYWRldi0+ ZGV2LCAiICBWTV9DT05URVhUMV9QUk9URUNUSU9OX0ZBVUxUX1NUQVRVUyAweCUwOFhcbiIsCiAJ CQlzdGF0dXMpOwogCQlnbWNfdjhfMF92bV9kZWNvZGVfZmF1bHQoYWRldiwgc3RhdHVzLCBhZGRy LCBtY19jbGllbnQpOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2dtY192OV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nbWNfdjlfMC5jCmluZGV4 IGQwNGQwYjEuLjk0ZGYxOGY4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9nbWNfdjlfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192OV8wLmMK QEAgLTE1MCwxNSArMTUwLDE1IEBAIHN0YXRpYyBpbnQgZ21jX3Y5XzBfcHJvY2Vzc19pbnRlcnJ1 cHQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJfQogCiAJaWYgKHByaW50a19yYXRlbGlt aXQoKSkgewotCQlkZXZfZXJyKGFkZXYtPmRldiwKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYs CiAJCQkiWyVzXSBWTUMgcGFnZSBmYXVsdCAoc3JjX2lkOiV1IHJpbmc6JXUgdm1faWQ6JXUgcGFz X2lkOiV1KVxuIiwKIAkJCWVudHJ5LT52bV9pZF9zcmMgPyAibW1odWIiIDogImdmeGh1YiIsCiAJ CQllbnRyeS0+c3JjX2lkLCBlbnRyeS0+cmluZ19pZCwgZW50cnktPnZtX2lkLAogCQkJZW50cnkt PnBhc19pZCk7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiICBhdCBwYWdlIDB4JTAxNmxseCBmcm9t ICVkXG4iLAorCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiAgYXQgcGFnZSAweCUwMTZsbHgg ZnJvbSAlZFxuIiwKIAkJCWFkZHIsIGVudHJ5LT5jbGllbnRfaWQpOwogCQlpZiAoIWFtZGdwdV9z cmlvdl92ZihhZGV2KSkKLQkJCWRldl9lcnIoYWRldi0+ZGV2LAorCQkJRFJNX0RFVl9FUlJPUihh ZGV2LT5kZXYsCiAJCQkJIlZNX0wyX1BST1RFQ1RJT05fRkFVTFRfU1RBVFVTOjB4JTA4WFxuIiwK IAkJCQlzdGF0dXMpOwogCX0KQEAgLTQwMyw3ICs0MDMsNyBAQCBzdGF0aWMgaW50IGdtY192OV8w X2xhdGVfaW5pdCh2b2lkICpoYW5kbGUpCiAJCXVuc2lnbmVkIHZtaHViID0gcmluZy0+ZnVuY3Mt PnZtaHViOwogCiAJCXJpbmctPnZtX2ludl9lbmcgPSB2bV9pbnZfZW5nW3ZtaHViXSsrOwotCQlk ZXZfaW5mbyhhZGV2LT5kZXYsICJyaW5nICV1KCVzKSB1c2VzIFZNIGludiBlbmcgJXUgb24gaHVi ICV1XG4iLAorCQlEUk1fREVWX0lORk8oYWRldi0+ZGV2LCAicmluZyAldSglcykgdXNlcyBWTSBp bnYgZW5nICV1IG9uIGh1YiAldVxuIiwKIAkJCSByaW5nLT5pZHgsIHJpbmctPm5hbWUsIHJpbmct PnZtX2ludl9lbmcsCiAJCQkgcmluZy0+ZnVuY3MtPnZtaHViKTsKIAl9CkBAIC03MDYsNyArNzA2 LDcgQEAgc3RhdGljIGludCBnbWNfdjlfMF9nYXJ0X2VuYWJsZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKIAkJKGNvbnN0IHUzMilBUlJBWV9TSVpFKGdvbGRlbl9zZXR0aW5nc192ZWdhMTBf aGRwKSk7CiAKIAlpZiAoYWRldi0+Z2FydC5yb2JqID09IE5VTEwpIHsKLQkJZGV2X2VycihhZGV2 LT5kZXYsICJObyBWUkFNIG9iamVjdCBmb3IgUENJRSBHQVJULlxuIik7CisJCURSTV9ERVZfRVJS T1IoYWRldi0+ZGV2LCAiTm8gVlJBTSBvYmplY3QgZm9yIFBDSUUgR0FSVC5cbiIpOwogCQlyZXR1 cm4gLUVJTlZBTDsKIAl9CiAJciA9IGFtZGdwdV9nYXJ0X3RhYmxlX3ZyYW1fcGluKGFkZXYpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvaWNlbGFuZF9paC5jCmluZGV4IDdhMGVhMjcuLjNmOTg3 MzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2ljZWxhbmRfaWguYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9pY2VsYW5kX2loLmMKQEAgLTM2NCw3ICsz NjQsNyBAQCBzdGF0aWMgaW50IGljZWxhbmRfaWhfc29mdF9yZXNldCh2b2lkICpoYW5kbGUpCiAJ aWYgKHNyYm1fc29mdF9yZXNldCkgewogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQp OwogCQl0bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJTUkJN X1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOworCQlEUk1fREVWX0lORk8oYWRldi0+ZGV2LCAi U1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKIAkJV1JFRzMyKG1tU1JCTV9TT0ZUX1JF U0VULCB0bXApOwogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9wc3BfdjEwXzAuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jCmluZGV4IGY3Y2Y5OTQuLmZmN2YyMWQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3BzcF92MTBfMC5jCkBAIC0xMjIsNyArMTIyLDcgQEAgaW50 IHBzcF92MTBfMF9pbml0X21pY3JvY29kZShzdHJ1Y3QgcHNwX2NvbnRleHQgKnBzcCkKIAlyZXR1 cm4gMDsKIG91dDoKIAlpZiAoZXJyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LAorCQlEUk1fREVW X0VSUk9SKGFkZXYtPmRldiwKIAkJCSJwc3AgdjEwLjA6IEZhaWxlZCB0byBsb2FkIGZpcm13YXJl IFwiJXNcIlxuIiwKIAkJCWZ3X25hbWUpOwogCQlyZWxlYXNlX2Zpcm13YXJlKGFkZXYtPnBzcC5h c2RfZncpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3YzXzEu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3BzcF92M18xLmMKaW5kZXggMmE1MzVhNC4u OGIzYjg3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvcHNwX3YzXzEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9wc3BfdjNfMS5jCkBAIC0xNTAsNyAr MTUwLDcgQEAgaW50IHBzcF92M18xX2luaXRfbWljcm9jb2RlKHN0cnVjdCBwc3BfY29udGV4dCAq cHNwKQogCXJldHVybiAwOwogb3V0OgogCWlmIChlcnIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYs CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LAogCQkJInBzcCB2My4xOiBGYWlsZWQgdG8gbG9h ZCBmaXJtd2FyZSBcIiVzXCJcbiIsCiAJCQlmd19uYW1lKTsKIAkJcmVsZWFzZV9maXJtd2FyZShh ZGV2LT5wc3Auc29zX2Z3KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L3NkbWFfdjJfNC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80LmMKaW5k ZXggZjJkMDcxMC4uYzgxOTJkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvc2RtYV92Ml80LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92Ml80 LmMKQEAgLTYxMiw3ICs2MTIsNyBAQCBzdGF0aWMgaW50IHNkbWFfdjJfNF9yaW5nX3Rlc3Rfcmlu ZyhzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpCiAKIAlyID0gYW1kZ3B1X3diX2dldChhZGV2LCAm aW5kZXgpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVkKSBmYWlsZWQgdG8g YWxsb2NhdGUgd2Igc2xvdFxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ZGV2LCAiKCVk KSBmYWlsZWQgdG8gYWxsb2NhdGUgd2Igc2xvdFxuIiwgcik7CiAJCXJldHVybiByOwogCX0KIApA QCAtNjc0LDcgKzY3NCw3IEBAIHN0YXRpYyBpbnQgc2RtYV92Ml80X3JpbmdfdGVzdF9pYihzdHJ1 Y3QgYW1kZ3B1X3JpbmcgKnJpbmcsIGxvbmcgdGltZW91dCkKIAogCXIgPSBhbWRncHVfd2JfZ2V0 KGFkZXYsICZpbmRleCk7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWxkKSBm YWlsZWQgdG8gYWxsb2NhdGUgd2Igc2xvdFxuIiwgcik7CisJCURSTV9ERVZfRVJST1IoYWRldi0+ ZGV2LCAiKCVsZCkgZmFpbGVkIHRvIGFsbG9jYXRlIHdiIHNsb3RcbiIsIHIpOwogCQlyZXR1cm4g cjsKIAl9CiAKQEAgLTEwNjMsNyArMTA2Myw3IEBAIHN0YXRpYyBpbnQgc2RtYV92Ml80X3NvZnRf cmVzZXQodm9pZCAqaGFuZGxlKQogCWlmIChzcmJtX3NvZnRfcmVzZXQpIHsKIAkJdG1wID0gUlJF RzMyKG1tU1JCTV9TT0ZUX1JFU0VUKTsKIAkJdG1wIHw9IHNyYm1fc29mdF9yZXNldDsKLQkJZGV2 X2luZm8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKKwkJRFJN X0RFVl9JTkZPKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CiAJ CVdSRUczMihtbVNSQk1fU09GVF9SRVNFVCwgdG1wKTsKIAkJdG1wID0gUlJFRzMyKG1tU1JCTV9T T0ZUX1JFU0VUKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2Rt YV92M18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYwppbmRleCBi MWRlNDRmLi4xNmNmODJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9z ZG1hX3YzXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3YzXzAuYwpA QCAtODU2LDcgKzg1Niw3IEBAIHN0YXRpYyBpbnQgc2RtYV92M18wX3JpbmdfdGVzdF9yaW5nKHN0 cnVjdCBhbWRncHVfcmluZyAqcmluZykKIAogCXIgPSBhbWRncHVfd2JfZ2V0KGFkZXYsICZpbmRl eCk7CiAJaWYgKHIpIHsKLQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxv Y2F0ZSB3YiBzbG90XG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICIoJWQpIGZh aWxlZCB0byBhbGxvY2F0ZSB3YiBzbG90XG4iLCByKTsKIAkJcmV0dXJuIHI7CiAJfQogCkBAIC05 MTgsNyArOTE4LDcgQEAgc3RhdGljIGludCBzZG1hX3YzXzBfcmluZ190ZXN0X2liKHN0cnVjdCBh bWRncHVfcmluZyAqcmluZywgbG9uZyB0aW1lb3V0KQogCiAJciA9IGFtZGdwdV93Yl9nZXQoYWRl diwgJmluZGV4KTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiglbGQpIGZhaWxl ZCB0byBhbGxvY2F0ZSB3YiBzbG90XG4iLCByKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYs ICIoJWxkKSBmYWlsZWQgdG8gYWxsb2NhdGUgd2Igc2xvdFxuIiwgcik7CiAJCXJldHVybiByOwog CX0KIApAQCAtMTM2Niw3ICsxMzY2LDcgQEAgc3RhdGljIGludCBzZG1hX3YzXzBfc29mdF9yZXNl dCh2b2lkICpoYW5kbGUpCiAJaWYgKHNyYm1fc29mdF9yZXNldCkgewogCQl0bXAgPSBSUkVHMzIo bW1TUkJNX1NPRlRfUkVTRVQpOwogCQl0bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwotCQlkZXZfaW5m byhhZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOworCQlEUk1fREVW X0lORk8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKIAkJV1JF RzMyKG1tU1JCTV9TT0ZUX1JFU0VULCB0bXApOwogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRf UkVTRVQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0 XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCmluZGV4IGZkN2M3 MmEuLjQ2NTI1MDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFf djRfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NkbWFfdjRfMC5jCkBAIC04 ODgsNyArODg4LDcgQEAgc3RhdGljIGludCBzZG1hX3Y0XzBfcmluZ190ZXN0X3Jpbmcoc3RydWN0 IGFtZGdwdV9yaW5nICpyaW5nKQogCiAJciA9IGFtZGdwdV93Yl9nZXQoYWRldiwgJmluZGV4KTsK IAlpZiAocikgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGFsbG9jYXRl IHdiIHNsb3RcbiIsIHIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiglZCkgZmFpbGVk IHRvIGFsbG9jYXRlIHdiIHNsb3RcbiIsIHIpOwogCQlyZXR1cm4gcjsKIAl9CiAKQEAgLTk1MCw3 ICs5NTAsNyBAQCBzdGF0aWMgaW50IHNkbWFfdjRfMF9yaW5nX3Rlc3RfaWIoc3RydWN0IGFtZGdw dV9yaW5nICpyaW5nLCBsb25nIHRpbWVvdXQpCiAKIAlyID0gYW1kZ3B1X3diX2dldChhZGV2LCAm aW5kZXgpOwogCWlmIChyKSB7Ci0JCWRldl9lcnIoYWRldi0+ZGV2LCAiKCVsZCkgZmFpbGVkIHRv IGFsbG9jYXRlIHdiIHNsb3RcbiIsIHIpOworCQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIigl bGQpIGZhaWxlZCB0byBhbGxvY2F0ZSB3YiBzbG90XG4iLCByKTsKIAkJcmV0dXJuIHI7CiAJfQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zaV9kbWEuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RtYS5jCmluZGV4IDExMjk2OWYuLjI1NDg1ZTQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RtYS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2RtYS5jCkBAIC0yMjMsNyArMjIzLDcgQEAgc3RhdGlj IGludCBzaV9kbWFfcmluZ190ZXN0X3Jpbmcoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nKQogCiAJ ciA9IGFtZGdwdV93Yl9nZXQoYWRldiwgJmluZGV4KTsKIAlpZiAocikgewotCQlkZXZfZXJyKGFk ZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGFsbG9jYXRlIHdiIHNsb3RcbiIsIHIpOworCQlEUk1f REVWX0VSUk9SKGFkZXYtPmRldiwgIiglZCkgZmFpbGVkIHRvIGFsbG9jYXRlIHdiIHNsb3RcbiIs IHIpOwogCQlyZXR1cm4gcjsKIAl9CiAKQEAgLTI4Myw3ICsyODMsNyBAQCBzdGF0aWMgaW50IHNp X2RtYV9yaW5nX3Rlc3RfaWIoc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nLCBsb25nIHRpbWVvdXQp CiAKIAlyID0gYW1kZ3B1X3diX2dldChhZGV2LCAmaW5kZXgpOwogCWlmIChyKSB7Ci0JCWRldl9l cnIoYWRldi0+ZGV2LCAiKCVsZCkgZmFpbGVkIHRvIGFsbG9jYXRlIHdiIHNsb3RcbiIsIHIpOwor CQlEUk1fREVWX0VSUk9SKGFkZXYtPmRldiwgIiglbGQpIGZhaWxlZCB0byBhbGxvY2F0ZSB3YiBz bG90XG4iLCByKTsKIAkJcmV0dXJuIHI7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zaV9paC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2lfaWgu YwppbmRleCBjZTI1ZTAzLi44ZDZkYTVkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9zaV9paC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NpX2loLmMK QEAgLTI0MSw3ICsyNDEsNyBAQCBzdGF0aWMgaW50IHNpX2loX3NvZnRfcmVzZXQodm9pZCAqaGFu ZGxlKQogCWlmIChzcmJtX3NvZnRfcmVzZXQpIHsKIAkJdG1wID0gUlJFRzMyKFNSQk1fU09GVF9S RVNFVCk7CiAJCXRtcCB8PSBzcmJtX3NvZnRfcmVzZXQ7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwg IlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRtcCk7CisJCURSTV9ERVZfSU5GTyhhZGV2LT5k ZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOwogCQlXUkVHMzIoU1JCTV9TT0ZU X1JFU0VULCB0bXApOwogCQl0bXAgPSBSUkVHMzIoU1JCTV9TT0ZUX1JFU0VUKTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3NvYzE1LmMKaW5kZXggZjJjM2E0OS4uNjAyMWY1NCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9zb2MxNS5jCkBAIC00MTEsNyArNDExLDcgQEAgc3RhdGljIHZvaWQgc29jMTVf Z3B1X3BjaV9jb25maWdfcmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CiAJdTMy IGk7CiAKLQlkZXZfaW5mbyhhZGV2LT5kZXYsICJHUFUgcGNpIGNvbmZpZyByZXNldFxuIik7CisJ RFJNX0RFVl9JTkZPKGFkZXYtPmRldiwgIkdQVSBwY2kgY29uZmlnIHJlc2V0XG4iKTsKIAogCS8q IGRpc2FibGUgQk0gKi8KIAlwY2lfY2xlYXJfbWFzdGVyKGFkZXYtPnBkZXYpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L3RvbmdhX2loLmMKaW5kZXggOTIzZGYyYy4uZjlhODk2MCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdG9uZ2FfaWguYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS90b25nYV9paC5jCkBAIC00MjcsNyArNDI3LDcgQEAgc3RhdGljIGlu dCB0b25nYV9paF9zb2Z0X3Jlc2V0KHZvaWQgKmhhbmRsZSkKIAogCQl0bXAgPSBSUkVHMzIobW1T UkJNX1NPRlRfUkVTRVQpOwogCQl0bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwotCQlkZXZfaW5mbyhh ZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOworCQlEUk1fREVWX0lO Rk8oYWRldi0+ZGV2LCAiU1JCTV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKIAkJV1JFRzMy KG1tU1JCTV9TT0ZUX1JFU0VULCB0bXApOwogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVT RVQpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y2XzAuYwppbmRleCAzMWRiMzU2Li5m NDMyNDhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjZfMC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3V2ZF92Nl8wLmMKQEAgLTc4Myw3ICs3 ODMsNyBAQCBzdGF0aWMgaW50IHV2ZF92Nl8wX3NvZnRfcmVzZXQodm9pZCAqaGFuZGxlKQogCiAJ CXRtcCA9IFJSRUczMihtbVNSQk1fU09GVF9SRVNFVCk7CiAJCXRtcCB8PSBzcmJtX3NvZnRfcmVz ZXQ7Ci0JCWRldl9pbmZvKGFkZXYtPmRldiwgIlNSQk1fU09GVF9SRVNFVD0weCUwOFhcbiIsIHRt cCk7CisJCURSTV9ERVZfSU5GTyhhZGV2LT5kZXYsICJTUkJNX1NPRlRfUkVTRVQ9MHglMDhYXG4i LCB0bXApOwogCQlXUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQsIHRtcCk7CiAJCXRtcCA9IFJSRUcz MihtbVNSQk1fU09GVF9SRVNFVCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L3V2ZF92N18wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS91dmRfdjdfMC5j CmluZGV4IDIzYTg1NzUuLmMxMTc2MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L3V2ZF92N18wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvdXZkX3Y3 XzAuYwpAQCAtNzEzLDcgKzcxMyw3IEBAIHN0YXRpYyBpbnQgdXZkX3Y3XzBfbW1zY2hfc3RhcnQo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJfQogCiAJaWYgKCFsb29wKSB7Ci0JCWRldl9l cnIoYWRldi0+ZGV2LCAiZmFpbGVkIHRvIGluaXQgTU1TQ0gsIG1tVkNFX01NU0NIX1ZGX01BSUxC T1hfUkVTUCA9ICV4XG4iLCBkYXRhKTsKKwkJRFJNX0RFVl9FUlJPUihhZGV2LT5kZXYsICJmYWls ZWQgdG8gaW5pdCBNTVNDSCwgbW1WQ0VfTU1TQ0hfVkZfTUFJTEJPWF9SRVNQID0gJXhcbiIsIGRh dGEpOwogCQlyZXR1cm4gLUVCVVNZOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvdmNlX3YzXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZjZV92 M18wLmMKaW5kZXggOTAzMzJmNS4uZGQ3NzFiZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvdmNlX3YzXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92 Y2VfdjNfMC5jCkBAIC02NTgsNyArNjU4LDcgQEAgc3RhdGljIGludCB2Y2VfdjNfMF9zb2Z0X3Jl c2V0KHZvaWQgKmhhbmRsZSkKIAogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwog CQl0bXAgfD0gc3JibV9zb2Z0X3Jlc2V0OwotCQlkZXZfaW5mbyhhZGV2LT5kZXYsICJTUkJNX1NP RlRfUkVTRVQ9MHglMDhYXG4iLCB0bXApOworCQlEUk1fREVWX0lORk8oYWRldi0+ZGV2LCAiU1JC TV9TT0ZUX1JFU0VUPTB4JTA4WFxuIiwgdG1wKTsKIAkJV1JFRzMyKG1tU1JCTV9TT0ZUX1JFU0VU LCB0bXApOwogCQl0bXAgPSBSUkVHMzIobW1TUkJNX1NPRlRfUkVTRVQpOwogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjRfMC5jIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvdmNlX3Y0XzAuYwppbmRleCAxMTEzNGQ1Li5kM2QxZjYwIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS92Y2VfdjRfMC5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L3ZjZV92NF8wLmMKQEAgLTE5Miw3ICsxOTIsNyBAQCBzdGF0aWMgaW50 IHZjZV92NF8wX21tc2NoX3N0YXJ0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAogCX0KIAog CWlmICghbG9vcCkgewotCQlkZXZfZXJyKGFkZXYtPmRldiwgImZhaWxlZCB0byBpbml0IE1NU0NI LCBtbVZDRV9NTVNDSF9WRl9NQUlMQk9YX1JFU1AgPSAleFxuIiwgZGF0YSk7CisJCURSTV9ERVZf RVJST1IoYWRldi0+ZGV2LCAiZmFpbGVkIHRvIGluaXQgTU1TQ0gsIG1tVkNFX01NU0NIX1ZGX01B SUxCT1hfUkVTUCA9ICV4XG4iLCBkYXRhKTsKIAkJcmV0dXJuIC1FQlVTWTsKIAl9CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS92aS5jCmluZGV4IDlmZjY5YjkuLjA0ZDQ0MDAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3ZpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvdmkuYwpAQCAtNjYxLDcgKzY2MSw3IEBAIHN0YXRpYyBpbnQgdmlfZ3B1X3BjaV9jb25maWdf cmVzZXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CiAJdTMyIGk7CiAKLQlkZXZfaW5m byhhZGV2LT5kZXYsICJHUFUgcGNpIGNvbmZpZyByZXNldFxuIik7CisJRFJNX0RFVl9JTkZPKGFk ZXYtPmRldiwgIkdQVSBwY2kgY29uZmlnIHJlc2V0XG4iKTsKIAogCS8qIGRpc2FibGUgQk0gKi8K IAlwY2lfY2xlYXJfbWFzdGVyKGFkZXYtPnBkZXYpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=