From mboxrd@z Thu Jan 1 00:00:00 1970 From: elmar gerdes Subject: [PATCH] au1000_tx_timeout and promiscuous mode Date: Tue, 21 Mar 2006 01:50:15 +0100 (CET) Message-ID: <20060321013542.C30644@pogo.engel-kg.com> Mime-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-176441661-1142902215=:30644" Cc: linux-mips@linux-mips.org Return-path: To: netdev@vger.kernel.org Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org List-Id: netdev.vger.kernel.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-176441661-1142902215=:30644 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed hello, the attached patch fixes a problem I had when running 2 different Au15xx-based boards (Au1500 and Au1550) in bridging mode under high load. au1000_tx_timeout() would reset the device for which it was called, but promiscuous mode was not re-established. tested under 2.6.14, 2.6.16-rc6 and 2.4.31. on the 2.6.1x systems, the timeout appears after some 5 seconds, under 2.4.31 I thought it did not appear, but after half an hour of full load I've seen it there, too. now this makes me wonder why it takes only a few seconds to have a tx timeout under 2.6 and half an hour under 2.4. any ideas? regards, elmar --0-176441661-1142902215=:30644 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=au1000_eth.c.patch Content-Transfer-Encoding: BASE64 Content-ID: <20060321015015.F30644@pogo.engel-kg.com> Content-Description: Content-Disposition: attachment; filename=au1000_eth.c.patch MSkgYXUxMDAwX3R4X3RpbWVvdXQoKTogUmUtZXN0YWJsaXNoIHByb21pc2N1 b3VzIG1vZGUgKHdoZW4gYnJpZGdpbmcpDQogICBhZnRlciB0aGUgcmUtaW5p dC4NCg0KMikgRG8gbm90IGRlcmVmZXJlbmNlIGRldmljZSBwcml2YXRlIHN0 cnVjdHVyZSBidXQgdXNlIG5ldGRldl9wcml2KCkNCiAgIGluc3RlYWQgKGFj Y29yZGluZyB0byBSdWJpbmkgZXQuYWwuICJMaW51eCBEZXZpY2UgRHJpdmVy cyIsIDNyZA0KICAgZWRpdGlvbiwgby1SZWlsbHkuDQoNCkFwcGx5IHRvIGtl cm5lbCB0cmVlcyAyLjYueCBhbmQgMi40LnguDQoNClRlc3RlZCBvbg0KIC0g bXlDYWJsZSBYWFMxNTAwLCBSZXYuQiwgQXUxNTAwLWJhc2VkLCBhbmQNCiAt IEt1cnogTlZCLCBBdTE1NTAtYmFzZWQsIG5vdCBpbiBrZXJuZWwtdHJlZS4N Cg0KU2lnbmVkLW9mZi1ieTogZWxtYXIgZ2VyZGVzIDxlbG1hci5nZXJkZXNA ZW5nZWwta2cuY29tPg0KDQoNCi0tLSBhL2RyaXZlcnMvbmV0L2F1MTAwMF9l dGguYw0KKysrIGIvZHJpdmVycy9uZXQvYXUxMDAwX2V0aC5jDQpAQCAtMjA2 LDcgKzIwNiw3IEBADQogCQlwcmludGsoS0VSTl9FUlIgImJjbV81MjAxX3N0 YXR1cyBlcnJvcjogTlVMTCBkZXZcbiIpOw0KIAkJcmV0dXJuIC0xOw0KIAl9 DQotCWF1cCA9IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2 Ow0KKwlhdXAgPSBuZXRkZXZfcHJpdihkZXYpOw0KIA0KIAltaWlfZGF0YSA9 IG1kaW9fcmVhZChkZXYsIGF1cC0+cGh5X2FkZHIsIE1JSV9TVEFUVVMpOw0K IAlpZiAobWlpX2RhdGEgJiBNSUlfU1RBVF9MSU5LKSB7DQpAQCAtMjkzLDcg KzI5Myw3IEBADQogCQlwcmludGsoS0VSTl9FUlIgImxzaV84MDIyN19zdGF0 dXMgZXJyb3I6IE5VTEwgZGV2XG4iKTsNCiAJCXJldHVybiAtMTsNCiAJfQ0K LQlhdXAgPSAoc3RydWN0IGF1MTAwMF9wcml2YXRlICopIGRldi0+cHJpdjsN CisJYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiANCiAJbWlpX2RhdGEgPSBt ZGlvX3JlYWQoZGV2LCBhdXAtPnBoeV9hZGRyLCBNSUlfU1RBVFVTKTsNCiAJ aWYgKG1paV9kYXRhICYgTUlJX1NUQVRfTElOSykgew0KQEAgLTQwNCw3ICs0 MDQsNyBAQA0KIAkJcmV0dXJuIC0xOw0KIAl9DQogDQotCWF1cCA9IChzdHJ1 Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2Ow0KKwlhdXAgPSBuZXRk ZXZfcHJpdihkZXYpOw0KIAltaWlfZGF0YSA9IG1kaW9fcmVhZChkZXYsIGF1 cC0+cGh5X2FkZHIsIE1JSV9TVEFUVVMpOw0KIA0KIAlpZiAobWlpX2RhdGEg JiBNSUlfU1RBVF9MSU5LKSB7DQpAQCAtNDg2LDcgKzQ4Niw3IEBADQogCQlw cmludGsoS0VSTl9FUlIgImx4dDk3MWFfc3RhdHVzIGVycm9yOiBOVUxMIGRl dlxuIik7DQogCQlyZXR1cm4gLTE7DQogCX0NCi0JYXVwID0gKHN0cnVjdCBh dTEwMDBfcHJpdmF0ZSAqKSBkZXYtPnByaXY7DQorCWF1cCA9IG5ldGRldl9w cml2KGRldik7DQogDQogCW1paV9kYXRhID0gbWRpb19yZWFkKGRldiwgYXVw LT5waHlfYWRkciwgTUlJX1NUQVRVUyk7DQogCWlmIChtaWlfZGF0YSAmIE1J SV9TVEFUX0xJTkspIHsNCkBAIC01NzEsNyArNTcxLDcgQEANCiAJCXByaW50 ayhLRVJOX0VSUiAia3M4OTk1bV9zdGF0dXMgZXJyb3I6IE5VTEwgZGV2XG4i KTsNCiAJCXJldHVybiAtMTsNCiAJfQ0KLQlhdXAgPSAoc3RydWN0IGF1MTAw MF9wcml2YXRlICopIGRldi0+cHJpdjsNCisJYXVwID0gbmV0ZGV2X3ByaXYo ZGV2KTsNCiANCiAJbWlpX2RhdGEgPSBtZGlvX3JlYWQoZGV2LCBhdXAtPnBo eV9hZGRyLCBNSUlfU1RBVFVTKTsNCiAJaWYgKG1paV9kYXRhICYgTUlJX1NU QVRfTElOSykgew0KQEAgLTY2NCw3ICs2NjQsNyBAQA0KIAkJcmV0dXJuIC0x Ow0KIAl9DQogDQotCWF1cCA9IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikg ZGV2LT5wcml2Ow0KKwlhdXAgPSBuZXRkZXZfcHJpdihkZXYpOw0KIAltaWlf ZGF0YSA9IG1kaW9fcmVhZChkZXYsIGF1cC0+cGh5X2FkZHIsIE1JSV9TVEFU VVMpOw0KIA0KIAlpZiAobWlpX2RhdGEgJiBNSUlfU1RBVF9MSU5LKSB7DQpA QCAtNzk0LDcgKzc5NCw3IEBADQogDQogc3RhdGljIGludCBtZGlvX3JlYWQo c3RydWN0IG5ldF9kZXZpY2UgKmRldiwgaW50IHBoeV9pZCwgaW50IHJlZykN CiB7DQotCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gKHN0cnVjdCBh dTEwMDBfcHJpdmF0ZSAqKSBkZXYtPnByaXY7DQorCXN0cnVjdCBhdTEwMDBf cHJpdmF0ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiAJdm9sYXRpbGUg dTMyICptaWlfY29udHJvbF9yZWc7DQogCXZvbGF0aWxlIHUzMiAqbWlpX2Rh dGFfcmVnOw0KIAl1MzIgdGltZWRvdXQgPSAyMDsNCkBAIC04NTQsNyArODU0 LDcgQEANCiANCiBzdGF0aWMgdm9pZCBtZGlvX3dyaXRlKHN0cnVjdCBuZXRf ZGV2aWNlICpkZXYsIGludCBwaHlfaWQsIGludCByZWcsIHUxNiB2YWx1ZSkN CiB7DQotCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gKHN0cnVjdCBh dTEwMDBfcHJpdmF0ZSAqKSBkZXYtPnByaXY7DQorCXN0cnVjdCBhdTEwMDBf cHJpdmF0ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiAJdm9sYXRpbGUg dTMyICptaWlfY29udHJvbF9yZWc7DQogCXZvbGF0aWxlIHUzMiAqbWlpX2Rh dGFfcmVnOw0KIAl1MzIgdGltZWRvdXQgPSAyMDsNCkBAIC05MTEsNyArOTEx LDcgQEANCiANCiBzdGF0aWMgaW50IG1paV9wcm9iZSAoc3RydWN0IG5ldF9k ZXZpY2UgKiBkZXYpDQogew0KLQlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1 cCA9IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2Ow0KKwlz dHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IG5ldGRldl9wcml2KGRldik7 DQogCWludCBwaHlfYWRkcjsNCiAjaWZkZWYgQ09ORklHX01JUFNfQk9TUE9S VVMNCiAJaW50IHBoeV9mb3VuZD0wOw0KQEAgLTEwNzgsNyArMTA3OCw3IEBA DQogDQogc3RhdGljIHZvaWQgZW5hYmxlX3J4X3R4KHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpDQogew0KLQlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9 IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2Ow0KKwlzdHJ1 Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IG5ldGRldl9wcml2KGRldik7DQog DQogCWlmIChhdTEwMDBfZGVidWcgPiA0KQ0KIAkJcHJpbnRrKEtFUk5fSU5G TyAiJXM6IGVuYWJsZV9yeF90eFxuIiwgZGV2LT5uYW1lKTsNCkBAIC0xMDg5 LDcgKzEwODksNyBAQA0KIA0KIHN0YXRpYyB2b2lkIGhhcmRfc3RvcChzdHJ1 Y3QgbmV0X2RldmljZSAqZGV2KQ0KIHsNCi0Jc3RydWN0IGF1MTAwMF9wcml2 YXRlICphdXAgPSAoc3RydWN0IGF1MTAwMF9wcml2YXRlICopIGRldi0+cHJp djsNCisJc3RydWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSBuZXRkZXZfcHJp dihkZXYpOw0KIA0KIAlpZiAoYXUxMDAwX2RlYnVnID4gNCkNCiAJCXByaW50 ayhLRVJOX0lORk8gIiVzOiBoYXJkIHN0b3BcbiIsIGRldi0+bmFtZSk7DQpA QCAtMTEwMyw3ICsxMTAzLDcgQEANCiB7DQogCWludCBpOw0KIAl1MzIgZmxh Z3M7DQotCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gKHN0cnVjdCBh dTEwMDBfcHJpdmF0ZSAqKSBkZXYtPnByaXY7DQorCXN0cnVjdCBhdTEwMDBf cHJpdmF0ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiANCiAJaWYgKGF1 MTAwMF9kZWJ1ZyA+IDQpIA0KIAkJcHJpbnRrKEtFUk5fSU5GTyAiJXM6IHJl c2V0IG1hYywgYXVwICV4XG4iLCANCkBAIC0xMjQwLDcgKzEyNDAsNyBAQA0K IA0KIHN0YXRpYyBpbnQgYXUxMDAwX3NldHVwX2FuZWcoc3RydWN0IG5ldF9k ZXZpY2UgKmRldiwgdTMyIGFkdmVydGlzZSkNCiB7DQotCXN0cnVjdCBhdTEw MDBfcHJpdmF0ZSAqYXVwID0gKHN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqKWRl di0+cHJpdjsNCisJc3RydWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSBuZXRk ZXZfcHJpdihkZXYpOw0KIAl1MTYgY3RsLCBhZHY7DQogDQogCS8qIFNldHVw IHN0YW5kYXJkIGFkdmVydGlzZSAqLw0KQEAgLTEyNjYsNyArMTI2Niw3IEBA DQogDQogc3RhdGljIGludCBhdTEwMDBfc2V0dXBfZm9yY2VkKHN0cnVjdCBu ZXRfZGV2aWNlICpkZXYsIGludCBzcGVlZCwgaW50IGZkKQ0KIHsNCi0Jc3Ry dWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSAoc3RydWN0IGF1MTAwMF9wcml2 YXRlICopZGV2LT5wcml2Ow0KKwlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1 cCA9IG5ldGRldl9wcml2KGRldik7DQogCXUxNiBjdGw7DQogDQogCWN0bCA9 IG1kaW9fcmVhZChkZXYsIGF1cC0+cGh5X2FkZHIsIE1JSV9CTUNSKTsNCkBA IC0xMjk3LDcgKzEyOTcsNyBAQA0KIHN0YXRpYyB2b2lkDQogYXUxMDAwX3N0 YXJ0X2xpbmsoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGV0aHRv b2xfY21kICpjbWQpDQogew0KLQlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1 cCA9IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKilkZXYtPnByaXY7DQorCXN0 cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsN CiAJdTMyIGFkdmVydGlzZTsNCiAJaW50IGF1dG9uZWc7DQogCWludCBmb3Jj ZWRfc3BlZWQ7DQpAQCAtMTMzMyw3ICsxMzMzLDcgQEANCiANCiBzdGF0aWMg aW50IGF1MTAwMF9nZXRfc2V0dGluZ3Moc3RydWN0IG5ldF9kZXZpY2UgKmRl diwgc3RydWN0IGV0aHRvb2xfY21kICpjbWQpDQogew0KLQlzdHJ1Y3QgYXUx MDAwX3ByaXZhdGUgKmF1cCA9IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKilk ZXYtPnByaXY7DQorCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gbmV0 ZGV2X3ByaXYoZGV2KTsNCiAJdTE2IGxpbmssIHNwZWVkOw0KIA0KIAljbWQt PnN1cHBvcnRlZCA9IEdFTk1JSV9ERUZBVUxUX0ZFQVRVUkVTOw0KQEAgLTEz NTgsNyArMTM1OCw3IEBADQogDQogc3RhdGljIGludCBhdTEwMDBfc2V0X3Nl dHRpbmdzKHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHN0cnVjdCBldGh0b29s X2NtZCAqY21kKQ0KIHsNCi0JIHN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVw ID0gKHN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqKWRldi0+cHJpdjsNCisJIHN0 cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsN CiAJICB1bnNpZ25lZCBsb25nIGZlYXR1cmVzID0gR0VOTUlJX0RFRkFVTFRf RkVBVFVSRVM7DQogDQogCSBpZiAoIWNhcGFibGUoQ0FQX05FVF9BRE1JTikp DQpAQCAtMTQwMiw3ICsxNDAyLDcgQEANCiANCiBzdGF0aWMgaW50IGF1MTAw MF9ud2F5X3Jlc2V0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpDQogew0KLQlz dHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IChzdHJ1Y3QgYXUxMDAwX3By aXZhdGUgKilkZXYtPnByaXY7DQorCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAq YXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiANCiAJaWYgKCFhdXAtPndhbnRf YXV0b25lZykNCiAJCXJldHVybiAtRUlOVkFMOw0KQEAgLTE0MTUsNyArMTQx NSw3IEBADQogc3RhdGljIHZvaWQNCiBhdTEwMDBfZ2V0X2RydmluZm8oc3Ry dWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0IGV0aHRvb2xfZHJ2aW5mbyAq aW5mbykNCiB7DQotCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gKHN0 cnVjdCBhdTEwMDBfcHJpdmF0ZSAqKWRldi0+cHJpdjsNCisJc3RydWN0IGF1 MTAwMF9wcml2YXRlICphdXAgPSBuZXRkZXZfcHJpdihkZXYpOw0KIA0KIAlz dHJjcHkoaW5mby0+ZHJpdmVyLCBEUlZfTkFNRSk7DQogCXN0cmNweShpbmZv LT52ZXJzaW9uLCBEUlZfVkVSU0lPTik7DQpAQCAtMTQ3MCw3ICsxNDcwLDcg QEANCiAJcHJpbnRrKCIlczogQXUxeCBFdGhlcm5ldCBmb3VuZCBhdCAweCV4 LCBpcnEgJWRcbiIsIA0KIAkJCWRldi0+bmFtZSwgaW9hZGRyLCBpcnEpOw0K IA0KLQlhdXAgPSBkZXYtPnByaXY7DQorCWF1cCA9IG5ldGRldl9wcml2KGRl dik7DQogDQogCS8qIEFsbG9jYXRlIHRoZSBkYXRhIGJ1ZmZlcnMgKi8NCiAJ LyogU25vb3Bpbmcgd29ya3MgZmluZSB3aXRoIGV0aCBvbiBhbGwgYXUxeHh4 ICovDQpAQCAtMTYzNyw3ICsxNjM3LDcgQEANCiAgKi8NCiBzdGF0aWMgaW50 IGF1MTAwMF9pbml0KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYpDQogew0KLQlz dHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IChzdHJ1Y3QgYXUxMDAwX3By aXZhdGUgKikgZGV2LT5wcml2Ow0KKwlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUg KmF1cCA9IG5ldGRldl9wcml2KGRldik7DQogCXUzMiBmbGFnczsNCiAJaW50 IGk7DQogCXUzMiBjb250cm9sOw0KQEAgLTE2ODksNyArMTY4OSw3IEBADQog c3RhdGljIHZvaWQgYXUxMDAwX3RpbWVyKHVuc2lnbmVkIGxvbmcgZGF0YSkN CiB7DQogCXN0cnVjdCBuZXRfZGV2aWNlICpkZXYgPSAoc3RydWN0IG5ldF9k ZXZpY2UgKilkYXRhOw0KLQlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9 IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2Ow0KKwlzdHJ1 Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IG5ldGRldl9wcml2KGRldik7DQog CXVuc2lnbmVkIGNoYXIgaWZfcG9ydDsNCiAJdTE2IGxpbmssIHNwZWVkOw0K IA0KQEAgLTE3NDIsNyArMTc0Miw3IEBADQogc3RhdGljIGludCBhdTEwMDBf b3BlbihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQ0KIHsNCiAJaW50IHJldHZh bDsNCi0Jc3RydWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSAoc3RydWN0IGF1 MTAwMF9wcml2YXRlICopIGRldi0+cHJpdjsNCisJc3RydWN0IGF1MTAwMF9w cml2YXRlICphdXAgPSBuZXRkZXZfcHJpdihkZXYpOw0KIA0KIAlpZiAoYXUx MDAwX2RlYnVnID4gNCkNCiAJCXByaW50aygiJXM6IG9wZW46IGRldj0lcFxu IiwgZGV2LT5uYW1lLCBkZXYpOw0KQEAgLTE3NzYsNyArMTc3Niw3IEBADQog c3RhdGljIGludCBhdTEwMDBfY2xvc2Uoc3RydWN0IG5ldF9kZXZpY2UgKmRl dikNCiB7DQogCXUzMiBmbGFnczsNCi0Jc3RydWN0IGF1MTAwMF9wcml2YXRl ICphdXAgPSAoc3RydWN0IGF1MTAwMF9wcml2YXRlICopIGRldi0+cHJpdjsN CisJc3RydWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSBuZXRkZXZfcHJpdihk ZXYpOw0KIA0KIAlpZiAoYXUxMDAwX2RlYnVnID4gNCkNCiAJCXByaW50aygi JXM6IGNsb3NlOiBkZXY9JXBcbiIsIGRldi0+bmFtZSwgZGV2KTsNCkBAIC0x ODA0LDcgKzE4MDQsNyBAQA0KIAlmb3IgKGkgPSAwOyBpIDwgbnVtX2lmczsg aSsrKSB7DQogCQlkZXYgPSBpZmxpc3RbaV0uZGV2Ow0KIAkJaWYgKGRldikg ew0KLQkJCWF1cCA9IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5w cml2Ow0KKwkJCWF1cCA9IG5ldGRldl9wcml2KGRldik7DQogCQkJdW5yZWdp c3Rlcl9uZXRkZXYoZGV2KTsNCiAJCQlrZnJlZShhdXAtPm1paSk7DQogCQkJ Zm9yIChqID0gMDsgaiA8IE5VTV9SWF9ETUE7IGorKykgew0KQEAgLTE4Mjks NyArMTgyOSw3IEBADQogc3RhdGljIGlubGluZSB2b2lkIA0KIHVwZGF0ZV90 eF9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1MzIgc3RhdHVzLCB1 MzIgcGt0X2xlbikNCiB7DQotCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVw ID0gKHN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqKSBkZXYtPnByaXY7DQorCXN0 cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsN CiAJc3RydWN0IG5ldF9kZXZpY2Vfc3RhdHMgKnBzID0gJmF1cC0+c3RhdHM7 DQogDQogCXBzLT50eF9wYWNrZXRzKys7DQpAQCAtMTg2MSw3ICsxODYxLDcg QEANCiAgKi8NCiBzdGF0aWMgdm9pZCBhdTEwMDBfdHhfYWNrKHN0cnVjdCBu ZXRfZGV2aWNlICpkZXYpDQogew0KLQlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUg KmF1cCA9IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2Ow0K KwlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IG5ldGRldl9wcml2KGRl dik7DQogCXZvbGF0aWxlIHR4X2RtYV90ICpwdHhkOw0KIA0KIAlwdHhkID0g YXVwLT50eF9kbWFfcmluZ1thdXAtPnR4X3RhaWxdOw0KQEAgLTE4ODgsNyAr MTg4OCw3IEBADQogICovDQogc3RhdGljIGludCBhdTEwMDBfdHgoc3RydWN0 IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5ldF9kZXZpY2UgKmRldikNCiB7DQot CXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gKHN0cnVjdCBhdTEwMDBf cHJpdmF0ZSAqKSBkZXYtPnByaXY7DQorCXN0cnVjdCBhdTEwMDBfcHJpdmF0 ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiAJdm9sYXRpbGUgdHhfZG1h X3QgKnB0eGQ7DQogCXUzMiBidWZmX3N0YXQ7DQogCWRiX2Rlc3RfdCAqcERC Ow0KQEAgLTE5MzksNyArMTkzOSw3IEBADQogDQogc3RhdGljIGlubGluZSB2 b2lkIHVwZGF0ZV9yeF9zdGF0cyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1 MzIgc3RhdHVzKQ0KIHsNCi0Jc3RydWN0IGF1MTAwMF9wcml2YXRlICphdXAg PSAoc3RydWN0IGF1MTAwMF9wcml2YXRlICopIGRldi0+cHJpdjsNCisJc3Ry dWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSBuZXRkZXZfcHJpdihkZXYpOw0K IAlzdHJ1Y3QgbmV0X2RldmljZV9zdGF0cyAqcHMgPSAmYXVwLT5zdGF0czsN CiANCiAJcHMtPnJ4X3BhY2tldHMrKzsNCkBAIC0xOTY3LDcgKzE5NjcsNyBA QA0KICAqLw0KIHN0YXRpYyBpbnQgYXUxMDAwX3J4KHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpDQogew0KLQlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9 IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2Ow0KKwlzdHJ1 Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IG5ldGRldl9wcml2KGRldik7DQog CXN0cnVjdCBza19idWZmICpza2I7DQogCXZvbGF0aWxlIHJ4X2RtYV90ICpw cnhkOw0KIAl1MzIgYnVmZl9zdGF0LCBzdGF0dXM7DQpAQCAtMjA3MCw2ICsy MDcwLDggQEANCiAJcHJpbnRrKEtFUk5fRVJSICIlczogYXUxMDAwX3R4X3Rp bWVvdXQ6IGRldj0lcFxuIiwgZGV2LT5uYW1lLCBkZXYpOw0KIAlyZXNldF9t YWMoZGV2KTsNCiAJYXUxMDAwX2luaXQoZGV2KTsNCisJLyogU2V0IHByb21p c2N1b3VzIG1vZGUgKi8NCisJc2V0X3J4X21vZGUoZGV2KTsNCiAJZGV2LT50 cmFuc19zdGFydCA9IGppZmZpZXM7DQogCW5ldGlmX3dha2VfcXVldWUoZGV2 KTsNCiB9DQpAQCAtMjA5Myw3ICsyMDk1LDcgQEANCiANCiBzdGF0aWMgdm9p ZCBzZXRfcnhfbW9kZShzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQ0KIHsNCi0J c3RydWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSAoc3RydWN0IGF1MTAwMF9w cml2YXRlICopIGRldi0+cHJpdjsNCisJc3RydWN0IGF1MTAwMF9wcml2YXRl ICphdXAgPSBuZXRkZXZfcHJpdihkZXYpOw0KIA0KIAlpZiAoYXUxMDAwX2Rl YnVnID4gNCkgDQogCQlwcmludGsoIiVzOiBzZXRfcnhfbW9kZTogZmxhZ3M9 JXhcbiIsIGRldi0+bmFtZSwgZGV2LT5mbGFncyk7DQpAQCAtMjEyNyw3ICsy MTI5LDcgQEANCiANCiBzdGF0aWMgaW50IGF1MTAwMF9pb2N0bChzdHJ1Y3Qg bmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWZyZXEgKnJxLCBpbnQgY21kKQ0K IHsNCi0Jc3RydWN0IGF1MTAwMF9wcml2YXRlICphdXAgPSAoc3RydWN0IGF1 MTAwMF9wcml2YXRlICopZGV2LT5wcml2Ow0KKwlzdHJ1Y3QgYXUxMDAwX3By aXZhdGUgKmF1cCA9IG5ldGRldl9wcml2KGRldik7DQogCXUxNiAqZGF0YSA9 ICh1MTYgKikmcnEtPmlmcl9pZnJ1Ow0KIA0KIAlzd2l0Y2goY21kKSB7IA0K QEAgLTIxNTQsNyArMjE1Niw3IEBADQogDQogc3RhdGljIGludCBhdTEwMDBf c2V0X2NvbmZpZyhzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWZt YXAgKm1hcCkNCiB7DQotCXN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0g KHN0cnVjdCBhdTEwMDBfcHJpdmF0ZSAqKSBkZXYtPnByaXY7DQorCXN0cnVj dCBhdTEwMDBfcHJpdmF0ZSAqYXVwID0gbmV0ZGV2X3ByaXYoZGV2KTsNCiAJ dTE2IGNvbnRyb2w7DQogDQogCWlmIChhdTEwMDBfZGVidWcgPiA0KSAgew0K QEAgLTIyNDgsNyArMjI1MCw3IEBADQogDQogc3RhdGljIHN0cnVjdCBuZXRf ZGV2aWNlX3N0YXRzICphdTEwMDBfZ2V0X3N0YXRzKHN0cnVjdCBuZXRfZGV2 aWNlICpkZXYpDQogew0KLQlzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9 IChzdHJ1Y3QgYXUxMDAwX3ByaXZhdGUgKikgZGV2LT5wcml2Ow0KKwlzdHJ1 Y3QgYXUxMDAwX3ByaXZhdGUgKmF1cCA9IG5ldGRldl9wcml2KGRldik7DQog DQogCWlmIChhdTEwMDBfZGVidWcgPiA0KQ0KIAkJcHJpbnRrKCIlczogYXUx MDAwX2dldF9zdGF0czogZGV2PSVwXG4iLCBkZXYtPm5hbWUsIGRldik7DQo= --0-176441661-1142902215=:30644--