Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758171AbaGDLOr (ORCPT ); Fri, 4 Jul 2014 07:14:47 -0400 Received: from relay-s04-hub006.domainlocalhost.com ([74.115.207.217]:11007 "EHLO relay-S04-HUB006.domainlocalhost.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757037AbaGDLOo (ORCPT ); Fri, 4 Jul 2014 07:14:44 -0400 Content-Type: multipart/mixed; boundary="_000_77BC725C9062764F874D79F51E1F1A8F4C90DE37S04MBX0104s04lo_" From: Dudley Du To: "Dmitry Torokhov (dmitry.torokhov@gmail.com)" CC: Alan Stern , Benson Leung , Patrik Fimml , "Rafael J. Wysocki" , "linux-input@vger.kernel.org" , "linux-kernel@vger.kernel.org" , Dudley Du Subject: [PATCH v3 13/14] input: cyapa: add gen5 trackpad device read firmware image and raw data functions support Thread-Topic: [PATCH v3 13/14] input: cyapa: add gen5 trackpad device read firmware image and raw data functions support Thread-Index: Ac+XeRp32myqT/tMRNiA63alT+BpHg== Date: Fri, 4 Jul 2014 11:14:23 +0000 Message-ID: <77BC725C9062764F874D79F51E1F1A8F4C90DE37@S04-MBX01-04.s04.local> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: <77BC725C9062764F874D79F51E1F1A8F4C90DE37@S04-MBX01-04.s04.local> x-originating-ip: [10.30.12.145] MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --_000_77BC725C9062764F874D79F51E1F1A8F4C90DE37S04MBX0104s04lo_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIHJlYWQgZmlybXdhcmUgaW1hZ2UgZnVuY3Rpb24gc3VwcG9ydGVkIGZvciBnZW41IHRyYWNr cGFkIGRldmljZSwNCndoaWNoIGl0cyBmdW5jdGlvbiBpcyBzdXBwbGllZCB0aHJvdWdoIGN5YXBh IGNvcmUgcmVhZF9mdyBpbnRlcmZhY2UuDQpUaHJvdWdoIHRoaXMgaW50ZXJmYWNlLCB1cHBlciBs YXllciBhcHBsaWNhdGlvbiBjYW4gcmVhZCBvdXQsIGNoZWNrDQphbmQgYmFja3VwIHRoZSBmaXJt d2FyZSBpbWFnZSBpbiB0cmFja3BhZCBkZXZpY2UgYmVmb3JlIHVwZGF0ZWQNCndpdGggbmV3IG9u ZSB3aGVuIG5ldyBmaXJtd2FyZSBpbWFnZSBtYXkgaGF2ZSBwcm9ibGVtcy4NCkFsc28gYWRkIGlu dGVyZmFjZXMgdG8gcmVwb3J0IGFsbCBzZW5zb3IncyByYXcgZGF0YSB2YWx1ZXMgdG8gdXBwZXIN CmxheWVyLCBzbyBpdCBjYW4gaGVscCB0byBmaW5kIG91dCB0aGUgcGVyZm9ybWFuY2UgaXNzdWUg d2hlbiB1c2Vycw0KcmVwb3J0cyBwcm9ibGVtLCBhbmQgYWxzbyBpdCdzIHVzZWZ1bCBhbmQgcmVx dWlyZWQgaW50ZXJmYWNlIGZvcg0Kc29tZSBjdXN0b21lcnMgdGhhdCByZXF1aXJlIHNlbnNvcnMn IHJhdyBkYXRhLg0KVEVTVD10ZXN0IG9uIENocm9tZWJvb2tzLg0KDQpTaWduZWQtb2ZmLWJ5OiBE dWRsZXkgRHUgPGR1ZGxAY3lwcmVzcy5jb20+DQotLS0NCiBkcml2ZXJzL2lucHV0L21vdXNlL2N5 YXBhX2dlbjUuYyB8ICAyNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysN CiAxIGZpbGUgY2hhbmdlZCwgMjU4IGluc2VydGlvbnMoKykNCg0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvaW5wdXQvbW91c2UvY3lhcGFfZ2VuNS5jIGIvZHJpdmVycy9pbnB1dC9tb3VzZS9jeWFwYV9n ZW41LmMNCmluZGV4IDA4ODIwZWIuLmM2NTY4YmUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2lucHV0 L21vdXNlL2N5YXBhX2dlbjUuYw0KKysrIGIvZHJpdmVycy9pbnB1dC9tb3VzZS9jeWFwYV9nZW41 LmMNCkBAIC0xMjA2LDYgKzEyMDYsMTU4IEBAIHN0YXRpYyBpbnQgY3lhcGFfZ2VuNV93cml0ZV9m d19ibG9jayhzdHJ1Y3QgY3lhcGEgKmN5YXBhLA0KICAgICAgICByZXR1cm4gMDsNCiB9DQoNCitz dGF0aWMgaW50IGN5YXBhX2dlbjVfcmVhZF9md19ieXRlcyhzdHJ1Y3QgY3lhcGEgKmN5YXBhLCB1 MTYgcm93X251bSwgdTggKmRhdGEpDQorew0KKyAgICAgICBpbnQgcmV0Ow0KKyAgICAgICB1OCBj bWRbMTZdOw0KKyAgICAgICBzaXplX3QgY21kX2xlbjsNCisgICAgICAgdTggcmVzcF9kYXRhW0NZ QVBBX1RTR19GV19ST1dfU0laRSAvIDIgKyBHRU41X01JTl9CTF9SRVNQX0xFTkdUSF07DQorICAg ICAgIGludCByZXNwX2xlbjsNCisgICAgICAgdTE2IG9mZnNldDsNCisgICAgICAgdTE2IGNtZF9j cmM7DQorICAgICAgIHN0cnVjdCBjeWFwYV90c2dfYmluX2ltYWdlX2RhdGFfcmVjb3JkICpmd19p bWdfcmVjb3JkOw0KKw0KKyAgICAgICBmd19pbWdfcmVjb3JkID0gKHN0cnVjdCBjeWFwYV90c2df YmluX2ltYWdlX2RhdGFfcmVjb3JkICopZGF0YTsNCisNCisgICAgICAgY21kWzBdID0gMHgwNDsg IC8qIHJlZ2lzdGVyIGFkZHJlc3MgKi8NCisgICAgICAgY21kWzFdID0gMHgwMDsNCisgICAgICAg Y21kWzJdID0gMHgwZTsNCisgICAgICAgY21kWzNdID0gMHgwMDsNCisgICAgICAgY21kWzRdID0g MHg0MDsgIC8qIHJlcG9ydCBpZCA0MGggKi8NCisgICAgICAgY21kWzVdID0gMHgwMDsNCisgICAg ICAgY21kWzZdID0gR0VONV9TT1BfS0VZOw0KKyAgICAgICBjbWRbN10gPSAweDNkOyAgLyogcmVh ZCBhcHBsaWNhdGlvbiBpbWFnZSBjb21tYW5kIGNvZGUgKi8NCisgICAgICAgY21kWzhdID0gMHgw MzsNCisgICAgICAgY21kWzldID0gMHgwMDsNCisgICAgICAgb2Zmc2V0ID0gcm93X251bSAqIENZ QVBBX1RTR19GV19ST1dfU0laRSAtDQorICAgICAgICAgICAgICAgICAgICAgICBDWUFQQV9UU0df U1RBUlRfT0ZfQVBQTElDQVRJT047DQorICAgICAgIHB1dF91bmFsaWduZWRfbGUxNihvZmZzZXQs ICZjbWRbMTBdKTsNCisgICAgICAgY21kWzEyXSA9IENZQVBBX1RTR19JTUdfUkVBRF9TSVpFOw0K KyAgICAgICBjbWRfY3JjID0gY3JjX2l0dV90KDB4ZmZmZiwgJmNtZFs2XSwgNyk7DQorICAgICAg IHB1dF91bmFsaWduZWRfbGUxNihjbWRfY3JjLCAmY21kWzEzXSk7ICAvKiBDUkNbMTU6MF0gKi8N CisgICAgICAgY21kWzE1XSA9IEdFTjVfRU9QX0tFWTsgIC8qIEVPUCA9IDE3aCAqLw0KKyAgICAg ICBjbWRfbGVuID0gMTY7DQorDQorICAgICAgIHJlc3BfbGVuID0gQ1lBUEFfVFNHX0lNR19SRUFE X1NJWkUgKyBHRU41X01JTl9CTF9SRVNQX0xFTkdUSDsNCisgICAgICAgcmV0ID0gY3lhcGFfaTJj X3BpcF9jbWRfaXJxX3N5bmMoY3lhcGEsDQorICAgICAgICAgICAgICAgICAgICAgICBjbWQsIGNt ZF9sZW4sDQorICAgICAgICAgICAgICAgICAgICAgICByZXNwX2RhdGEsICZyZXNwX2xlbiwNCisg ICAgICAgICAgICAgICAgICAgICAgIDUwLCBjeWFwYV9nZW41X3NvcnRfdHNnX3BpcF9ibF9yZXNw X2RhdGEpOw0KKyAgICAgICBpZiAocmVzcF9sZW4gIT0gKENZQVBBX1RTR19JTUdfUkVBRF9TSVpF ICsgR0VONV9NSU5fQkxfUkVTUF9MRU5HVEgpIHx8DQorICAgICAgICAgICAgICAgICAgICAgICBy ZXQgfHwgcmVzcF9kYXRhWzJdICE9IEdFTjVfQkxfUkVTUF9SRVBPUlRfSUQgfHwNCisgICAgICAg ICAgICAgICAgICAgICAgICFHRU41X0NNRF9DT01QTEVURV9TVUNDRVNTKHJlc3BfZGF0YVs1XSkp DQorICAgICAgICAgICAgICAgcmV0dXJuIChyZXQgPCAwKSA/IHJldCA6IC1FQUdBSU47DQorDQor ICAgICAgIC8qIGNvcHkgZmlyc3QgNjQgYnl0ZXMgaW4gdGhlIHJvdy4gKi8NCisgICAgICAgbWVt Y3B5KCZmd19pbWdfcmVjb3JkLT5yZWNvcmRfZGF0YVswXSwgJnJlc3BfZGF0YVs4XSwNCisgICAg ICAgICAgICAgICAgICAgICAgIENZQVBBX1RTR19JTUdfUkVBRF9TSVpFKTsNCisNCisgICAgICAg aWYgKHJvd19udW0gPT0gQ1lBUEFfVFNHX0lNR19BUFBfSU5URUdSSVRZX1JPV19OVU0pIHsNCisg ICAgICAgICAgICAgICAvKiBsYXN0IHJvdydzIHJlc3QgNjQgYnl0ZXMgYXJlIGJvb3Rsb2FkZXIg bWV0YWRhdGEsDQorICAgICAgICAgICAgICAgICogaXQncyBub3QgYWxsb3dlZCB0byBiZSByZWFk IG91dCwgd2lsbCByZXNwb25kIHdpdGggZXJyb3IuICovDQorICAgICAgICAgICAgICAgbWVtc2V0 KCZmd19pbWdfcmVjb3JkLT5yZWNvcmRfZGF0YVtDWUFQQV9UU0dfSU1HX1JFQURfU0laRV0sDQor ICAgICAgICAgICAgICAgICAgICAgICAwLCBDWUFQQV9UU0dfSU1HX1JFQURfU0laRSk7DQorICAg ICAgICAgICAgICAgZ290byBza2lwX2xhc3Rfcm93Ow0KKyAgICAgICB9DQorDQorICAgICAgIC8q IHJlYWQgbmV4dCA2NCBieXRlcyBpbiB0aGUgcm93LiAqLw0KKyAgICAgICBvZmZzZXQgPSBvZmZz ZXQgKyBDWUFQQV9UU0dfSU1HX1JFQURfU0laRTsNCisgICAgICAgcHV0X3VuYWxpZ25lZF9sZTE2 KG9mZnNldCwgJmNtZFsxMF0pOw0KKyAgICAgICBjbWRfY3JjID0gY3JjX2l0dV90KDB4ZmZmZiwg JmNtZFs2XSwgNyk7DQorICAgICAgIHB1dF91bmFsaWduZWRfbGUxNihjbWRfY3JjLCAmY21kWzEz XSk7ICAvKiBDUkNbMTU6MF0gKi8NCisgICAgICAgcmV0ID0gY3lhcGFfaTJjX3BpcF9jbWRfaXJx X3N5bmMoY3lhcGEsDQorICAgICAgICAgICAgICAgICAgICAgICBjbWQsIGNtZF9sZW4sDQorICAg ICAgICAgICAgICAgICAgICAgICByZXNwX2RhdGEsICZyZXNwX2xlbiwNCisgICAgICAgICAgICAg ICAgICAgICAgIDUwMCwgY3lhcGFfZ2VuNV9zb3J0X3RzZ19waXBfYmxfcmVzcF9kYXRhKTsNCisg ICAgICAgaWYgKHJlc3BfbGVuICE9IChDWUFQQV9UU0dfSU1HX1JFQURfU0laRSArIEdFTjVfTUlO X0JMX1JFU1BfTEVOR1RIKSB8fA0KKyAgICAgICAgICAgICAgICAgICAgICAgcmV0IHx8IHJlc3Bf ZGF0YVsyXSAhPSBHRU41X0JMX1JFU1BfUkVQT1JUX0lEIHx8DQorICAgICAgICAgICAgICAgICAg ICAgICAhR0VONV9DTURfQ09NUExFVEVfU1VDQ0VTUyhyZXNwX2RhdGFbNV0pKQ0KKyAgICAgICAg ICAgICAgIHJldHVybiAocmV0IDwgMCkgPyByZXQgOiAtRUFHQUlOOw0KKw0KKyAgICAgICAvKiBj b3B5IGxhc3QgNjQgYnl0ZXMgaW4gdGhlIHJvdy4gKi8NCisgICAgICAgbWVtY3B5KCZmd19pbWdf cmVjb3JkLT5yZWNvcmRfZGF0YVtDWUFQQV9UU0dfSU1HX1JFQURfU0laRV0sDQorICAgICAgICAg ICAgICAgJnJlc3BfZGF0YVs4XSwgQ1lBUEFfVFNHX0lNR19SRUFEX1NJWkUpOw0KKw0KK3NraXBf bGFzdF9yb3c6DQorICAgICAgIGZ3X2ltZ19yZWNvcmQtPmZsYXNoX2FycmF5X2lkID0gMDsNCisg ICAgICAgcHV0X3VuYWxpZ25lZF9iZTE2KHJvd19udW0sICZmd19pbWdfcmVjb3JkLT5yb3dfbnVt YmVyKTsNCisgICAgICAgcHV0X3VuYWxpZ25lZF9iZTE2KENZQVBBX1RTR19GV19ST1dfU0laRSwg JmZ3X2ltZ19yZWNvcmQtPnJlY29yZF9sZW4pOw0KKw0KKyAgICAgICByZXR1cm4gMDsNCit9DQor DQorc3RhdGljIGludCBjeWFwYV9nZW41X3JlYWRfZncoc3RydWN0IGN5YXBhICpjeWFwYSkNCit7 DQorICAgICAgIGludCByZXQ7DQorICAgICAgIGludCBmd19pbWdfaGVhZF9zaXplOw0KKyAgICAg ICBpbnQgZndfaW1nX3JlY29yZF9zaXplOw0KKyAgICAgICBpbnQgcm93X2luZGV4Ow0KKyAgICAg ICBpbnQgYXJyYXlfaW5kZXg7DQorICAgICAgIHUzMiBpbWdfc3RhcnQ7DQorICAgICAgIHUxNiBp bWdfbGVuOw0KKyAgICAgICB1MTYgaW1nX3N0YXJ0X3JvdzsNCisgICAgICAgdTE2IGltZ19lbmRf cm93Ow0KKyAgICAgICBzdHJ1Y3QgY3lhcGFfdHNnX2Jpbl9pbWFnZV9kYXRhX3JlY29yZCBhcHBf aW50ZWdyaXR5Ow0KKyAgICAgICB1OCAqcmVjb3JkX2RhdGE7DQorDQorICAgICAgIHJldCA9IGN5 YXBhX2dlbjVfYmxfZW50ZXIoY3lhcGEpOw0KKyAgICAgICBpZiAocmV0KQ0KKyAgICAgICAgICAg ICAgIGdvdG8gZXJyOw0KKw0KKyAgICAgICBjeWFwYV9lbXB0eV9waXBfb3V0cHV0X2RhdGEoY3lh cGEsIE5VTEwsIE5VTEwsIE5VTEwpOw0KKw0KKyAgICAgICBmd19pbWdfaGVhZF9zaXplID0gc2l6 ZW9mKHN0cnVjdCBjeWFwYV90c2dfYmluX2ltYWdlX2hlYWQpOw0KKyAgICAgICBmd19pbWdfcmVj b3JkX3NpemUgPSBzaXplb2Yoc3RydWN0IGN5YXBhX3RzZ19iaW5faW1hZ2VfZGF0YV9yZWNvcmQp Ow0KKw0KKyAgICAgICAvKiBSZWFkIGFwcCBpbnRlZ3JpdHkgYmxvY2sgZGF0YS4gKi8NCisgICAg ICAgcm93X2luZGV4ID0gQ1lBUEFfVFNHX0lNR19BUFBfSU5URUdSSVRZX1JPV19OVU07DQorICAg ICAgIHJldCA9IGN5YXBhX2dlbjVfcmVhZF9md19ieXRlcyhjeWFwYSwgcm93X2luZGV4LCAodTgg KikmYXBwX2ludGVncml0eSk7DQorICAgICAgIGlmIChyZXQpDQorICAgICAgICAgICAgICAgZ290 byBlcnI7DQorICAgICAgIGltZ19zdGFydCA9IGdldF91bmFsaWduZWRfbGUzMigmYXBwX2ludGVn cml0eS5yZWNvcmRfZGF0YVsxNl0pOw0KKyAgICAgICBpbWdfbGVuID0gZ2V0X3VuYWxpZ25lZF9s ZTE2KCZhcHBfaW50ZWdyaXR5LnJlY29yZF9kYXRhWzIwXSk7DQorICAgICAgIGlmICgoaW1nX3N0 YXJ0ICsgaW1nX2xlbikgJSBDWUFQQV9UU0dfRldfUk9XX1NJWkUpDQorICAgICAgICAgICAgICAg Z290byBlcnI7DQorICAgICAgIGltZ19zdGFydF9yb3cgPSBpbWdfc3RhcnQgLyBDWUFQQV9UU0df RldfUk9XX1NJWkU7DQorICAgICAgIGltZ19lbmRfcm93ID0gKGltZ19zdGFydCArIGltZ19sZW4p IC8gQ1lBUEFfVFNHX0ZXX1JPV19TSVpFIC0gMTsNCisNCisgICAgICAgLyogYWxsb2NhdGUgbWVt b3J5IGZvciBpbWFnZS4gKi8NCisgICAgICAgY3lhcGEtPmZ3X2ltYWdlX3NpemUgPSBmd19pbWdf aGVhZF9zaXplICsNCisgICAgICAgICAgICAgICAoaW1nX2VuZF9yb3cgLSAgaW1nX3N0YXJ0X3Jv dyArIDIpICogZndfaW1nX3JlY29yZF9zaXplOw0KKyAgICAgICBjeWFwYS0+ZndfaW1hZ2UgPSBr bWFsbG9jKGN5YXBhLT5md19pbWFnZV9zaXplLCBHRlBfS0VSTkVMKTsNCisgICAgICAgaWYgKCFj eWFwYS0+ZndfaW1hZ2UpIHsNCisgICAgICAgICAgICAgICByZXQgPSAtRU5PTUVNOw0KKyAgICAg ICAgICAgICAgIGdvdG8gZXJyOw0KKyAgICAgICB9DQorDQorICAgICAgIC8qIHNldCBpbWFnZSBo ZWFkIGRhdGEuICovDQorICAgICAgIG1lbWNweShjeWFwYS0+ZndfaW1hZ2UsICZnZW41X2Z3X2lt Z19oZWFkLCBmd19pbWdfaGVhZF9zaXplKTsNCisNCisgICAgICAgLyogcmVhZCBpbWFnZSBibG9j a3MuICovDQorICAgICAgIGZvciAocm93X2luZGV4ID0gaW1nX3N0YXJ0X3JvdywgYXJyYXlfaW5k ZXggPSAwOw0KKyAgICAgICAgICAgICAgICAgICAgICAgcm93X2luZGV4IDw9IGltZ19lbmRfcm93 Ow0KKyAgICAgICAgICAgICAgICAgICAgICAgcm93X2luZGV4KyssIGFycmF5X2luZGV4KyspIHsN CisgICAgICAgICAgICAgICByZWNvcmRfZGF0YSA9ICZjeWFwYS0+ZndfaW1hZ2VbZndfaW1nX2hl YWRfc2l6ZSArDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5X2luZGV4ICog ZndfaW1nX3JlY29yZF9zaXplXTsNCisgICAgICAgICAgICAgICByZXQgPSBjeWFwYV9nZW41X3Jl YWRfZndfYnl0ZXMoY3lhcGEsIHJvd19pbmRleCwgcmVjb3JkX2RhdGEpOw0KKyAgICAgICAgICAg ICAgIGlmIChyZXQpDQorICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycjsNCisgICAgICAg fQ0KKw0KKyAgICAgICAvKiBhcHBlbmQgbGFzdCBhcHAgaW50ZWdyaXR5IGJsb2NrIGRhdGEuICov DQorICAgICAgIHJlY29yZF9kYXRhID0gJmN5YXBhLT5md19pbWFnZVtmd19pbWdfaGVhZF9zaXpl ICsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlfaW5kZXggKiBmd19pbWdf cmVjb3JkX3NpemVdOw0KKyAgICAgICBtZW1jcHkocmVjb3JkX2RhdGEsICZhcHBfaW50ZWdyaXR5 LCBmd19pbWdfcmVjb3JkX3NpemUpOw0KKw0KK2VycjoNCisgICAgICAgaWYgKHJldCkgew0KKyAg ICAgICAgICAgICAgIGtmcmVlKGN5YXBhLT5md19pbWFnZSk7DQorICAgICAgICAgICAgICAgY3lh cGEtPmZ3X2ltYWdlID0gTlVMTDsNCisgICAgICAgICAgICAgICBjeWFwYS0+ZndfaW1hZ2Vfc2l6 ZSA9IDA7DQorICAgICAgIH0NCisgICAgICAgcmV0dXJuIHJldDsNCit9DQorDQogc3RhdGljIGlu dCBjeWFwYV9nZW41X2RvX2Z3X3VwZGF0ZShzdHJ1Y3QgY3lhcGEgKmN5YXBhLA0KICAgICAgICAg ICAgICAgIGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncpDQogew0KQEAgLTIyMDAsNiArMjM1Miwx MDkgQEAgcmVzdW1lX3NjYW5uaW5nOg0KICAgICAgICByZXR1cm4gcmV0ICsgZXJyOw0KIH0NCg0K K3N0YXRpYyBpbnQgY3lhcGFfZ2VuNV9yZWFkX3Jhd19kYXRhKHN0cnVjdCBjeWFwYSAqY3lhcGEp DQorew0KKyAgICAgICBpbnQgcmV0LCBlcnI7DQorICAgICAgIGludCByYXdfY2FwX211dHVhbF9t YXgsIHJhd19jYXBfbXV0dWFsX21pbiwgcmF3X2NhcF9tdXR1YWxfYXZlOw0KKyAgICAgICBpbnQg cmF3X2NhcF9zZWxmX21heCwgcmF3X2NhcF9zZWxmX21pbiwgcmF3X2NhcF9zZWxmX2F2ZTsNCisg ICAgICAgaW50IG9mZnNldDsNCisgICAgICAgaW50IGRhdGFfc2l6ZSwgbWF4LCBtaW4sIGF2ZTsN CisgICAgICAga3RpbWVfdCB0aW1lX21vbm87DQorDQorICAgICAgIG9mZnNldCA9IDA7DQorICAg ICAgIGlmICghY3lhcGEtPnRwX3Jhd19kYXRhKSB7DQorICAgICAgICAgICAgICAgaWYgKGN5YXBh LT5zdGF0ZSAhPSBDWUFQQV9TVEFURV9HRU41X0FQUCB8fA0KKyAgICAgICAgICAgICAgICAgICAg ICAgIWN5YXBhLT5lbGVjdHJvZGVzX3ggfHwgIWN5YXBhLT5lbGVjdHJvZGVzX3kpDQorICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gIC1FSU5WQUw7DQorDQorICAgICAgICAgICAgICAgY3lh cGEtPnRwX3Jhd19kYXRhX3NpemUgPSBzaXplb2YoczMyKSAqIChjeWFwYS0+ZWxlY3Ryb2Rlc194 ICoNCisgICAgICAgICAgICAgICAgICAgICAgIGN5YXBhLT5lbGVjdHJvZGVzX3kgKyBjeWFwYS0+ ZWxlY3Ryb2Rlc194ICsNCisgICAgICAgICAgICAgICAgICAgICAgIGN5YXBhLT5lbGVjdHJvZGVz X3kpICsgR0VONV9SQVdfREFUQV9IRUFEX1NJWkU7DQorICAgICAgICAgICAgICAgLyogVGhpcyBi dWZmZXIgd2lsbCBiZSBob2xkIGFmdGVyIHVzZWQgdW50aWwgdGhlIGRyaXZlciBpcw0KKyAgICAg ICAgICAgICAgICAqIHVubG9hZGVkLCB0aGUgcHVycG9zZSBvZiBpdCBpcyB0byBpbXByb3ZlIHRo ZSBwZXJmb3JtYWNlDQorICAgICAgICAgICAgICAgICogdG8gYXZvaWQgZnJlcXVlbnRseSBhbGxv Y2F0ZSBhbmQgcmVsZWFzZSB0aGUgYnVmZmVyLiAqLw0KKyAgICAgICAgICAgICAgIGN5YXBhLT50 cF9yYXdfZGF0YSA9DQorICAgICAgICAgICAgICAgICAgICAgICBrbWFsbG9jKGN5YXBhLT50cF9y YXdfZGF0YV9zaXplLCBHRlBfS0VSTkVMKTsNCisgICAgICAgICAgICAgICBpZiAoIWN5YXBhLT50 cF9yYXdfZGF0YSkNCisgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOw0KKyAg ICAgICAgICAgICAgIG1lbXNldChjeWFwYS0+dHBfcmF3X2RhdGEsIDAsIGN5YXBhLT50cF9yYXdf ZGF0YV9zaXplKTsNCisgICAgICAgfQ0KKw0KKw0KKyAgICAgICAvKiAxLiBzdXNwZW5kIFNjYW5u aW5nLg0KKyAgICAgICAgKiBBZnRlciBzdXNwZW5kIHNjYW5uaW5nLCB0aGUgcmF3IGRhdGEgd2ls bCBub3QgYmUgdXBkYXRlZCwNCisgICAgICAgICogc28gdGhlIHRpbWUgb2YgdGhlIHJhdyBkYXRh IGlzIGJlZm9yZSBzY2FubmluZyBzdXNwZW5kZWQuICovDQorICAgICAgIHRpbWVfbW9ubyA9IGt0 aW1lX2dldCgpOw0KKyAgICAgICByZXQgPSBjeWFwYV9nZW41X3N1c3BlbmRfc2Nhbm5pbmcoY3lh cGEpOw0KKyAgICAgICBpZiAocmV0KQ0KKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQorDQor ICAgICAgIC8qIDIuIGdldCB0aGUgY29ycmVjdCBlbGVjdHJvZGVzX3J4IG51bWJlci4gKi8NCisg ICAgICAgaWYgKGN5YXBhLT5lbGVjdHJvZGVzX3J4ID09IDApIHsNCisgICAgICAgICAgICAgICAv KiBUaHJvdWdoIHRoZSByZWFkIGdsb2JhbCBpZGFjIGludGVyZmFjZSB0byBnZXQgdGhlIFJ4IG51 bWJlci4NCisgICAgICAgICAgICAgICAgKiB0aGlzIHZhbHVlIGlzIHVzZWZ1bCB0byB0aGUgcmF3 IGRhdGEgbWFwLiovDQorICAgICAgICAgICAgICAgZGF0YV9zaXplID0gMDsNCisgICAgICAgICAg ICAgICBlcnIgPSBjeWFwYV9nZW41X3JlYWRfaWRhY19kYXRhKGN5YXBhLA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHRU41X0NNRF9SRVRSSUVWRV9EQVRBX1NUUlVDVFVSRSwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VONV9SRVRSSUVWRV9NVVRVQUxfUFdDX0RB VEEsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkYXRhX3NpemUsICZtYXgsICZt aW4sICZhdmUpOw0KKyAgICAgICAgICAgICAgIGlmIChlcnIgfHwgY3lhcGEtPmVsZWN0cm9kZXNf cnggPT0gMCkNCisgICAgICAgICAgICAgICAgICAgICAgIGdvdG8gcmVzdW1lX3NjYW5uaW5nOw0K KyAgICAgICB9DQorDQorICAgICAgIC8qIDMuIGV4ZWN1YXRlIHBhbmVsIHNjYW4uIEl0IG11c3Qg YmUgZXhlY3V0ZWQgYmVmb3JlIHJlYWQgZGF0YS4gKi8NCisgICAgICAgZXJyID0gY3lhcGFfZ2Vu NV9leGVjdXRlX3BhbmVsX3NjYW4oY3lhcGEpOw0KKyAgICAgICBpZiAoZXJyKQ0KKyAgICAgICAg ICAgICAgIGdvdG8gcmVzdW1lX3NjYW5uaW5nOw0KKw0KKyAgICAgICAvKiA0LiByZXRyaXZlIHBh bmVsIHNjYW4sIG11dHVhbCBjYXAgcmF3IGRhdGEuICovDQorICAgICAgIG9mZnNldCA9IEdFTjVf UkFXX0RBVEFfSEVBRF9TSVpFOw0KKyAgICAgICBlcnIgPSBjeWFwYV9nZW41X3JlYWRfcGFuZWxf c2Nhbl9yYXdfZGF0YShjeWFwYSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VO NV9DTURfUkVUUklFVkVfUEFORUxfU0NBTiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgR0VONV9QQU5FTF9TQ0FOX01VVFVBTF9ESUZGQ09VTlQsDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGN5YXBhLT5lbGVjdHJvZGVzX3ggKiBjeWFwYS0+ZWxlY3Ryb2Rlc195LA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmF3X2NhcF9tdXR1YWxfbWF4LCAmcmF3 X2NhcF9tdXR1YWxfbWluLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmF3X2Nh cF9tdXR1YWxfYXZlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjeWFwYS0+dHBf cmF3X2RhdGEgKyBvZmZzZXQpOw0KKyAgICAgICBpZiAoZXJyKQ0KKyAgICAgICAgICAgICAgIGdv dG8gcmVzdW1lX3NjYW5uaW5nOw0KKw0KKyAgICAgICBvZmZzZXQgKz0gc2l6ZW9mKHMzMikgKiBj eWFwYS0+ZWxlY3Ryb2Rlc194ICogY3lhcGEtPmVsZWN0cm9kZXNfeTsNCisNCisgICAgICAgLyog NS4gcmV0cml2ZSBwYW5lbCBzY2FuLCBzZWxmIGNhcCByYXcgZGF0YS4gKi8NCisgICAgICAgZXJy ID0gY3lhcGFfZ2VuNV9yZWFkX3BhbmVsX3NjYW5fcmF3X2RhdGEoY3lhcGEsDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdFTjVfQ01EX1JFVFJJRVZFX1BBTkVMX1NDQU4sDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdFTjVfUEFORUxfU0NBTl9TRUxGX0RJRkZDT1VO VCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3lhcGEtPmVsZWN0cm9kZXNfeCAr IGN5YXBhLT5lbGVjdHJvZGVzX3ksDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZy YXdfY2FwX3NlbGZfbWF4LCAmcmF3X2NhcF9zZWxmX21pbiwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnJhd19jYXBfc2VsZl9hdmUsDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN5YXBhLT50cF9yYXdfZGF0YSArIG9mZnNldCk7DQorICAgICAgIGlmIChlcnIpDQor ICAgICAgICAgICAgICAgZ290byByZXN1bWVfc2Nhbm5pbmc7DQorDQorICAgICAgIG9mZnNldCAr PSBzaXplb2YoczMyKSAqIChjeWFwYS0+ZWxlY3Ryb2Rlc194ICsgY3lhcGEtPmVsZWN0cm9kZXNf eSk7DQorDQorcmVzdW1lX3NjYW5uaW5nOg0KKyAgICAgICAvKiA2LiByZXN1bWUgU2Nhbm5pbmcq Lw0KKyAgICAgICByZXQgPSBjeWFwYV9nZW41X3Jlc3VtZV9zY2FubmluZyhjeWFwYSk7DQorICAg ICAgIGlmIChyZXQgfHwgZXJyKQ0KKyAgICAgICAgICAgICAgIHJldHVybiByZXQgPyByZXQgOiBl cnI7DQorDQorICAgICAgICooKHN0cnVjdCB0aW1ldmFsICopJmN5YXBhLT50cF9yYXdfZGF0YVsw XSkgPQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3Rp bWVfdG9fdGltZXZhbCh0aW1lX21vbm8pOw0KKyAgICAgICBjeWFwYS0+dHBfcmF3X2RhdGFbMTZd ID0gKHU4KWN5YXBhLT5lbGVjdHJvZGVzX3g7DQorICAgICAgIGN5YXBhLT50cF9yYXdfZGF0YVsx N10gPSAodTgpY3lhcGEtPmVsZWN0cm9kZXNfeTsNCisgICAgICAgY3lhcGEtPnRwX3Jhd19kYXRh WzE4XSA9ICh1OCljeWFwYS0+eF9vcmlnaW47DQorICAgICAgIGN5YXBhLT50cF9yYXdfZGF0YVsx OV0gPSAodTgpY3lhcGEtPnlfb3JpZ2luOw0KKyAgICAgICBjeWFwYS0+dHBfcmF3X2RhdGFbMjBd ID0gKHU4KXNpemVvZihzMzIpOw0KKyAgICAgICBjeWFwYS0+dHBfcmF3X2RhdGFbMjFdID0gKHU4 KXNpemVvZihzMzIpOw0KKyAgICAgICBjeWFwYS0+dHBfcmF3X2RhdGFbMjJdID0gKHU4KWN5YXBh LT5lbGVjdHJvZGVzX3J4Ow0KKyAgICAgICBjeWFwYS0+dHBfcmF3X2RhdGFbMjNdID0gMDsgIC8q IHJlc2VydmVkLiAqLw0KKw0KKyAgICAgICBjeWFwYS0+dHBfcmF3X2RhdGFfc2l6ZSA9IG9mZnNl dDsNCisgICAgICAgcmV0dXJuIDA7DQorfQ0KKw0KIHN0YXRpYyBib29sIGN5YXBhX2dlbjVfc29y dF9zeXN0ZW1faW5mb19kYXRhKHN0cnVjdCBjeWFwYSAqY3lhcGEsDQogICAgICAgICAgICAgICAg dTggKmJ1ZiwgaW50IGxlbikNCiB7DQpAQCAtMjYwNyw2ICsyODYyLDkgQEAgY29uc3Qgc3RydWN0 IGN5YXBhX2Rldl9vcHMgY3lhcGFfZ2VuNV9vcHMgPSB7DQogICAgICAgIC5zaG93X2Jhc2VsaW5l ID0gY3lhcGFfZ2VuNV9zaG93X2Jhc2VsaW5lLA0KICAgICAgICAuY2FsaWJyYXRlX3N0b3JlID0g Y3lhcGFfZ2VuNV9kb19jYWxpYnJhdGUsDQoNCisgICAgICAgLnJlYWRfZncgPSBjeWFwYV9nZW41 X3JlYWRfZncsDQorICAgICAgIC5yZWFkX3Jhd19kYXRhID0gY3lhcGFfZ2VuNV9yZWFkX3Jhd19k YXRhLA0KKw0KICAgICAgICAuaW5pdGlhbGl6ZSA9IGN5YXBhX2dlbjVfaW5pdGlhbGl6ZSwNCiAg ICAgICAgLnVuaW5pdGlhbGl6ZSA9IGN5YXBhX2dlbjVfdW5pbml0aWFsaXplLA0KDQotLQ0KMS43 LjkuNQ0KDQpUaGlzIG1lc3NhZ2UgYW5kIGFueSBhdHRhY2htZW50cyBtYXkgY29udGFpbiBDeXBy ZXNzIChvciBpdHMgc3Vic2lkaWFyaWVzKSBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24uIElmIGl0 IGhhcyBiZWVuIHJlY2VpdmVkIGluIGVycm9yLCBwbGVhc2UgYWR2aXNlIHRoZSBzZW5kZXIgYW5k IGltbWVkaWF0ZWx5IGRlbGV0ZSB0aGlzIG1lc3NhZ2UuDQo= --_000_77BC725C9062764F874D79F51E1F1A8F4C90DE37S04MBX0104s04lo_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" 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 AAAAAAAfABoMAQAAABQAAABEAHUAZABsAGUAeQAgAEQAdQAAAB8AHwwBAAAAIgAAAGQAdQBkAGwA QABjAHkAcAByAGUAcwBzAC4AYwBvAG0AAAAAAB8AHgwBAAAACgAAAFMATQBUAFAAAAAAAAIBGQwB AAAAWAAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAgEQAdQBkAGwAZQB5ACAARAB1AAAAUwBNAFQA UAAAAGQAdQBkAGwAQABjAHkAcAByAGUAcwBzAC4AYwBvAG0AAAAfAAFdAQAAACIAAABkAHUAZABs AEAAYwB5AHAAcgBlAHMAcwAuAGMAbwBtAAAAAAAfAPg/AQAAABQAAABEAHUAZABsAGUAeQAgAEQA dQAAAB8AI0ABAAAAIgAAAGQAdQBkAGwAQABjAHkAcAByAGUAcwBzAC4AYwBvAG0AAAAAAB8AIkAB AAAACgAAAFMATQBUAFAAAAAAAAIB+T8BAAAAWAAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAgEQA dQBkAGwAZQB5ACAARAB1AAAAUwBNAFQAUAAAAGQAdQBkAGwAQABjAHkAcAByAGUAcwBzAC4AYwBv AG0AAAAfAAldAQAAACIAAABkAHUAZABsAEAAYwB5AHAAcgBlAHMAcwAuAGMAbwBtAAAAAAAfADFA AQAAAAIAAAAAAAAACwBAOgEAAAAfADBAAQAAAAIAAAAAAAAAHwAaAAEAAAASAAAASQBQAE0ALgBO AG8AdABlAAAAAAADAPE/BAgAAAsAQDoBAAAAAwD9P6gDAAACAQswAQAAABAAAABhzCm80tvCTaBb 4kg5b3UVAwAXAAEAAABAADkAgJHIG3mXzwFAAAgw8lEEHHmXzwELACkAAAAAAAsAIwAAAAAAHwAA gIYDAgAAAAAAwAAAAAAAAEYBAAAAHgAAAGEAYwBjAGUAcAB0AGwAYQBuAGcAdQBhAGcAZQAAAAAA AQAAABoAAAB6AGgALQBDAE4ALAAgAGUAbgAtAFUAUwAAAAAACwAAgAggBgAAAAAAwAAAAAAAAEYA AAAABoUAAAAAAAAfADcAAQAAANYAAABbAFAAQQBUAEMASAAgAHYAMwAgADEAMwAvADEANABdACAA aQBuAHAAdQB0ADoAIABjAHkAYQBwAGEAOgAgAGEAZABkACAAZwBlAG4ANQAgAHQAcgBhAGMAawBw AGEAZAAgAGQAZQB2AGkAYwBlACAAcgBlAGEAZAAgAGYAaQByAG0AdwBhAHIAZQAgAGkAbQBhAGcA ZQAgAGEAbgBkACAAcgBhAHcAIABkAGEAdABhACAAZgB1AG4AYwB0AGkAbwBuAHMAIABzAHUAcABw AG8AcgB0AAAAAAAfAD0AAQAAAAIAAAAAAAAAAwA2AAAAAAACAXEAAQAAABYAAAABz5d5GnfabKpP +0xE2IDrdqVP4GkeAAAfAHAAAQAAANYAAABbAFAAQQBUAEMASAAgAHYAMwAgADEAMwAvADEANABd ACAAaQBuAHAAdQB0ADoAIABjAHkAYQBwAGEAOgAgAGEAZABkACAAZwBlAG4ANQAgAHQAcgBhAGMA awBwAGEAZAAgAGQAZQB2AGkAYwBlACAAcgBlAGEAZAAgAGYAaQByAG0AdwBhAHIAZQAgAGkAbQBh AGcAZQAgAGEAbgBkACAAcgBhAHcAIABkAGEAdABhACAAZgB1AG4AYwB0AGkAbwBuAHMAIABzAHUA cABwAG8AcgB0AAAAAAAfADUQAQAAAIQAAAA8ADcANwBCAEMANwAyADUAQwA5ADAANgAyADcANgA0 AEYAOAA3ADQARAA3ADkARgA1ADEARQAxAEYAMQBBADgARgA0AEMAOQAwAEQARQAzADcAQABTADAA NAAtAE0AQgBYADAAMQAtADAANAAuAHMAMAA0AC4AbABvAGMAYQBsAD4AAAADAN4/6f0AAAsAAIAI IAYAAAAAAMAAAAAAAABGAAAAAAOFAAAAAAAAAwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAAYUAAAAA AAADAACAAyAGAAAAAADAAAAAAAAARgAAAAABgQAAAAAAAAMAgBD/////BQAAgAMgBgAAAAAAwAAA AAAAAEYAAAAAAoEAAAAAAAAAAAAACwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAHIEAAAAAAABAAAcw tBDfGnmXzwELAAIAAQAAAAMAJgAAAAAAAgEQMAEAAABGAAAAAAAAALEfoTkwIFFGnbSlcN7Qn9QH AHe8clyQYnZPh0159R4fGo8AAACZPBsAALqnPu7L1/dAo3bvNfxhWYkAGIP8w6EAAAAAHwD6PwEA AAAUAAAARAB1AGQAbABlAHkAIABEAHUAAAADAAlZAQAAAAMAAIAIIAYAAAAAAMAAAAAAAABGAAAA ABCFAAAAAAAAHwAAgB+k6zOoei5Cvnt54amOVLMBAAAAOAAAAEMAbwBuAHYAZQByAHMAYQB0AGkA bwBuAEkAbgBkAGUAeABUAHIAYQBjAGsAaQBuAGcARQB4AAAAAQAAALoAAABJAEkAPQAwADEAQwBG ADkANwA3ADkAMQBBADcANwBEAEEANgBDAEEAQQA0AEYARgBCADQAQwA0ADQARAA4ADgAMABFAEIA NwA2AEEANQA0AEYARQAwADYAOQAxAEUAOwBWAGUAcgBzAGkAbwBuAD0AVgBlAHIAcwBpAG8AbgAg ADEANAAuADMAIAAoAEIAdQBpAGwAZAAgADEANwA0AC4AMAApACwAIABTAHQAYQBnAGUAPQBIADQA AAAAAAMAAIADIAYAAAAAAMAAAAAAAABGAAAAABOBAAABAAAAAwAAgAMgBgAAAAAAwAAAAAAAAEYA AAAAI4EAAP///38DAACAAyAGAAAAAADAAAAAAAAARgAAAAAQgQAAAAAAAAMAAIADIAYAAAAAAMAA AAAAAABGAAAAABGBAAAAAAAACwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAJIEAAAAAAAALAACAAyAG AAAAAADAAAAAAAAARgAAAAAsgQAAAAAAAAMAAIADIAYAAAAAAMAAAAAAAABGAAAAACmBAAAAAAAA AwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAKoEAAAAAAAAfAACAAyAGAAAAAADAAAAAAAAARgAAAAAn gQAAAQAAAAIAAAAAAAAAAwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAEoEAAAEAAAAfAACAAyAGAAAA AADAAAAAAAAARgAAAAAhgQAAAQAAAAIAAAAAAAAACwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAA4EA AAAAAAALAACAAyAGAAAAAADAAAAAAAAARgAAAAAmgQAAAAAAAAsAAIAIIAYAAAAAAMAAAAAAAABG AAAAAA6FAAAAAAAAAwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAGIUAAAAAAAALAACACCAGAAAAAADA AAAAAAAARgAAAACChQAAAAAAAAMADTT9PwAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAIAAAAHgA LQBtAHMALQBoAGEAcwAtAGEAdAB0AGEAYwBoAAAAAQAAAAIAAAAAAAAAHwAAgIYDAgAAAAAAwAAA AAAAAEYBAAAAIgAAAHgALQBvAHIAaQBnAGkAbgBhAHQAaQBuAGcALQBpAHAAAAAAAAEAAAAeAAAA WwAxADAALgAzADAALgAxADIALgAxADQANQBdAAAAAAAEIw== --_000_77BC725C9062764F874D79F51E1F1A8F4C90DE37S04MBX0104s04lo_-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/