Return-path: Received: from na3sys009aog103.obsmtp.com ([74.125.149.71]:51070 "EHLO na3sys009aog103.obsmtp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756733Ab3DWTRH (ORCPT ); Tue, 23 Apr 2013 15:17:07 -0400 From: Bing Zhao To: "linux-wireless@vger.kernel.org" CC: "John W. Linville" , Andreas Fenkart , Avinash Patil , Yogesh Powar , Amitkumar Karwar , Nishant Sarmukadam , Frank Huang Date: Tue, 23 Apr 2013 12:11:46 -0700 Subject: RE: [PATCH v3 0/2 RESEND] mwifiex wmm queues handling simplificatons Message-ID: <477F20668A386D41ADCC57781B1F70430D9E057C4B@SC-VEXCH1.marvell.com> (sfid-20130423_233117_267444_DF77BFAA) References: <1366743992-14309-1-git-send-email-bzhao@marvell.com> In-Reply-To: <1366743992-14309-1-git-send-email-bzhao@marvell.com> Content-Type: multipart/mixed; boundary="_003_477F20668A386D41ADCC57781B1F70430D9E057C4BSCVEXCH1marve_" MIME-Version: 1.0 Sender: linux-wireless-owner@vger.kernel.org List-ID: --_003_477F20668A386D41ADCC57781B1F70430D9E057C4BSCVEXCH1marve_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi John, I got errors while sending 1/2 and 2/2. I'm trying to fix my mailer now. Attached are 1/2 and 2/2, in case you want to apply them directly. Thanks, Bing > v3: minor cleanups for coding style; checkpatch.pl --strict > v2: split 6 patches into 2 patchsets. This is the set 2. >=20 >=20 > Andreas Fenkart (2): > mwifiex: replace ra_list_curr by list rotation. > mwifiex: rework round robin scheduling of bss nodes. >=20 > drivers/net/wireless/mwifiex/11n_aggr.c | 14 +--- > drivers/net/wireless/mwifiex/init.c | 21 +--- > drivers/net/wireless/mwifiex/main.h | 1 - > drivers/net/wireless/mwifiex/wmm.c | 160 ++++++++++---------------= ------ > drivers/net/wireless/mwifiex/wmm.h | 3 + > 5 files changed, 61 insertions(+), 138 deletions(-) --_003_477F20668A386D41ADCC57781B1F70430D9E057C4BSCVEXCH1marve_ Content-Type: application/octet-stream; name="0001-mwifiex-replace-ra_list_curr-by-list-rotation.patch" Content-Description: 0001-mwifiex-replace-ra_list_curr-by-list-rotation.patch Content-Disposition: attachment; filename="0001-mwifiex-replace-ra_list_curr-by-list-rotation.patch"; size=8747; creation-date="Tue, 23 Apr 2013 18:55:04 GMT"; modification-date="Tue, 23 Apr 2013 18:55:04 GMT" Content-Transfer-Encoding: base64 RnJvbSBlOWU1YzRmYTI4N2RiYjQ5OGIzNGI0NjgzNDExNDgxZjcyYjRlZTg3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIEZlbmthcnQgPFthbmRyZWFzLmZlbmthcnRAc3Ry ZWFtdW5saW1pdGVkLmNvbV0+CkRhdGU6IFRodSwgMTggQXByIDIwMTMgMTY6MzM6NDUgLTA3MDAK U3ViamVjdDogW1BBVENIIHYzIDEvMiBSRVNFTkRdIG13aWZpZXg6IHJlcGxhY2UgcmFfbGlzdF9j dXJyIGJ5IGxpc3Qgcm90YXRpb24uCgpBZnRlciBhIHBhY2tldCBpcyBzdWNjZXNzZnVsbHkgdHJh bnNtaXR0ZWQsIHJhIGxpc3QgaXMgcm90YXRlZCwgc28gdGhlIHJhCm5leHQgdG8gdGhlIG9uZSB0 cmFuc21pdHRlZCwgd2lsbCBiZSB0aGUgZmlyc3QgaW4gdGhlIGxpc3QuIFRoaXMgd2F5IHdlCnBp Y2sgdGhlIHJhJyBpbiBhIHJvdW5kIHJvYmluIGZhc2hpb24uIFRoaXMgc2lnbmlmaWNhbnRseSBz aW1wbGlmaWVzCml0ZXJhdGlvbiBpbiAgbXdpZmlleF93bW1fZ2V0X2hpZ2hlc3RfcHJpb2xpc3Rf cHRyIHRvIGEgY2FsbCB0bwpsaXN0X2Zvcl9lYWNoX2VudHJ5LgpMaXN0IHJvdGF0aW9uIGlzIGRv bmUgdmlhIGxpc3RfbW92ZSwgd2hlcmUgdGhlIGhlYWQgaXRzZWxmIGlzIHRlbXBvcmFyaWx5CnJl bW92ZWQgYW5kIHRoZW4gcmUtaW5zZXJ0ZWQgYWZ0ZXIgdGhlIGl0ZW0ganVzdCB0cmFuc2ZlcnJl ZC4KClNpZ25lZC1vZmYtYnk6IEFuZHJlYXMgRmVua2FydCA8YW5kcmVhcy5mZW5rYXJ0QHN0cmVh bXVubGltaXRlZC5jb20+CkFja2VkLWJ5OiBCaW5nIFpoYW8gPGJ6aGFvQG1hcnZlbGwuY29tPgot LS0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvMTFuX2FnZ3IuYyB8ICAgIDggKy0tCiBk cml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L21haW4uaCAgICAgfCAgICAxIC0KIGRyaXZlcnMv bmV0L3dpcmVsZXNzL213aWZpZXgvd21tLmMgICAgICB8ICAgOTcgKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tCiBkcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L3dtbS5oICAgICAgfCAg ICAzICsKIDQgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC8xMW5fYWdnci5jIGIv ZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC8xMW5fYWdnci5jCmluZGV4IGFmOGZlNjMuLmM2 ZDc0NTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvMTFuX2FnZ3Iu YworKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4LzExbl9hZ2dyLmMKQEAgLTI5Niwx OSArMjk2LDEzIEBAIG13aWZpZXhfMTFuX2FnZ3JlZ2F0ZV9wa3Qoc3RydWN0IG13aWZpZXhfcHJp dmF0ZSAqcHJpdiwKIAkJYnJlYWs7CiAJfQogCWlmIChyZXQgIT0gLUVCVVNZKSB7Ci0JCXNwaW5f bG9ja19pcnFzYXZlKCZwcml2LT53bW0ucmFfbGlzdF9zcGlubG9jaywgcmFfbGlzdF9mbGFncyk7 Ci0JCWlmIChtd2lmaWV4X2lzX3JhbGlzdF92YWxpZChwcml2LCBwcmFfbGlzdCwgcHRyaW5kZXgp KSB7Ci0JCQlwcml2LT53bW0ucGFja2V0c19vdXRbcHRyaW5kZXhdKys7Ci0JCQlwcml2LT53bW0u dGlkX3RibF9wdHJbcHRyaW5kZXhdLnJhX2xpc3RfY3VyciA9IHByYV9saXN0OwotCQl9CisJCW13 aWZpZXhfcm90YXRlX3ByaW9saXN0cyhwcml2LCBwcmFfbGlzdCwgcHRyaW5kZXgpOwogCQkvKiBO b3cgYnNzX3ByaW9fY3VyIHBvaW50ZXIgcG9pbnRzIHRvIG5leHQgbm9kZSAqLwogCQlhZGFwdGVy LT5ic3NfcHJpb190YmxbcHJpdi0+YnNzX3ByaW9yaXR5XS5ic3NfcHJpb19jdXIgPQogCQkJbGlz dF9maXJzdF9lbnRyeSgKIAkJCQkmYWRhcHRlci0+YnNzX3ByaW9fdGJsW3ByaXYtPmJzc19wcmlv cml0eV0KIAkJCQkuYnNzX3ByaW9fY3VyLT5saXN0LAogCQkJCXN0cnVjdCBtd2lmaWV4X2Jzc19w cmlvX25vZGUsIGxpc3QpOwotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT53bW0ucmFf bGlzdF9zcGlubG9jaywKLQkJCQkgICAgICAgcmFfbGlzdF9mbGFncyk7CiAJfQogCiAJcmV0dXJu IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L21haW4uaCBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvbWFpbi5oCmluZGV4IGI3NDg0ZWYuLjRlZjY3ZmMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvbWFpbi5oCisrKyBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvbWFpbi5oCkBAIC0yMTMsNyArMjEzLDYgQEAgc3Ry dWN0IG13aWZpZXhfcmFfbGlzdF90YmwgewogCiBzdHJ1Y3QgbXdpZmlleF90aWRfdGJsIHsKIAlz dHJ1Y3QgbGlzdF9oZWFkIHJhX2xpc3Q7Ci0Jc3RydWN0IG13aWZpZXhfcmFfbGlzdF90YmwgKnJh X2xpc3RfY3VycjsKIH07CiAKICNkZWZpbmUgV01NX0hJR0hFU1RfUFJJT1JJVFkJCTcKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvd21tLmMgYi9kcml2ZXJzL25ldC93 aXJlbGVzcy9td2lmaWV4L3dtbS5jCmluZGV4IDJjYzgxYmEuLmI0OGUwM2MgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvd21tLmMKKysrIGIvZHJpdmVycy9uZXQvd2ly ZWxlc3MvbXdpZmlleC93bW0uYwpAQCAtMTkxLDkgKzE5MSw2IEBAIG13aWZpZXhfcmFsaXN0X2Fk ZChzdHJ1Y3QgbXdpZmlleF9wcml2YXRlICpwcml2LCB1OCAqcmEpCiAJCX0KIAkJbGlzdF9hZGRf dGFpbCgmcmFfbGlzdC0+bGlzdCwKIAkJCSAgICAgICZwcml2LT53bW0udGlkX3RibF9wdHJbaV0u cmFfbGlzdCk7Ci0KLQkJaWYgKCFwcml2LT53bW0udGlkX3RibF9wdHJbaV0ucmFfbGlzdF9jdXJy KQotCQkJcHJpdi0+d21tLnRpZF90YmxfcHRyW2ldLnJhX2xpc3RfY3VyciA9IHJhX2xpc3Q7CiAJ fQogfQogCkBAIC00MjQsNyArNDIxLDYgQEAgbXdpZmlleF93bW1faW5pdChzdHJ1Y3QgbXdpZmll eF9hZGFwdGVyICphZGFwdGVyKQogCQkJcHJpdi0+YWdncl9wcmlvX3RibFtpXS5hbXNkdSA9IHRv c190b190aWRfaW52W2ldOwogCQkJcHJpdi0+YWdncl9wcmlvX3RibFtpXS5hbXBkdV9hcCA9IHRv c190b190aWRfaW52W2ldOwogCQkJcHJpdi0+YWdncl9wcmlvX3RibFtpXS5hbXBkdV91c2VyID0g dG9zX3RvX3RpZF9pbnZbaV07Ci0JCQlwcml2LT53bW0udGlkX3RibF9wdHJbaV0ucmFfbGlzdF9j dXJyID0gTlVMTDsKIAkJfQogCiAJCXByaXYtPmFnZ3JfcHJpb190YmxbNl0uYW1zZHUKQEAgLTUz MCw4ICs1MjYsNiBAQCBzdGF0aWMgdm9pZCBtd2lmaWV4X3dtbV9kZWxldGVfYWxsX3JhbGlzdChz dHJ1Y3QgbXdpZmlleF9wcml2YXRlICpwcml2KQogCQl9CiAKIAkJSU5JVF9MSVNUX0hFQUQoJnBy aXYtPndtbS50aWRfdGJsX3B0cltpXS5yYV9saXN0KTsKLQotCQlwcml2LT53bW0udGlkX3RibF9w dHJbaV0ucmFfbGlzdF9jdXJyID0gTlVMTDsKIAl9CiB9CiAKQEAgLTg4Myw3ICs4NzcsNyBAQCBt d2lmaWV4X3dtbV9nZXRfaGlnaGVzdF9wcmlvbGlzdF9wdHIoc3RydWN0IG13aWZpZXhfYWRhcHRl ciAqYWRhcHRlciwKIAkJCQkgICAgIHN0cnVjdCBtd2lmaWV4X3ByaXZhdGUgKipwcml2LCBpbnQg KnRpZCkKIHsKIAlzdHJ1Y3QgbXdpZmlleF9wcml2YXRlICpwcml2X3RtcDsKLQlzdHJ1Y3QgbXdp ZmlleF9yYV9saXN0X3RibCAqcHRyLCAqaGVhZDsKKwlzdHJ1Y3QgbXdpZmlleF9yYV9saXN0X3Ri bCAqcHRyOwogCXN0cnVjdCBtd2lmaWV4X2Jzc19wcmlvX25vZGUgKmJzc3ByaW9fbm9kZSwgKmJz c3ByaW9faGVhZDsKIAlzdHJ1Y3QgbXdpZmlleF90aWRfdGJsICp0aWRfcHRyOwogCWF0b21pY190 ICpocXA7CkBAIC05MjYsNTEgKzkyMCwxNSBAQCBtd2lmaWV4X3dtbV9nZXRfaGlnaGVzdF9wcmlv bGlzdF9wdHIoc3RydWN0IG13aWZpZXhfYWRhcHRlciAqYWRhcHRlciwKIAkJCQl0aWRfcHRyID0g Jihwcml2X3RtcCktPndtbS4KIAkJCQkJdGlkX3RibF9wdHJbdG9zX3RvX3RpZFtpXV07CiAKLQkJ CQkvKiBGb3Igbm9uLVNUQSByYV9saXN0X2N1cnIgbWF5IGJlIE5VTEwgKi8KLQkJCQlpZiAoIXRp ZF9wdHItPnJhX2xpc3RfY3VycikKLQkJCQkJZ290byBza2lwX3dtbV9xdWV1ZTsKLQotCQkJCWlm IChsaXN0X2VtcHR5KCZ0aWRfcHRyLT5yYV9saXN0KSkKLQkJCQkJZ290byBza2lwX3dtbV9xdWV1 ZTsKLQotCQkJCS8qCi0JCQkJICogQWx3YXlzIGNob29zZSB0aGUgbmV4dCByYSB3ZSB0cmFuc21p dHRlZAotCQkJCSAqIGxhc3QgdGltZSwgdGhpcyB3YXkgd2UgcGljayB0aGUgcmEncyBpbgotCQkJ CSAqIHJvdW5kIHJvYmluIGZhc2hpb24uCi0JCQkJICovCi0JCQkJcHRyID0gbGlzdF9maXJzdF9l bnRyeSgKLQkJCQkJCSZ0aWRfcHRyLT5yYV9saXN0X2N1cnItPmxpc3QsCi0JCQkJCQlzdHJ1Y3Qg bXdpZmlleF9yYV9saXN0X3RibCwKLQkJCQkJCWxpc3QpOworCQkJCS8qIGl0ZXJhdGUgb3ZlciBy ZWNlaXZlciBhZGRyZXNzZXMgKi8KKwkJCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHB0ciwgJnRpZF9w dHItPnJhX2xpc3QsCisJCQkJCQkgICAgbGlzdCkgewogCi0JCQkJaGVhZCA9IHB0cjsKLQkJCQlp ZiAocHRyID09IChzdHJ1Y3QgbXdpZmlleF9yYV9saXN0X3RibCAqKQotCQkJCQkJJnRpZF9wdHIt PnJhX2xpc3QpIHsKLQkJCQkJLyogR2V0IG5leHQgcmEgKi8KLQkJCQkJcHRyID0gbGlzdF9maXJz dF9lbnRyeSgmcHRyLT5saXN0LAotCQkJCQkgICAgc3RydWN0IG13aWZpZXhfcmFfbGlzdF90Ymws IGxpc3QpOwotCQkJCQloZWFkID0gcHRyOwotCQkJCX0KLQotCQkJCWRvIHsKIAkJCQkJaWYgKCFz a2JfcXVldWVfZW1wdHkoJnB0ci0+c2tiX2hlYWQpKQogCQkJCQkJLyogaG9sZHMgYm90aCBsb2Nr cyAqLwogCQkJCQkJZ290byBmb3VuZDsKKwkJCQl9CiAKLQkJCQkJLyogR2V0IG5leHQgcmEgKi8K LQkJCQkJcHRyID0gbGlzdF9maXJzdF9lbnRyeSgmcHRyLT5saXN0LAotCQkJCQkJIHN0cnVjdCBt d2lmaWV4X3JhX2xpc3RfdGJsLAotCQkJCQkJIGxpc3QpOwotCQkJCQlpZiAocHRyID09Ci0JCQkJ CSAgICAoc3RydWN0IG13aWZpZXhfcmFfbGlzdF90YmwgKikKLQkJCQkJICAgICZ0aWRfcHRyLT5y YV9saXN0KQotCQkJCQkJcHRyID0gbGlzdF9maXJzdF9lbnRyeSgKLQkJCQkJCSAgICAmcHRyLT5s aXN0LAotCQkJCQkJICAgIHN0cnVjdCBtd2lmaWV4X3JhX2xpc3RfdGJsLAotCQkJCQkJICAgIGxp c3QpOwotCQkJCX0gd2hpbGUgKHB0ciAhPSBoZWFkKTsKLQotc2tpcF93bW1fcXVldWU6CiAJCQkJ c3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHJpdl90bXAtPndtbS4KIAkJCQkJCSAgICAgICByYV9s aXN0X3NwaW5sb2NrLAogCQkJCQkJICAgICAgIGZsYWdzX3JhKTsKQEAgLTEwMTMsNiArOTcxLDM1 IEBAIGZvdW5kOgogCXJldHVybiBwdHI7CiB9CiAKKy8qIFRoaXMgZnVuY3Rpb25zIHJvdGF0ZXMg cmEgbGlzdHMgc28gcGFja2V0cyBhcmUgcGlja2VkIGluIHJvdW5kIHJvYmluCisgKiBmYXNoaW9u LgorICoKKyAqIEFmdGVyIGEgcGFja2V0IGlzIHN1Y2Nlc3NmdWxseSB0cmFuc21pdHRlZCwgcm90 YXRlIHRoZSByYSBsaXN0LCBzbyB0aGUgcmEKKyAqIG5leHQgdG8gdGhlIG9uZSB0cmFuc21pdHRl ZCwgd2lsbCBjb21lIGZpcnN0IGluIHRoZSBsaXN0LiBUaGlzIHdheSB3ZSBwaWNrCisgKiB0aGUg cmEgaW4gYSByb3VuZCByb2JpbiBmYXNoaW9uLgorICoKKyAqIEZ1bmN0aW9uIGFsc28gaW5jcmVt ZW50cyB3bW0ucGFja2V0c19vdXQgY291bnRlci4KKyAqLwordm9pZCBtd2lmaWV4X3JvdGF0ZV9w cmlvbGlzdHMoc3RydWN0IG13aWZpZXhfcHJpdmF0ZSAqcHJpdiwKKwkJCQkgc3RydWN0IG13aWZp ZXhfcmFfbGlzdF90YmwgKnJhLAorCQkJCSBpbnQgdGlkKQoreworCXN0cnVjdCBtd2lmaWV4X3Rp ZF90YmwgKnRpZF9wdHIgPSAmcHJpdi0+d21tLnRpZF90YmxfcHRyW3RpZF07CisJdW5zaWduZWQg bG9uZyBmbGFnczsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZwcml2LT53bW0ucmFfbGlzdF9zcGlu bG9jaywgZmxhZ3MpOworCWlmIChtd2lmaWV4X2lzX3JhbGlzdF92YWxpZChwcml2LCByYSwgdGlk KSkgeworCQlwcml2LT53bW0ucGFja2V0c19vdXRbdGlkXSsrOworCQkvKgorCQkgKiBkaXJ0eSB0 cmljazogd2UgcmVtb3ZlICdoZWFkJyB0ZW1wb3JhcmlseSBhbmQgcmVpbnNlcnQgaXQKKwkJICog YWZ0ZXIgY3VyciBic3Mgbm9kZS4gaW1hZ2luZSBsaXN0IHRvIHN0YXkgZml4ZWQgd2hpbGUgb25s eQorCQkgKiBoZWFkIGlzIG1vdmVkCisJCSAqLworCQlsaXN0X21vdmUoJnRpZF9wdHItPnJhX2xp c3QsICZyYS0+bGlzdCk7CisJfQorCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPndtbS5y YV9saXN0X3NwaW5sb2NrLCBmbGFncyk7Cit9CisKIC8qCiAgKiBUaGlzIGZ1bmN0aW9uIGNoZWNr cyBpZiAxMW4gYWdncmVnYXRpb24gaXMgcG9zc2libGUuCiAgKi8KQEAgLTEwOTksMTEgKzEwODYs NyBAQCBtd2lmaWV4X3NlbmRfc2luZ2xlX3BhY2tldChzdHJ1Y3QgbXdpZmlleF9wcml2YXRlICpw cml2LAogCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwcml2LT53bW0ucmFfbGlzdF9zcGlubG9j aywKIAkJCQkgICAgICAgcmFfbGlzdF9mbGFncyk7CiAJfSBlbHNlIHsKLQkJc3Bpbl9sb2NrX2ly cXNhdmUoJnByaXYtPndtbS5yYV9saXN0X3NwaW5sb2NrLCByYV9saXN0X2ZsYWdzKTsKLQkJaWYg KG13aWZpZXhfaXNfcmFsaXN0X3ZhbGlkKHByaXYsIHB0ciwgcHRyX2luZGV4KSkgewotCQkJcHJp di0+d21tLnBhY2tldHNfb3V0W3B0cl9pbmRleF0rKzsKLQkJCXByaXYtPndtbS50aWRfdGJsX3B0 cltwdHJfaW5kZXhdLnJhX2xpc3RfY3VyciA9IHB0cjsKLQkJfQorCQltd2lmaWV4X3JvdGF0ZV9w cmlvbGlzdHMocHJpdiwgcHRyLCBwdHJfaW5kZXgpOwogCQlhZGFwdGVyLT5ic3NfcHJpb190Ymxb cHJpdi0+YnNzX3ByaW9yaXR5XS5ic3NfcHJpb19jdXIgPQogCQkJbGlzdF9maXJzdF9lbnRyeSgK IAkJCQkmYWRhcHRlci0+YnNzX3ByaW9fdGJsW3ByaXYtPmJzc19wcmlvcml0eV0KQEAgLTExMTEs OCArMTA5NCw2IEBAIG13aWZpZXhfc2VuZF9zaW5nbGVfcGFja2V0KHN0cnVjdCBtd2lmaWV4X3By aXZhdGUgKnByaXYsCiAJCQkJc3RydWN0IG13aWZpZXhfYnNzX3ByaW9fbm9kZSwKIAkJCQlsaXN0 KTsKIAkJYXRvbWljX2RlYygmcHJpdi0+d21tLnR4X3BrdHNfcXVldWVkKTsKLQkJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmcHJpdi0+d21tLnJhX2xpc3Rfc3BpbmxvY2ssCi0JCQkJICAgICAgIHJh X2xpc3RfZmxhZ3MpOwogCX0KIH0KIApAQCAtMTIxNiwxMSArMTE5Nyw3IEBAIG13aWZpZXhfc2Vu ZF9wcm9jZXNzZWRfcGFja2V0KHN0cnVjdCBtd2lmaWV4X3ByaXZhdGUgKnByaXYsCiAJCWJyZWFr OwogCX0KIAlpZiAocmV0ICE9IC1FQlVTWSkgewotCQlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+ d21tLnJhX2xpc3Rfc3BpbmxvY2ssIHJhX2xpc3RfZmxhZ3MpOwotCQlpZiAobXdpZmlleF9pc19y YWxpc3RfdmFsaWQocHJpdiwgcHRyLCBwdHJfaW5kZXgpKSB7Ci0JCQlwcml2LT53bW0ucGFja2V0 c19vdXRbcHRyX2luZGV4XSsrOwotCQkJcHJpdi0+d21tLnRpZF90YmxfcHRyW3B0cl9pbmRleF0u cmFfbGlzdF9jdXJyID0gcHRyOwotCQl9CisJCW13aWZpZXhfcm90YXRlX3ByaW9saXN0cyhwcml2 LCBwdHIsIHB0cl9pbmRleCk7CiAJCWFkYXB0ZXItPmJzc19wcmlvX3RibFtwcml2LT5ic3NfcHJp b3JpdHldLmJzc19wcmlvX2N1ciA9CiAJCQlsaXN0X2ZpcnN0X2VudHJ5KAogCQkJCSZhZGFwdGVy LT5ic3NfcHJpb190YmxbcHJpdi0+YnNzX3ByaW9yaXR5XQpAQCAtMTIyOCw4ICsxMjA1LDYgQEAg bXdpZmlleF9zZW5kX3Byb2Nlc3NlZF9wYWNrZXQoc3RydWN0IG13aWZpZXhfcHJpdmF0ZSAqcHJp diwKIAkJCQlzdHJ1Y3QgbXdpZmlleF9ic3NfcHJpb19ub2RlLAogCQkJCWxpc3QpOwogCQlhdG9t aWNfZGVjKCZwcml2LT53bW0udHhfcGt0c19xdWV1ZWQpOwotCQlzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZwcml2LT53bW0ucmFfbGlzdF9zcGlubG9jaywKLQkJCQkgICAgICAgcmFfbGlzdF9mbGFn cyk7CiAJfQogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L3dt bS5oIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC93bW0uaAppbmRleCBiOTJmMzlkLi42 NDRkNmUwIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L3dtbS5oCisr KyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvd21tLmgKQEAgLTg1LDYgKzg1LDkgQEAg bXdpZmlleF93bW1faXNfcmFfbGlzdF9lbXB0eShzdHJ1Y3QgbGlzdF9oZWFkICpyYV9saXN0X2ho ZWFkKQogdm9pZCBtd2lmaWV4X3dtbV9hZGRfYnVmX3R4cXVldWUoc3RydWN0IG13aWZpZXhfcHJp dmF0ZSAqcHJpdiwKIAkJCQkJc3RydWN0IHNrX2J1ZmYgKnNrYik7CiB2b2lkIG13aWZpZXhfcmFs aXN0X2FkZChzdHJ1Y3QgbXdpZmlleF9wcml2YXRlICpwcml2LCB1OCAqcmEpOwordm9pZCBtd2lm aWV4X3JvdGF0ZV9wcmlvbGlzdHMoc3RydWN0IG13aWZpZXhfcHJpdmF0ZSAqcHJpdiwKKwkJCSAg ICAgIHN0cnVjdCBtd2lmaWV4X3JhX2xpc3RfdGJsICpyYSwKKwkJCSAgICAgIGludCB0aWQpOwog CiBpbnQgbXdpZmlleF93bW1fbGlzdHNfZW1wdHkoc3RydWN0IG13aWZpZXhfYWRhcHRlciAqYWRh cHRlcik7CiB2b2lkIG13aWZpZXhfd21tX3Byb2Nlc3NfdHgoc3RydWN0IG13aWZpZXhfYWRhcHRl ciAqYWRhcHRlcik7Ci0tIAoxLjcuMC4yCgo= --_003_477F20668A386D41ADCC57781B1F70430D9E057C4BSCVEXCH1marve_ Content-Type: application/octet-stream; name="0002-mwifiex-rework-round-robin-scheduling-of-bss-nodes.patch" Content-Description: 0002-mwifiex-rework-round-robin-scheduling-of-bss-nodes.patch Content-Disposition: attachment; filename="0002-mwifiex-rework-round-robin-scheduling-of-bss-nodes.patch"; size=9117; creation-date="Tue, 23 Apr 2013 18:55:25 GMT"; modification-date="Tue, 23 Apr 2013 18:55:25 GMT" Content-Transfer-Encoding: base64 RnJvbSBkMzAxNGEzODdhMWQ3M2EyM2IyMDYzZGJmM2M5MDA4NjRhYWJjMzZlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZWFzIEZlbmthcnQgPFthbmRyZWFzLmZlbmthcnRAc3Ry ZWFtdW5saW1pdGVkLmNvbV0+CkRhdGU6IFRodSwgMTggQXByIDIwMTMgMTY6MzQ6MTIgLTA3MDAK U3ViamVjdDogW1BBVENIIHYzIDIvMiBSRVNFTkRdIG13aWZpZXg6IHJld29yayByb3VuZCByb2Jp biBzY2hlZHVsaW5nIG9mIGJzcyBub2Rlcy4KClJvdGF0ZSBic3MgcHJpbyBsaXN0LCBzbyB0aGUg YnNzIG5leHQgdG8gdGhlIG9uZSBzZXJ2ZWQsIHdpbGwgY29tZSBmaXJzdAppbiB0aGUgbGlzdCBv ZiBic3MnIHdpdGggZXF1YWwgcHJpb3JpdHkuIFRoaXMgd2F5IHdlIHBpY2sgYnNzIG5vZGVzIGlu IGEKcm91bmQgcm9iaW4gZmFzaGlvbi4gVXNpbmcgbGlzdCByb3RhdGlvbiBpbnN0ZWFkIG9mIGEg Y3VyIHB0ciBzaW1wbGlmaWVzCml0ZXJhdGlvbiB0byBjYWxsaW5nIGxpc3RfZm9yX2VhY2hfZW50 cnkuIExpc3Qgcm90YXRpb24gaXMgZG9uZSB2aWEKbGlzdF9tb3ZlLCB3aGVyZSB0aGUgaGVhZCBp dHNlbGYgaXMgdGVtcG9yYXJpbHkgcmVtb3ZlZCBhbmQgdGhlbgpyZS1pbnNlcnRlZCBhZnRlciB0 aGUgYnNzIGp1c3Qgc2VydmVkLgoKU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBGZW5rYXJ0IDxhbmRy ZWFzLmZlbmthcnRAc3RyZWFtdW5saW1pdGVkLmNvbT4KQWNrZWQtYnk6IEJpbmcgWmhhbyA8Ynpo YW9AbWFydmVsbC5jb20+Ci0tLQogZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC8xMW5fYWdn ci5jIHwgICAgNiAtLQogZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC9pbml0LmMgICAgIHwg ICAyMSArKy0tLS0tLQogZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC93bW0uYyAgICAgIHwg ICA3OSArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDI5 IGluc2VydGlvbnMoKyksIDc3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL213aWZpZXgvMTFuX2FnZ3IuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZp ZXgvMTFuX2FnZ3IuYwppbmRleCBjNmQ3NDUxLi5hNzhlMDY1IDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC93aXJlbGVzcy9td2lmaWV4LzExbl9hZ2dyLmMKKysrIGIvZHJpdmVycy9uZXQvd2lyZWxl c3MvbXdpZmlleC8xMW5fYWdnci5jCkBAIC0yOTcsMTIgKzI5Nyw2IEBAIG13aWZpZXhfMTFuX2Fn Z3JlZ2F0ZV9wa3Qoc3RydWN0IG13aWZpZXhfcHJpdmF0ZSAqcHJpdiwKIAl9CiAJaWYgKHJldCAh PSAtRUJVU1kpIHsKIAkJbXdpZmlleF9yb3RhdGVfcHJpb2xpc3RzKHByaXYsIHByYV9saXN0LCBw dHJpbmRleCk7Ci0JCS8qIE5vdyBic3NfcHJpb19jdXIgcG9pbnRlciBwb2ludHMgdG8gbmV4dCBu b2RlICovCi0JCWFkYXB0ZXItPmJzc19wcmlvX3RibFtwcml2LT5ic3NfcHJpb3JpdHldLmJzc19w cmlvX2N1ciA9Ci0JCQlsaXN0X2ZpcnN0X2VudHJ5KAotCQkJCSZhZGFwdGVyLT5ic3NfcHJpb190 YmxbcHJpdi0+YnNzX3ByaW9yaXR5XQotCQkJCS5ic3NfcHJpb19jdXItPmxpc3QsCi0JCQkJc3Ry dWN0IG13aWZpZXhfYnNzX3ByaW9fbm9kZSwgbGlzdCk7CiAJfQogCiAJcmV0dXJuIDA7CmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4L2luaXQuYyBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL213aWZpZXgvaW5pdC5jCmluZGV4IDQyZDdmMGEuLjlmNDRmZGEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvaW5pdC5jCisrKyBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL213aWZpZXgvaW5pdC5jCkBAIC00NCw4ICs0NCw2IEBAIHN0YXRpYyBpbnQgbXdp ZmlleF9hZGRfYnNzX3ByaW9fdGJsKHN0cnVjdCBtd2lmaWV4X3ByaXZhdGUgKnByaXYpCiAKIAli c3NfcHJpby0+cHJpdiA9IHByaXY7CiAJSU5JVF9MSVNUX0hFQUQoJmJzc19wcmlvLT5saXN0KTsK LQlpZiAoIXRibFtwcml2LT5ic3NfcHJpb3JpdHldLmJzc19wcmlvX2N1cikKLQkJdGJsW3ByaXYt PmJzc19wcmlvcml0eV0uYnNzX3ByaW9fY3VyID0gYnNzX3ByaW87CiAKIAlzcGluX2xvY2tfaXJx c2F2ZSgmdGJsW3ByaXYtPmJzc19wcmlvcml0eV0uYnNzX3ByaW9fbG9jaywgZmxhZ3MpOwogCWxp c3RfYWRkX3RhaWwoJmJzc19wcmlvLT5saXN0LCAmdGJsW3ByaXYtPmJzc19wcmlvcml0eV0uYnNz X3ByaW9faGVhZCk7CkBAIC01MjUsNyArNTIzLDYgQEAgaW50IG13aWZpZXhfaW5pdF9sb2NrX2xp c3Qoc3RydWN0IG13aWZpZXhfYWRhcHRlciAqYWRhcHRlcikKIAogCWZvciAoaSA9IDA7IGkgPCBh ZGFwdGVyLT5wcml2X251bTsgKytpKSB7CiAJCUlOSVRfTElTVF9IRUFEKCZhZGFwdGVyLT5ic3Nf cHJpb190YmxbaV0uYnNzX3ByaW9faGVhZCk7Ci0JCWFkYXB0ZXItPmJzc19wcmlvX3RibFtpXS5i c3NfcHJpb19jdXIgPSBOVUxMOwogCQlzcGluX2xvY2tfaW5pdCgmYWRhcHRlci0+YnNzX3ByaW9f dGJsW2ldLmJzc19wcmlvX2xvY2spOwogCX0KIApAQCAtNjI1LDQyICs2MjIsMzYgQEAgc3RhdGlj IHZvaWQgbXdpZmlleF9kZWxldGVfYnNzX3ByaW9fdGJsKHN0cnVjdCBtd2lmaWV4X3ByaXZhdGUg KnByaXYpCiB7CiAJaW50IGk7CiAJc3RydWN0IG13aWZpZXhfYWRhcHRlciAqYWRhcHRlciA9IHBy aXYtPmFkYXB0ZXI7Ci0Jc3RydWN0IG13aWZpZXhfYnNzX3ByaW9fbm9kZSAqYnNzcHJpb19ub2Rl LCAqdG1wX25vZGUsICoqY3VyOworCXN0cnVjdCBtd2lmaWV4X2Jzc19wcmlvX25vZGUgKmJzc3By aW9fbm9kZSwgKnRtcF9ub2RlOwogCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7CiAJc3BpbmxvY2tf dCAqbG9jazsgLyogYnNzIHByaW9yaXR5IGxvY2sgKi8KIAl1bnNpZ25lZCBsb25nIGZsYWdzOwog CiAJZm9yIChpID0gMDsgaSA8IGFkYXB0ZXItPnByaXZfbnVtOyArK2kpIHsKIAkJaGVhZCA9ICZh ZGFwdGVyLT5ic3NfcHJpb190YmxbaV0uYnNzX3ByaW9faGVhZDsKLQkJY3VyID0gJmFkYXB0ZXIt PmJzc19wcmlvX3RibFtpXS5ic3NfcHJpb19jdXI7CiAJCWxvY2sgPSAmYWRhcHRlci0+YnNzX3By aW9fdGJsW2ldLmJzc19wcmlvX2xvY2s7CiAJCWRldl9kYmcoYWRhcHRlci0+ZGV2LCAiaW5mbzog ZGVsZXRlIEJTUyBwcmlvcml0eSB0YWJsZSwiCiAJCQkJIiBic3NfdHlwZSA9ICVkLCBic3NfbnVt ID0gJWQsIGkgPSAlZCwiCi0JCQkJIiBoZWFkID0gJXAsIGN1ciA9ICVwXG4iLAotCQkJICAgICAg cHJpdi0+YnNzX3R5cGUsIHByaXYtPmJzc19udW0sIGksIGhlYWQsICpjdXIpOwotCQlpZiAoKmN1 cikgeworCQkJCSIgaGVhZCA9ICVwXG4iLAorCQkJICAgICAgcHJpdi0+YnNzX3R5cGUsIHByaXYt PmJzc19udW0sIGksIGhlYWQpOworCisJCXsKIAkJCXNwaW5fbG9ja19pcnFzYXZlKGxvY2ssIGZs YWdzKTsKIAkJCWlmIChsaXN0X2VtcHR5KGhlYWQpKSB7CiAJCQkJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZShsb2NrLCBmbGFncyk7CiAJCQkJY29udGludWU7CiAJCQl9Ci0JCQlic3NwcmlvX25vZGUg PSBsaXN0X2ZpcnN0X2VudHJ5KGhlYWQsCi0JCQkJCXN0cnVjdCBtd2lmaWV4X2Jzc19wcmlvX25v ZGUsIGxpc3QpOwotCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShsb2NrLCBmbGFncyk7Ci0KIAkJ CWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShic3NwcmlvX25vZGUsIHRtcF9ub2RlLCBoZWFkLAog CQkJCQkJIGxpc3QpIHsKIAkJCQlpZiAoYnNzcHJpb19ub2RlLT5wcml2ID09IHByaXYpIHsKIAkJ CQkJZGV2X2RiZyhhZGFwdGVyLT5kZXYsICJpbmZvOiBEZWxldGUgIgogCQkJCQkJIm5vZGUgJXAs IG5leHQgPSAlcFxuIiwKIAkJCQkJCWJzc3ByaW9fbm9kZSwgdG1wX25vZGUpOwotCQkJCQlzcGlu X2xvY2tfaXJxc2F2ZShsb2NrLCBmbGFncyk7CiAJCQkJCWxpc3RfZGVsKCZic3NwcmlvX25vZGUt Pmxpc3QpOwotCQkJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKGxvY2ssIGZsYWdzKTsKIAkJCQkJ a2ZyZWUoYnNzcHJpb19ub2RlKTsKIAkJCQl9CiAJCQl9Ci0JCQkqY3VyID0gKHN0cnVjdCBtd2lm aWV4X2Jzc19wcmlvX25vZGUgKiloZWFkOworCQkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZShsb2Nr LCBmbGFncyk7CiAJCX0KIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9t d2lmaWV4L3dtbS5jIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbXdpZmlleC93bW0uYwppbmRleCBi NDhlMDNjLi40YmUzZDMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9td2lmaWV4 L3dtbS5jCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL213aWZpZXgvd21tLmMKQEAgLTg3OCwz NyArODc4LDI1IEBAIG13aWZpZXhfd21tX2dldF9oaWdoZXN0X3ByaW9saXN0X3B0cihzdHJ1Y3Qg bXdpZmlleF9hZGFwdGVyICphZGFwdGVyLAogewogCXN0cnVjdCBtd2lmaWV4X3ByaXZhdGUgKnBy aXZfdG1wOwogCXN0cnVjdCBtd2lmaWV4X3JhX2xpc3RfdGJsICpwdHI7Ci0Jc3RydWN0IG13aWZp ZXhfYnNzX3ByaW9fbm9kZSAqYnNzcHJpb19ub2RlLCAqYnNzcHJpb19oZWFkOwogCXN0cnVjdCBt d2lmaWV4X3RpZF90YmwgKnRpZF9wdHI7CiAJYXRvbWljX3QgKmhxcDsKIAl1bnNpZ25lZCBsb25n IGZsYWdzX2JzcywgZmxhZ3NfcmE7CiAJaW50IGksIGo7CiAKKwkvKiBjaGVjayB0aGUgQlNTIHdp dGggaGlnaGVzdCBwcmlvcml0eSBmaXJzdCAqLwogCWZvciAoaiA9IGFkYXB0ZXItPnByaXZfbnVt IC0gMTsgaiA+PSAwOyAtLWopIHsKIAkJc3Bpbl9sb2NrX2lycXNhdmUoJmFkYXB0ZXItPmJzc19w cmlvX3RibFtqXS5ic3NfcHJpb19sb2NrLAogCQkJCSAgZmxhZ3NfYnNzKTsKIAotCQlpZiAobGlz dF9lbXB0eSgmYWRhcHRlci0+YnNzX3ByaW9fdGJsW2pdLmJzc19wcmlvX2hlYWQpKQotCQkJZ290 byBza2lwX3ByaW9fdGJsOwotCi0JCWlmIChhZGFwdGVyLT5ic3NfcHJpb190Ymxbal0uYnNzX3By aW9fY3VyID09Ci0JCSAgICAoc3RydWN0IG13aWZpZXhfYnNzX3ByaW9fbm9kZSAqKQotCQkgICAg JmFkYXB0ZXItPmJzc19wcmlvX3RibFtqXS5ic3NfcHJpb19oZWFkKSB7Ci0JCQlhZGFwdGVyLT5i c3NfcHJpb190Ymxbal0uYnNzX3ByaW9fY3VyID0KLQkJCQlsaXN0X2ZpcnN0X2VudHJ5KCZhZGFw dGVyLT5ic3NfcHJpb190Ymxbal0KLQkJCQkJCSAuYnNzX3ByaW9faGVhZCwKLQkJCQkJCSBzdHJ1 Y3QgbXdpZmlleF9ic3NfcHJpb19ub2RlLAotCQkJCQkJIGxpc3QpOwotCQl9Ci0KLQkJYnNzcHJp b19ub2RlID0gYWRhcHRlci0+YnNzX3ByaW9fdGJsW2pdLmJzc19wcmlvX2N1cjsKLQkJYnNzcHJp b19oZWFkID0gYnNzcHJpb19ub2RlOworCQkvKiBpdGVyYXRlIG92ZXIgQlNTIHdpdGggdGhlIGVx dWFsIHByaW9yaXR5ICovCisJCWxpc3RfZm9yX2VhY2hfZW50cnkoYWRhcHRlci0+YnNzX3ByaW9f dGJsW2pdLmJzc19wcmlvX2N1ciwKKwkJCQkgICAgJmFkYXB0ZXItPmJzc19wcmlvX3RibFtqXS5i c3NfcHJpb19oZWFkLAorCQkJCSAgICBsaXN0KSB7CiAKLQkJZG8gewotCQkJcHJpdl90bXAgPSBi c3NwcmlvX25vZGUtPnByaXY7CisJCQlwcml2X3RtcCA9IGFkYXB0ZXItPmJzc19wcmlvX3RibFtq XS5ic3NfcHJpb19jdXItPnByaXY7CiAKIAkJCWlmIChhdG9taWNfcmVhZCgmcHJpdl90bXAtPndt bS50eF9wa3RzX3F1ZXVlZCkgPT0gMCkKLQkJCQlnb3RvIHNraXBfYnNzOworCQkJCWNvbnRpbnVl OwogCiAJCQkvKiBpdGVyYXRlIG92ZXIgdGhlIFdNTSBxdWV1ZXMgb2YgdGhlIEJTUyAqLwogCQkJ aHFwID0gJnByaXZfdG1wLT53bW0uaGlnaGVzdF9xdWV1ZWRfcHJpbzsKQEAgLTkzMywyNCArOTIx LDggQEAgbXdpZmlleF93bW1fZ2V0X2hpZ2hlc3RfcHJpb2xpc3RfcHRyKHN0cnVjdCBtd2lmaWV4 X2FkYXB0ZXIgKmFkYXB0ZXIsCiAJCQkJCQkgICAgICAgcmFfbGlzdF9zcGlubG9jaywKIAkJCQkJ CSAgICAgICBmbGFnc19yYSk7CiAJCQl9CisJCX0KIAotc2tpcF9ic3M6Ci0JCQkvKiBHZXQgbmV4 dCBic3MgcHJpb3JpdHkgbm9kZSAqLwotCQkJYnNzcHJpb19ub2RlID0gbGlzdF9maXJzdF9lbnRy eSgmYnNzcHJpb19ub2RlLT5saXN0LAotCQkJCQkJc3RydWN0IG13aWZpZXhfYnNzX3ByaW9fbm9k ZSwKLQkJCQkJCWxpc3QpOwotCi0JCQlpZiAoYnNzcHJpb19ub2RlID09Ci0JCQkgICAgKHN0cnVj dCBtd2lmaWV4X2Jzc19wcmlvX25vZGUgKikKLQkJCSAgICAmYWRhcHRlci0+YnNzX3ByaW9fdGJs W2pdLmJzc19wcmlvX2hlYWQpCi0JCQkJLyogR2V0IG5leHQgYnNzIHByaW9yaXR5IG5vZGUgKi8K LQkJCQlic3NwcmlvX25vZGUgPSBsaXN0X2ZpcnN0X2VudHJ5KAotCQkJCQkJJmJzc3ByaW9fbm9k ZS0+bGlzdCwKLQkJCQkJCXN0cnVjdCBtd2lmaWV4X2Jzc19wcmlvX25vZGUsCi0JCQkJCQlsaXN0 KTsKLQkJfSB3aGlsZSAoYnNzcHJpb19ub2RlICE9IGJzc3ByaW9faGVhZCk7Ci0KLXNraXBfcHJp b190Ymw6CiAJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFkYXB0ZXItPmJzc19wcmlvX3RibFtq XS5ic3NfcHJpb19sb2NrLAogCQkJCSAgICAgICBmbGFnc19ic3MpOwogCX0KQEAgLTk3MSwxMiAr OTQzLDEyIEBAIGZvdW5kOgogCXJldHVybiBwdHI7CiB9CiAKLS8qIFRoaXMgZnVuY3Rpb25zIHJv dGF0ZXMgcmEgbGlzdHMgc28gcGFja2V0cyBhcmUgcGlja2VkIGluIHJvdW5kIHJvYmluCi0gKiBm YXNoaW9uLgorLyogVGhpcyBmdW5jdGlvbnMgcm90YXRlcyByYSBhbmQgYnNzIGxpc3RzIHNvIHBh Y2tldHMgYXJlIHBpY2tlZCByb3VuZCByb2Jpbi4KICAqCiAgKiBBZnRlciBhIHBhY2tldCBpcyBz dWNjZXNzZnVsbHkgdHJhbnNtaXR0ZWQsIHJvdGF0ZSB0aGUgcmEgbGlzdCwgc28gdGhlIHJhCiAg KiBuZXh0IHRvIHRoZSBvbmUgdHJhbnNtaXR0ZWQsIHdpbGwgY29tZSBmaXJzdCBpbiB0aGUgbGlz dC4gVGhpcyB3YXkgd2UgcGljawotICogdGhlIHJhIGluIGEgcm91bmQgcm9iaW4gZmFzaGlvbi4K KyAqIHRoZSByYScgaW4gYSByb3VuZCByb2JpbiBmYXNoaW9uLiBTYW1lIGFwcGxpZXMgdG8gYnNz IG5vZGVzIG9mIGVxdWFsCisgKiBwcmlvcml0eS4KICAqCiAgKiBGdW5jdGlvbiBhbHNvIGluY3Jl bWVudHMgd21tLnBhY2tldHNfb3V0IGNvdW50ZXIuCiAgKi8KQEAgLTk4NCwxNyArOTU2LDI0IEBA IHZvaWQgbXdpZmlleF9yb3RhdGVfcHJpb2xpc3RzKHN0cnVjdCBtd2lmaWV4X3ByaXZhdGUgKnBy aXYsCiAJCQkJIHN0cnVjdCBtd2lmaWV4X3JhX2xpc3RfdGJsICpyYSwKIAkJCQkgaW50IHRpZCkK IHsKKwlzdHJ1Y3QgbXdpZmlleF9hZGFwdGVyICphZGFwdGVyID0gcHJpdi0+YWRhcHRlcjsKKwlz dHJ1Y3QgbXdpZmlleF9ic3NfcHJpb190YmwgKnRibCA9IGFkYXB0ZXItPmJzc19wcmlvX3RibDsK IAlzdHJ1Y3QgbXdpZmlleF90aWRfdGJsICp0aWRfcHRyID0gJnByaXYtPndtbS50aWRfdGJsX3B0 clt0aWRdOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKKwlzcGluX2xvY2tfaXJxc2F2ZSgmdGJs W3ByaXYtPmJzc19wcmlvcml0eV0uYnNzX3ByaW9fbG9jaywgZmxhZ3MpOworCS8qCisJICogZGly dHkgdHJpY2s6IHdlIHJlbW92ZSAnaGVhZCcgdGVtcG9yYXJpbHkgYW5kIHJlaW5zZXJ0IGl0IGFm dGVyCisJICogY3VyciBic3Mgbm9kZS4gaW1hZ2luZSBsaXN0IHRvIHN0YXkgZml4ZWQgd2hpbGUg aGVhZCBpcyBtb3ZlZAorCSAqLworCWxpc3RfbW92ZSgmdGJsW3ByaXYtPmJzc19wcmlvcml0eV0u YnNzX3ByaW9faGVhZCwKKwkJICAmdGJsW3ByaXYtPmJzc19wcmlvcml0eV0uYnNzX3ByaW9fY3Vy LT5saXN0KTsKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZ0YmxbcHJpdi0+YnNzX3ByaW9yaXR5 XS5ic3NfcHJpb19sb2NrLCBmbGFncyk7CisKIAlzcGluX2xvY2tfaXJxc2F2ZSgmcHJpdi0+d21t LnJhX2xpc3Rfc3BpbmxvY2ssIGZsYWdzKTsKIAlpZiAobXdpZmlleF9pc19yYWxpc3RfdmFsaWQo cHJpdiwgcmEsIHRpZCkpIHsKIAkJcHJpdi0+d21tLnBhY2tldHNfb3V0W3RpZF0rKzsKLQkJLyoK LQkJICogZGlydHkgdHJpY2s6IHdlIHJlbW92ZSAnaGVhZCcgdGVtcG9yYXJpbHkgYW5kIHJlaW5z ZXJ0IGl0Ci0JCSAqIGFmdGVyIGN1cnIgYnNzIG5vZGUuIGltYWdpbmUgbGlzdCB0byBzdGF5IGZp eGVkIHdoaWxlIG9ubHkKLQkJICogaGVhZCBpcyBtb3ZlZAotCQkgKi8KKwkJLyogc2FtZSBhcyBh Ym92ZSAqLwogCQlsaXN0X21vdmUoJnRpZF9wdHItPnJhX2xpc3QsICZyYS0+bGlzdCk7CiAJfQog CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnByaXYtPndtbS5yYV9saXN0X3NwaW5sb2NrLCBmbGFn cyk7CkBAIC0xMDg3LDEyICsxMDY2LDYgQEAgbXdpZmlleF9zZW5kX3NpbmdsZV9wYWNrZXQoc3Ry dWN0IG13aWZpZXhfcHJpdmF0ZSAqcHJpdiwKIAkJCQkgICAgICAgcmFfbGlzdF9mbGFncyk7CiAJ fSBlbHNlIHsKIAkJbXdpZmlleF9yb3RhdGVfcHJpb2xpc3RzKHByaXYsIHB0ciwgcHRyX2luZGV4 KTsKLQkJYWRhcHRlci0+YnNzX3ByaW9fdGJsW3ByaXYtPmJzc19wcmlvcml0eV0uYnNzX3ByaW9f Y3VyID0KLQkJCWxpc3RfZmlyc3RfZW50cnkoCi0JCQkJJmFkYXB0ZXItPmJzc19wcmlvX3RibFtw cml2LT5ic3NfcHJpb3JpdHldCi0JCQkJLmJzc19wcmlvX2N1ci0+bGlzdCwKLQkJCQlzdHJ1Y3Qg bXdpZmlleF9ic3NfcHJpb19ub2RlLAotCQkJCWxpc3QpOwogCQlhdG9taWNfZGVjKCZwcml2LT53 bW0udHhfcGt0c19xdWV1ZWQpOwogCX0KIH0KQEAgLTExOTgsMTIgKzExNzEsNiBAQCBtd2lmaWV4 X3NlbmRfcHJvY2Vzc2VkX3BhY2tldChzdHJ1Y3QgbXdpZmlleF9wcml2YXRlICpwcml2LAogCX0K IAlpZiAocmV0ICE9IC1FQlVTWSkgewogCQltd2lmaWV4X3JvdGF0ZV9wcmlvbGlzdHMocHJpdiwg cHRyLCBwdHJfaW5kZXgpOwotCQlhZGFwdGVyLT5ic3NfcHJpb190YmxbcHJpdi0+YnNzX3ByaW9y aXR5XS5ic3NfcHJpb19jdXIgPQotCQkJbGlzdF9maXJzdF9lbnRyeSgKLQkJCQkmYWRhcHRlci0+ YnNzX3ByaW9fdGJsW3ByaXYtPmJzc19wcmlvcml0eV0KLQkJCQkuYnNzX3ByaW9fY3VyLT5saXN0 LAotCQkJCXN0cnVjdCBtd2lmaWV4X2Jzc19wcmlvX25vZGUsCi0JCQkJbGlzdCk7CiAJCWF0b21p Y19kZWMoJnByaXYtPndtbS50eF9wa3RzX3F1ZXVlZCk7CiAJfQogfQotLSAKMS43LjAuMgoK --_003_477F20668A386D41ADCC57781B1F70430D9E057C4BSCVEXCH1marve_--