From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Sat, 08 Jan 2022 08:57:35 +0100 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1n66bW-00EJpg-UC for lore@lore.pengutronix.de; Sat, 08 Jan 2022 08:57:35 +0100 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1n66bW-0006OI-3U; Sat, 08 Jan 2022 08:57:34 +0100 Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n66bN-0006Mf-I0; Sat, 08 Jan 2022 08:57:25 +0100 Received: from afa by dude.hi.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1n66bN-001oU9-2i; Sat, 08 Jan 2022 08:57:25 +0100 From: Ahmad Fatoum To: distrokit@pengutronix.de Date: Sat, 8 Jan 2022 08:57:23 +0100 Message-Id: <20220108075723.432333-3-a.fatoum@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220108075723.432333-1-a.fatoum@pengutronix.de> References: <20220108075723.432333-1-a.fatoum@pengutronix.de> MIME-Version: 1.0 Subject: [DistroKit] [PATCH 2/2] v7a: barebox: cherry-pick CPSW/Linux reboot fixes from master X-BeenThere: distrokit@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: DistroKit Mailinglist List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ahmad Fatoum Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "DistroKit" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: distrokit-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false VGhlIHVwc3RyZWFtIGRldmljZSB0cmVlIGNoYW5nZSBhZGRyZXNzZWQgYnkgdGhlIHByZXZpb3Vz IGNvbW1pdAphbHNvIG1hZGUgaXQgaW50byBiYXJlYm94IGFuZCBicm9rZSBCZWFnbGVib25lIG5l dHdvcmtpbmcgdGhlcmUuClRoaXMgaXMgZml4ZWQgaW4gbWFzdGVyLCBzbyBpbXBvcnQgdGhlIHBh dGNoLgoKSXQgd2FzIGFsc28gcmVwb3J0ZWQgdGhhdCBidW1waW5nIGJ1bXBpbmcgdXAgY29yZSBj bG9jayBmcmVxdWVuY3kgZm9yCmZhc3RlciBib290IHRpbWVzIGJyb2tlIHJlYm9vdCBmcm9tIHdp dGhpbiBMaW51eC4KClRoaXMgbWlnaHQgYmUgYnJvd24gb3V0IHJlc3VsdGluZyBmcm9tIExpbnV4 IHNjYWxpbmcgZG93biB0aGUKdm9sdGFnZSBhbmQgTGludXggc3lzdGVtIHJlc2V0IG5vdCBhZmZl Y3RpbmcgdGhlIFBNSUMuIFVudGlsIHRoYXQncwpyZXNvbHZlZCwgYmFyZWJveCBtYXN0ZXIgcmV2 ZXJ0cyB0aGUgb3ZlcmNsb2NraW5nLCBzbyBpbXBvcnQgdGhhdCBwYXRjaAphcyB3ZWxsLiBCb3Ro IHBhdGNoZXMgYXJlIHNjaGVkdWxlZCB0byBhcHBlYXIgaW4gdjIwMjIuMDEuMC4KCkZpeGVzOiA5 NDljNWVmMiAoInY3YTogYmFyZWJveDogdmVyc2lvbiBidW1wIHYyMDIxLjA4LjAg4oaSIHYyMDIx LjExLjAiKSAjIENQU1cKRml4ZXM6IGFmZGFlODc4ICgidjdhOiBiYXJlYm94OiB2ZXJzaW9uIGJ1 bXAgdjIwMjEuMDUuMCDihpIgdjIwMjEuMDcuMCIpICMgcmVzZXQKU2lnbmVkLW9mZi1ieTogQWht YWQgRmF0b3VtIDxhLmZhdG91bUBwZW5ndXRyb25peC5kZT4KLS0tCiAuLi5wb3J0LWZvci1uZXct YmluZGluZy1pbi1MaW51eC12NS4xNS0ucGF0Y2ggfCAyMTAgKysrKysrKysrKysrKysrKysrCiAu Li4tYmVhZ2xlYm9uZS1pbml0LU1QVS1zcGVlZC10by04MDBNaHoucGF0Y2ggfCAgNDUgKysrKwog Li4uL3BhdGNoZXMvYmFyZWJveC0yMDIxLjExLjAvc2VyaWVzICAgICAgICAgIHwgICAyICsKIDMg ZmlsZXMgY2hhbmdlZCwgMjU3IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBjb25m aWdzL3BsYXRmb3JtLXY3YS9wYXRjaGVzL2JhcmVib3gtMjAyMS4xMS4wLzAwMDEtbmV0LWNwc3ct YWRkLXN1cHBvcnQtZm9yLW5ldy1iaW5kaW5nLWluLUxpbnV4LXY1LjE1LS5wYXRjaAogY3JlYXRl IG1vZGUgMTAwNjQ0IGNvbmZpZ3MvcGxhdGZvcm0tdjdhL3BhdGNoZXMvYmFyZWJveC0yMDIxLjEx LjAvMDAwMi1SZXZlcnQtQVJNLWJlYWdsZWJvbmUtaW5pdC1NUFUtc3BlZWQtdG8tODAwTWh6LnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgY29uZmlncy9wbGF0Zm9ybS12N2EvcGF0Y2hlcy9iYXJl Ym94LTIwMjEuMTEuMC9zZXJpZXMKCmRpZmYgLS1naXQgYS9jb25maWdzL3BsYXRmb3JtLXY3YS9w YXRjaGVzL2JhcmVib3gtMjAyMS4xMS4wLzAwMDEtbmV0LWNwc3ctYWRkLXN1cHBvcnQtZm9yLW5l dy1iaW5kaW5nLWluLUxpbnV4LXY1LjE1LS5wYXRjaCBiL2NvbmZpZ3MvcGxhdGZvcm0tdjdhL3Bh dGNoZXMvYmFyZWJveC0yMDIxLjExLjAvMDAwMS1uZXQtY3Bzdy1hZGQtc3VwcG9ydC1mb3ItbmV3 LWJpbmRpbmctaW4tTGludXgtdjUuMTUtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uMjg3ZjA1MmQ1ZmQyCi0tLSAvZGV2L251bGwKKysrIGIvY29uZmlncy9w bGF0Zm9ybS12N2EvcGF0Y2hlcy9iYXJlYm94LTIwMjEuMTEuMC8wMDAxLW5ldC1jcHN3LWFkZC1z dXBwb3J0LWZvci1uZXctYmluZGluZy1pbi1MaW51eC12NS4xNS0ucGF0Y2gKQEAgLTAsMCArMSwy MTAgQEAKK0Zyb20gZWQ3ZjNmZDViNWUyMDg4ZjA0ZDJmNWQ2MTVkNzFjZjZlNjUwNzUwOSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFobWFkIEZhdG91bSA8YS5mYXRvdW1AcGVuZ3V0 cm9uaXguZGU+CitEYXRlOiBGcmksIDMgRGVjIDIwMjEgMjE6NTA6MzUgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSCAxLzJdIG5ldDogY3BzdzogYWRkIHN1cHBvcnQgZm9yIG5ldyBiaW5kaW5nIGluIExp bnV4IHY1LjE1LXJjMQorIERUcworCitBcyBpcyBjdXN0b21hcnksIHVwc3RyZWFtIE9NQVAgRFRz IGhhdmUgeWV0IGFnYWluIGFkZGVkIGEgbmV3IGJpbmRpbmcKK2JyZWFraW5nIGNvbXBhdGliaWxp dHkgd2l0aCBhIGJhcmVib3ggZHJpdmVyLiBUaGlzIHRpbWUsIHRoZSBvbGQgRXRoZXJuZXQKK25v ZGUgd2FzIGRpc2FibGVkIGluIGZhdm9yIG9mIGEgbmV3IG5vZGUgdGhhdCBpcyBtYXRjaGVkIGJ5 IHRoZSBuZXcgTGludXgKK2Nwc3cgZHJpdmVyIGludHJvZHVjZWQgd2l0aCBMaW51eCBjb21taXQg ZWQzNTI1ZWRhNGM0ICgibmV0OiBldGhlcm5ldDoKK3RpOiBpbnRyb2R1Y2UgY3BzdyBzd2l0Y2hk ZXYgYmFzZWQgZHJpdmVyIHBhcnQgMSAtIGR1YWwtZW1hYyIpLgorCitBZGQgc3VwcG9ydCBmb3Ig dGhlIG5ldyBiaW5kaW5nIHRvIHJlc3RvcmUgd29ya2luZyBCZWFnbGVib25lIEJsYWNrCituZXR3 b3JraW5nLiBUaGVzZSBjaGFuZ2VzIGhhdmUgYmVlbiB0ZXN0ZWQgYWdhaW5zdCBib3RoIHRoZSBv bGQgYW5kIG5ldworYmluZGluZ3MuCisKK0ZpeGVzOiA2MTg5NDhlNGU1YjMgKCJkdHM6IHVwZGF0 ZSB0byB2NS4xNS1yYzEiKQorU2lnbmVkLW9mZi1ieTogQWhtYWQgRmF0b3VtIDxhLmZhdG91bUBw ZW5ndXRyb25peC5kZT4KK0xpbms6IGh0dHBzOi8vbG9yZS5iYXJlYm94Lm9yZy8yMDIxMTIwMzIw NTAzNS41NTUyODUtMS1hLmZhdG91bUBwZW5ndXRyb25peC5kZQorU2lnbmVkLW9mZi1ieTogU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgorLS0tCisgZHJpdmVycy9uZXQvY3Bz dy5jIHwgMTIwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2Nwc3cuYyBiL2RyaXZlcnMvbmV0L2Nwc3cuYworaW5kZXgg NGE4ZjllNjdkNmYwLi42NzI1YzdiOWJkYjQgMTAwNjQ0CistLS0gYS9kcml2ZXJzL25ldC9jcHN3 LmMKKysrKyBiL2RyaXZlcnMvbmV0L2Nwc3cuYworQEAgLTU5Miw3ICs1OTIsMTIgQEAgc3RhdGlj IGludCBjcHN3X21kaW9fcHJvYmUoc3RydWN0IGRldmljZV9kICpkZXYpCisgCisgCXByaXYgPSB4 emFsbG9jKHNpemVvZigqcHJpdikpOworIAorKwkvKiBJZiB3ZSBjYW4ndCByZXF1ZXN0IEkvTyBt ZW1vcnkgcmVnaW9uLCB3ZSdsbCBhc3N1bWUgcGFyZW50IGRpZAorKwkgKiBpdCBmb3IgdXMKKysJ ICovCisgCWlvcmVzID0gZGV2X3JlcXVlc3RfbWVtX3Jlc291cmNlKGRldiwgMCk7CisrCWlmIChJ U19FUlIoaW9yZXMpICYmIFBUUl9FUlIoaW9yZXMpID09IC1FQlVTWSkKKysJCWlvcmVzID0gZGV2 X2dldF9yZXNvdXJjZShkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKKyAJaWYgKElTX0VSUihpb3Jl cykpCisgCQlyZXR1cm4gUFRSX0VSUihpb3Jlcyk7CisgCXByaXYtPm1kaW9fcmVncyA9IElPTUVN KGlvcmVzLT5zdGFydCk7CitAQCAtMTIxNCwxMSArMTIxOSwyNyBAQCBzdGF0aWMgdm9pZCBjcHN3 X2dtaWlfc2VsX2FtMzM1eChzdHJ1Y3QgY3Bzd19zbGF2ZSAqc2xhdmUpCisgCXdyaXRlbChyZWcs IHBoeV9zZWxfYWRkcik7CisgfQorIAorLXN0YXRpYyBpbnQgY3Bzd19wcm9iZV9kdChzdHJ1Y3Qg Y3Bzd19wcml2ICpwcml2KQorK3N0YXRpYyB2b2lkIGNwc3dfYWRkX3NsYXZlKHN0cnVjdCBjcHN3 X3NsYXZlICpzbGF2ZSwgc3RydWN0IGRldmljZV9ub2RlICpjaGlsZCwgaW50IGkpCisreworKwl1 aW50MzJfdCBwaHlfaWRbMl0gPSB7LTEsIC0xfTsKKysJaW50IHJldDsKKysKKysJaWYgKCFvZl9m aW5kX25vZGVfYnlfbmFtZShjaGlsZCwgImZpeGVkLWxpbmsiKSkgeworKwkJcmV0ID0gb2ZfcHJv cGVydHlfcmVhZF91MzJfYXJyYXkoY2hpbGQsICJwaHlfaWQiLCBwaHlfaWQsIDIpOworKwkJaWYg KCFyZXQpCisrCQkJZGV2X3dhcm4oc2xhdmUtPmNwc3ctPmRldiwgInBoeV9pZCBpcyBkZXByZWNh dGVkLCB1c2UgcGh5LWhhbmRsZVxuIik7CisrCX0KKysKKysJc2xhdmUtPmRldi5kZXZpY2Vfbm9k ZSA9IGNoaWxkOworKwlzbGF2ZS0+cGh5X2lkID0gcGh5X2lkWzFdOworKwlzbGF2ZS0+cGh5X2lm ID0gb2ZfZ2V0X3BoeV9tb2RlKGNoaWxkKTsKKysJc2xhdmUtPnNsYXZlX251bSA9IGk7CisrfQor KworK3N0YXRpYyBpbnQgY3Bzd19sZWdhY3lfcHJvYmVfZHQoc3RydWN0IGNwc3dfcHJpdiAqcHJp dikKKyB7CisgCXN0cnVjdCBkZXZpY2VfZCAqZGV2ID0gcHJpdi0+ZGV2OworIAlzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wID0gZGV2LT5kZXZpY2Vfbm9kZSwgKmNoaWxkOworLQlzdHJ1Y3QgZGV2aWNl X25vZGUgKnBoeXNlbDsKKyAJaW50IHJldCwgaSA9IDA7CisgCisgCXJldCA9IG9mX3Byb3BlcnR5 X3JlYWRfdTMyKG5wLCAic2xhdmVzIiwgJnByaXYtPm51bV9zbGF2ZXMpOworQEAgLTEyMjcsMTUg KzEyNDgsNiBAQCBzdGF0aWMgaW50IGNwc3dfcHJvYmVfZHQoc3RydWN0IGNwc3dfcHJpdiAqcHJp dikKKyAKKyAJcHJpdi0+c2xhdmVzID0geHphbGxvYyhzaXplb2Yoc3RydWN0IGNwc3dfc2xhdmUp ICogcHJpdi0+bnVtX3NsYXZlcyk7CisgCistCXBoeXNlbCA9IG9mX2ZpbmRfY29tcGF0aWJsZV9u b2RlKE5VTEwsIE5VTEwsICJ0aSxhbTMzNTItcGh5LWdtaWktc2VsIik7CistCWlmICghcGh5c2Vs KSB7CistCQlkZXZfZXJyKGRldiwgIkNhbm5vdCBmaW5kIHRpLGFtMzM1Mi1waHktZ21paS1zZWwg bm9kZVxuIik7CistCQlyZXR1cm4gLUVJTlZBTDsKKy0JfQorLQlyZXQgPSBjcHN3X3BoeV9zZWxf aW5pdChwcml2LCBwaHlzZWwpOworLQlpZiAocmV0KQorLQkJcmV0dXJuIHJldDsKKy0KKyAJZm9y X2VhY2hfY2hpbGRfb2Zfbm9kZShucCwgY2hpbGQpIHsKKyAJCWlmIChvZl9kZXZpY2VfaXNfY29t cGF0aWJsZShjaGlsZCwgInRpLGRhdmluY2lfbWRpbyIpKSB7CisgCQkJcmV0ID0gb2ZfcGluY3Ry bF9zZWxlY3Rfc3RhdGVfZGVmYXVsdChjaGlsZCk7CitAQCAtMTI0NCwyOSArMTI1Niw3MyBAQCBz dGF0aWMgaW50IGNwc3dfcHJvYmVfZHQoc3RydWN0IGNwc3dfcHJpdiAqcHJpdikKKyAJCX0KKyAK KyAJCWlmIChpIDwgcHJpdi0+bnVtX3NsYXZlcyAmJiAhc3RybmNtcChjaGlsZC0+bmFtZSwgInNs YXZlIiwgNSkpIHsKKy0JCQlzdHJ1Y3QgY3Bzd19zbGF2ZSAqc2xhdmUgPSAmcHJpdi0+c2xhdmVz W2ldOworLQkJCXVpbnQzMl90IHBoeV9pZFsyXSA9IHstMSwgLTF9OworKwkJCWNwc3dfYWRkX3Ns YXZlKCZwcml2LT5zbGF2ZXNbaV0sIGNoaWxkLCBpKTsKKysJCQlpKys7CisrCQl9CisrCX0KKyAK Ky0JCQlpZiAoIW9mX2ZpbmRfbm9kZV9ieV9uYW1lKGNoaWxkLCAiZml4ZWQtbGluayIpKSB7Cist CQkJCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyX2FycmF5KGNoaWxkLCAicGh5X2lkIiwgcGh5 X2lkLCAyKTsKKy0JCQkJaWYgKCFyZXQpCistCQkJCQlkZXZfd2FybihkZXYsICJwaHlfaWQgaXMg ZGVwcmVjYXRlZCwgdXNlIHBoeS1oYW5kbGVcbiIpOworLQkJCX0KKysJcmV0dXJuIDA7CisrfQor KworK3N0YXRpYyBpbnQgY3Bzd19zd2l0Y2hfcHJvYmVfZHQoc3RydWN0IGNwc3dfcHJpdiAqcHJp dikKKyt7CisrCXN0cnVjdCBkZXZpY2VfZCAqZGV2ID0gcHJpdi0+ZGV2OworKwlzdHJ1Y3QgZGV2 aWNlX25vZGUgKm5wID0gZGV2LT5kZXZpY2Vfbm9kZSwgKmNoaWxkOworKwlzdHJ1Y3QgZGV2aWNl X25vZGUgKnBvcnRzID0gTlVMTDsKKysJaW50IHJldCwgaSA9IDA7CisgCistCQkJc2xhdmUtPmRl di5kZXZpY2Vfbm9kZSA9IGNoaWxkOworLQkJCXNsYXZlLT5waHlfaWQgPSBwaHlfaWRbMV07Cist CQkJc2xhdmUtPnBoeV9pZiA9IG9mX2dldF9waHlfbW9kZShjaGlsZCk7CistCQkJc2xhdmUtPnNs YXZlX251bSA9IGk7CisrCWZvcl9lYWNoX2NoaWxkX29mX25vZGUobnAsIGNoaWxkKSB7CisrCQlp ZiAob2ZfZGV2aWNlX2lzX2NvbXBhdGlibGUoY2hpbGQsICJ0aSxkYXZpbmNpX21kaW8iKSkgewor KwkJCXJldCA9IG9mX3BpbmN0cmxfc2VsZWN0X3N0YXRlX2RlZmF1bHQoY2hpbGQpOworKwkJCWlm IChyZXQpCisrCQkJCXJldHVybiByZXQ7CisrCQl9CisgCistCQkJaSsrOworKwkJaWYgKCFzdHJj bXAoY2hpbGQtPm5hbWUsICJldGhlcm5ldC1wb3J0cyIpKSB7CisrCQkJcG9ydHMgPSBjaGlsZDsK KysJCQlwcml2LT5udW1fc2xhdmVzID0gb2ZfZ2V0X2F2YWlsYWJsZV9jaGlsZF9jb3VudChwb3J0 cyk7CisgCQl9CisgCX0KKyAKKy0JZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9zbGF2ZXM7IGkr KykgeworLQkJc3RydWN0IGNwc3dfc2xhdmUgKnNsYXZlID0gJnByaXYtPnNsYXZlc1tpXTsKKysJ aWYgKCFwb3J0cykKKysJCXJldHVybiAtRUlOVkFMOworKworKwlwcml2LT5zbGF2ZXMgPSB4emFs bG9jKHNpemVvZihzdHJ1Y3QgY3Bzd19zbGF2ZSkgKiBwcml2LT5udW1fc2xhdmVzKTsKKysKKysJ Zm9yX2VhY2hfYXZhaWxhYmxlX2NoaWxkX29mX25vZGUocG9ydHMsIGNoaWxkKSB7CisrCQljcHN3 X2FkZF9zbGF2ZSgmcHJpdi0+c2xhdmVzW2ldLCBjaGlsZCwgaSk7CisrCQlpKys7CisrCX0KKysK KysJcmV0dXJuIDA7CisrfQorIAorLQkJY3Bzd19nbWlpX3NlbF9hbTMzNXgoc2xhdmUpOworK3N0 YXRpYyBpbnQgY3Bzd19wcm9iZV9kdChzdHJ1Y3QgY3Bzd19wcml2ICpwcml2KQorK3sKKysJc3Ry dWN0IGRldmljZV9kICpkZXYgPSBwcml2LT5kZXY7CisrCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGh5 c2VsOworKwlpbnQgKCpwcm9iZV9zbGF2ZXNfZHQpKHN0cnVjdCBjcHN3X3ByaXYgKnByaXYpOwor KwlpbnQgcmV0LCBpID0gMDsKKysKKysJcGh5c2VsID0gb2ZfZmluZF9jb21wYXRpYmxlX25vZGUo TlVMTCwgTlVMTCwgInRpLGFtMzM1Mi1waHktZ21paS1zZWwiKTsKKysJaWYgKCFwaHlzZWwpIHsK KysJCWRldl9lcnIoZGV2LCAiQ2Fubm90IGZpbmQgdGksYW0zMzUyLXBoeS1nbWlpLXNlbCBub2Rl XG4iKTsKKysJCXJldHVybiAtRUlOVkFMOworIAl9CisrCXJldCA9IGNwc3dfcGh5X3NlbF9pbml0 KHByaXYsIHBoeXNlbCk7CisrCWlmIChyZXQpCisrCQlyZXR1cm4gcmV0OworKworKwlwcm9iZV9z bGF2ZXNfZHQgPSBkZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KTsKKysJaWYgKCFwcm9iZV9zbGF2 ZXNfZHQpCisrCQlyZXR1cm4gLUVJTlZBTDsKKysKKysJcmV0ID0gcHJvYmVfc2xhdmVzX2R0KHBy aXYpOworKwlpZiAocmV0IDwgMCkKKysJCXJldHVybiByZXQ7CisrCisrCWZvciAoaSA9IDA7IGkg PCBwcml2LT5udW1fc2xhdmVzOyBpKyspCisrCQljcHN3X2dtaWlfc2VsX2FtMzM1eCgmcHJpdi0+ c2xhdmVzW2ldKTsKKyAKKyAJcmV0dXJuIDA7CisgfQorQEAgLTEyODIsMTUgKzEzMzgsMTUgQEAg c3RhdGljIGludCBjcHN3X3Byb2JlKHN0cnVjdCBkZXZpY2VfZCAqZGV2KQorIAorIAlkZXZfZGJn KGRldiwgIiogJXNcbiIsIF9fZnVuY19fKTsKKyAKKy0JcmV0ID0gb2ZfcGxhdGZvcm1fcG9wdWxh dGUoZGV2LT5kZXZpY2Vfbm9kZSwgTlVMTCwgZGV2KTsKKy0JaWYgKHJldCkKKy0JCXJldHVybiBy ZXQ7CistCisgCWlvcmVzID0gZGV2X3JlcXVlc3RfbWVtX3Jlc291cmNlKGRldiwgMCk7CisgCWlm IChJU19FUlIoaW9yZXMpKQorIAkJcmV0dXJuIFBUUl9FUlIoaW9yZXMpOworIAlyZWdzID0gSU9N RU0oaW9yZXMtPnN0YXJ0KTsKKyAKKysJcmV0ID0gb2ZfcGxhdGZvcm1fcG9wdWxhdGUoZGV2LT5k ZXZpY2Vfbm9kZSwgTlVMTCwgZGV2KTsKKysJaWYgKHJldCkKKysJCXJldHVybiByZXQ7CisrCisg CXByaXYgPSB4emFsbG9jKHNpemVvZigqcHJpdikpOworIAlwcml2LT5kZXYgPSBkZXY7CisgCitA QCAtMTM3MSw3ICsxNDI3LDkgQEAgc3RhdGljIHZvaWQgY3Bzd19yZW1vdmUoc3RydWN0IGRldmlj ZV9kICpkZXYpCisgCisgc3RhdGljIF9fbWF5YmVfdW51c2VkIHN0cnVjdCBvZl9kZXZpY2VfaWQg Y3Bzd19kdF9pZHNbXSA9IHsKKyAJeworLQkJLmNvbXBhdGlibGUgPSAidGksY3BzdyIsCisrCQku Y29tcGF0aWJsZSA9ICJ0aSxjcHN3IiwgLmRhdGEgPSBjcHN3X2xlZ2FjeV9wcm9iZV9kdAorKwl9 LCB7CisrCQkuY29tcGF0aWJsZSA9ICJ0aSxjcHN3LXN3aXRjaCIsIC5kYXRhID0gY3Bzd19zd2l0 Y2hfcHJvYmVfZHQKKyAJfSwgeworIAkJLyogc2VudGluZWwgKi8KKyAJfQorLS0gCisyLjMwLjIK KwpkaWZmIC0tZ2l0IGEvY29uZmlncy9wbGF0Zm9ybS12N2EvcGF0Y2hlcy9iYXJlYm94LTIwMjEu MTEuMC8wMDAyLVJldmVydC1BUk0tYmVhZ2xlYm9uZS1pbml0LU1QVS1zcGVlZC10by04MDBNaHou cGF0Y2ggYi9jb25maWdzL3BsYXRmb3JtLXY3YS9wYXRjaGVzL2JhcmVib3gtMjAyMS4xMS4wLzAw MDItUmV2ZXJ0LUFSTS1iZWFnbGVib25lLWluaXQtTVBVLXNwZWVkLXRvLTgwME1oei5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjEwYmZiODM3ZDYxZgotLS0g L2Rldi9udWxsCisrKyBiL2NvbmZpZ3MvcGxhdGZvcm0tdjdhL3BhdGNoZXMvYmFyZWJveC0yMDIx LjExLjAvMDAwMi1SZXZlcnQtQVJNLWJlYWdsZWJvbmUtaW5pdC1NUFUtc3BlZWQtdG8tODAwTWh6 LnBhdGNoCkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gOWMxYTc4Zjk1OWRkNzUxYzliOGNlYjMxZTQ0 OTI2YWZjODlkNzc2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFobWFkIEZhdG91 bSA8YS5mYXRvdW1AcGVuZ3V0cm9uaXguZGU+CitEYXRlOiBGcmksIDMgRGVjIDIwMjEgMTk6NTE6 NTQgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzJdIFJldmVydCAiQVJNOiBiZWFnbGVib25lOiBp bml0IE1QVSBzcGVlZCB0byA4MDBNaHoiCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBl OiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0CisKK0NvbW1pdCAxMzBjN2Q2NzE1ZTkgKCJBUk06IGJlYWdsZWJvbmU6IGluaXQgTVBVIHNw ZWVkIHRvIDgwME1oeiIpIGNhdXNlcword2FybSByZWJvb3QgZnJvbSB3aXRoaW4gTGludXggdjUu MTQuMCB0byBubyBsb25nZXIgc3VjY2VlZC4KK2JhcmVib3ggTUxPIGlzIGVudGVyZWQsIGJ1dCBo YW5ncy4gUmVzZXQgZnJvbSB3aXRoaW4gYmFyZWJveCBpcwordW5hZmZlY3RlZC4KK1RoaXMgY2Fu IGJlIHJlcHJvZHVjZWQgdXNpbmcgRGlzdHJvS2l0IDk0OWM1ZWYyYjlhNiAoInY3YTogYmFyZWJv eDoKK3ZlcnNpb24gYnVtcCB2MjAyMS4wOC4wIOKGkiB2MjAyMS4xMS4wIikgb24gYSBCZWFnbGVi b25lIEJsYWNrLgorVW50aWwgdGhhdCdzIGZpZ3VyZWQgb3V0LCByZXZlcnQgdGhlIGNvbW1pdDsg ZnVuY3Rpb25hbCByZWJvb3QgaXMgbW9yZQoraW1wb3J0YW50IHRoYW4gdGhlIHF1aWNrZXIgYm9v dCB1cC4KKworVGhpcyByZXZlcnRzIGNvbW1pdCAxMzBjN2Q2NzE1ZTkzMmExZTBiM2UwMjZmZWE5 N2Y3MDBhYjMzZWE5LgorCitGaXhlczogMTMwYzdkNjcxNWU5ICgiQVJNOiBiZWFnbGVib25lOiBp bml0IE1QVSBzcGVlZCB0byA4MDBNaHoiKQorUmVwb3J0ZWQtYnk6IGFyd2llICMgSVJDCitDYzog TWFyYyBSZWlsbHkgPG1hcmNAY3BkZXNpZ24uY29tLmF1PgorU2lnbmVkLW9mZi1ieTogQWhtYWQg RmF0b3VtIDxhLmZhdG91bUBwZW5ndXRyb25peC5kZT4KK0xpbms6IGh0dHBzOi8vbG9yZS5iYXJl Ym94Lm9yZy8yMDIxMTIwMzE4NTE1NC4zODgxNDUtMS1hLmZhdG91bUBwZW5ndXRyb25peC5kZQor U2lnbmVkLW9mZi1ieTogU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPgorLS0t CisgYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvbG93bGV2ZWwuYyB8IDIgKy0KKyAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL2xvd2xldmVsLmMgYi9hcmNoL2FybS9ib2FyZHMvYmVh Z2xlYm9uZS9sb3dsZXZlbC5jCitpbmRleCAzMTIxMTQ0OGY1ZTguLjkxZDE0M2U0MTUwYiAxMDA2 NDQKKy0tLSBhL2FyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL2xvd2xldmVsLmMKKysrKyBiL2Fy Y2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL2xvd2xldmVsLmMKK0BAIC0xMjYsNyArMTI2LDcgQEAg c3RhdGljIG5vaW5saW5lIGludCBiZWFnbGVib25lX3NyYW1faW5pdCh2b2lkKQorIAorIAkvKiBT ZXR1cCB0aGUgUExMcyBhbmQgdGhlIGNsb2NrcyBmb3IgdGhlIHBlcmlwaGVyYWxzICovCisgCWlm IChpc19iZWFnbGVib25lX2JsYWNrKCkpIHsKKy0JCWFtMzN4eF9wbGxfaW5pdChNUFVQTExfTV84 MDAsIEREUlBMTF9NXzQwMCk7CisrCQlhbTMzeHhfcGxsX2luaXQoTVBVUExMX01fNTAwLCBERFJQ TExfTV80MDApOworIAkJYW0zMzV4X3NkcmFtX2luaXQoMHgxOEIsICZkZHIzX2NtZF9jdHJsLCAm ZGRyM19yZWdzLAorIAkJCQkmZGRyM19kYXRhKTsKKyAJfSBlbHNlIHsKKy0tIAorMi4zMC4yCisK ZGlmZiAtLWdpdCBhL2NvbmZpZ3MvcGxhdGZvcm0tdjdhL3BhdGNoZXMvYmFyZWJveC0yMDIxLjEx LjAvc2VyaWVzIGIvY29uZmlncy9wbGF0Zm9ybS12N2EvcGF0Y2hlcy9iYXJlYm94LTIwMjEuMTEu MC9zZXJpZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYTdjMjdk MWU1ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWdzL3BsYXRmb3JtLXY3YS9wYXRjaGVzL2Jh cmVib3gtMjAyMS4xMS4wL3NlcmllcwpAQCAtMCwwICsxLDIgQEAKKzAwMDEtbmV0LWNwc3ctYWRk LXN1cHBvcnQtZm9yLW5ldy1iaW5kaW5nLWluLUxpbnV4LXY1LjE1LS5wYXRjaAorMDAwMi1SZXZl cnQtQVJNLWJlYWdsZWJvbmUtaW5pdC1NUFUtc3BlZWQtdG8tODAwTWh6LnBhdGNoCi0tIAoyLjMw LjIKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEaXN0 cm9LaXQgbWFpbGluZyBsaXN0CkRpc3Ryb0tpdEBwZW5ndXRyb25peC5kZQo=