From owner-freebsd-wireless@FreeBSD.ORG Thu Mar 22 01:29:50 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 42D68106566B for ; Thu, 22 Mar 2012 01:29:50 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pz0-f54.google.com (mail-pz0-f54.google.com [209.85.210.54]) by mx1.freebsd.org (Postfix) with ESMTP id 0D11D8FC1B for ; Thu, 22 Mar 2012 01:29:50 +0000 (UTC) Received: by mail-pz0-f54.google.com with SMTP id d2so2707051dal.13 for ; Wed, 21 Mar 2012 18:29:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=fWeekci9W0/+U7vL1NMDF6G14hC48ALUk7VCM4YE8TM=; b=IA0CXxU8kaKCOcQjaHZq5rsJYaiifuHv/ihx2xqbqUDhpyKiSfplVwrUqTZqd1b0fJ LvbY04IlDy4KYjXYG3u+2zsx7sKzJ14XL3sWS6c/USbbouclA5PdVh78fS+8BFHkr/Ex j/Dx9/niKmqYSRojX559ZYq9HRAGs9hZAlU91kIqBc/VZ6kS5KDjVFQqs3QC3RGKYCft jjh6SC2vEmYxVmXypebDMO8DaSabvKyHYgMscahVdckUSH1Xtyw5oWLFNyx/pFbgajjL WSL3hr5qpV2muBSdJB+04t4SE2+hckFx1T/K0Wjf23qrzPi7BK4UpjiF2vV+DcS6e2SZ /MsA== MIME-Version: 1.0 Received: by 10.68.194.199 with SMTP id hy7mr2261848pbc.37.1332379789920; Wed, 21 Mar 2012 18:29:49 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.143.33.5 with HTTP; Wed, 21 Mar 2012 18:29:49 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 Mar 2012 18:29:49 -0700 X-Google-Sender-Auth: LVAIR-ESNYXMQpugGe1J8n6eeiQ Message-ID: From: Adrian Chadd To: freebsd-wireless@freebsd.org Content-Type: multipart/mixed; boundary=047d7b10ca79158b5104bbcad848 Subject: Re: [net80211] PR kern/166286: force a channel change upon a HT info change X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Mar 2012 01:29:50 -0000 --047d7b10ca79158b5104bbcad848 Content-Type: text/plain; charset=ISO-8859-1 .. and the patch. Adrian --047d7b10ca79158b5104bbcad848 Content-Type: text/x-patch; charset=US-ASCII; name="net80211-force-chw-on-ht-change-pr-166286-2.diff" Content-Disposition: attachment; filename="net80211-force-chw-on-ht-change-pr-166286-2.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h034kmhn0 SW5kZXg6IHN5cy9kZXYvYXRoL2lmX2F0aC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9kZXYvYXRoL2lm X2F0aC5jCShyZXZpc2lvbiAyMzMwODkpCisrKyBzeXMvZGV2L2F0aC9pZl9hdGguYwkod29ya2lu ZyBjb3B5KQpAQCAtMTk5LDYgKzE5OSw3IEBACiBzdGF0aWMgdm9pZAlhdGhfc2Nhbl9zdGFydChz dHJ1Y3QgaWVlZTgwMjExY29tICopOwogc3RhdGljIHZvaWQJYXRoX3NjYW5fZW5kKHN0cnVjdCBp ZWVlODAyMTFjb20gKik7CiBzdGF0aWMgdm9pZAlhdGhfc2V0X2NoYW5uZWwoc3RydWN0IGllZWU4 MDIxMWNvbSAqKTsKK3N0YXRpYyB2b2lkCWF0aF91cGRhdGVfY2h3KHN0cnVjdCBpZWVlODAyMTFj b20gKik7CiBzdGF0aWMgdm9pZAlhdGhfY2FsaWJyYXRlKHZvaWQgKik7CiBzdGF0aWMgaW50CWF0 aF9uZXdzdGF0ZShzdHJ1Y3QgaWVlZTgwMjExdmFwICosIGVudW0gaWVlZTgwMjExX3N0YXRlLCBp bnQpOwogc3RhdGljIHZvaWQJYXRoX3NldHVwX3N0YXRpb25rZXkoc3RydWN0IGllZWU4MDIxMV9u b2RlICopOwpAQCAtNzk0LDYgKzc5NSw3IEBACiAJaWMtPmljX3NjYW5fc3RhcnQgPSBhdGhfc2Nh bl9zdGFydDsKIAlpYy0+aWNfc2Nhbl9lbmQgPSBhdGhfc2Nhbl9lbmQ7CiAJaWMtPmljX3NldF9j aGFubmVsID0gYXRoX3NldF9jaGFubmVsOworCWljLT5pY191cGRhdGVfY2h3ID0gYXRoX3VwZGF0 ZV9jaHc7CiAKIAkvKiA4MDIuMTFuIHNwZWNpZmljIC0gYnV0IGp1c3Qgb3ZlcnJpZGUgYW55d2F5 ICovCiAJc2MtPnNjX2FkZGJhX3JlcXVlc3QgPSBpYy0+aWNfYWRkYmFfcmVxdWVzdDsKQEAgLTU3 MTcsNyArNTcxOSwzMiBAQAogCQkgc2MtPnNjX2N1cmFpZCk7CiB9CiAKKy8qCisgKiBGb3Igbm93 LCBqdXN0IGRvIGEgY2hhbm5lbCBjaGFuZ2UuCisgKgorICogTGF0ZXIsIHdlJ2xsIGdvIHRocm91 Z2ggdGhlIGhhcmQgc2xvZyBvZiBzdXNwZW5kaW5nIHR4L3J4LCBjaGFuZ2luZyByYXRlCisgKiBj b250cm9sIHN0YXRlIGFuZCByZXNldHRpbmcgdGhlIGhhcmR3YXJlIHdpdGhvdXQgZHJvcHBpbmcg ZnJhbWVzIG91dAorICogb2YgdGhlIHF1ZXVlLgorICoKKyAqIFRoZSB1bmZvcnR1bmF0ZSB0cm91 YmxlIGhlcmUgaXMgbWFraW5nIGFic29sdXRlbHkgc3VyZSB0aGF0IHRoZQorICogY2hhbm5lbCB3 aWR0aCBjaGFuZ2UgaGFzIHByb3BhZ2F0ZWQgZW5vdWdoIHNvIHRoZSBoYXJkd2FyZQorICogYWJz b2x1dGVseSBpc24ndCBoYW5kZWQgYm9ndXMgZnJhbWVzIGZvciBpdCdzIGN1cnJlbnQgb3BlcmF0 aW5nCisgKiBtb2RlLiAoRWcsIDQwTUh6IGZyYW1lcyBpbiAyME1IeiBtb2RlLikgU2luY2UgVFgg YW5kIFJYIGNhbiBhbmQKKyAqIGRvZXMgb2NjdXIgaW4gcGFyYWxsZWwsIHdlIG5lZWQgdG8gbWFr ZSBjZXJ0YWluIHdlJ3ZlIGJsb2NrZWQKKyAqIGFueSBmdXJ0aGVyIG9uZ29pbmcgVFggKGFuZCBS WCwgdGhhdCBjYW4gY2F1c2UgcmF3IFRYKQorICogYmVmb3JlIHdlIGRvIHRoaXMuCisgKi8KIHN0 YXRpYyB2b2lkCithdGhfdXBkYXRlX2NodyhzdHJ1Y3QgaWVlZTgwMjExY29tICppYykKK3sKKwlz dHJ1Y3QgaWZuZXQgKmlmcCA9IGljLT5pY19pZnA7CisJc3RydWN0IGF0aF9zb2Z0YyAqc2MgPSBp ZnAtPmlmX3NvZnRjOworCisJRFBSSU5URihzYywgQVRIX0RFQlVHX1NUQVRFLCAiJXM6IGNhbGxl ZFxuIiwgX19mdW5jX18pOworCWF0aF9zZXRfY2hhbm5lbChpYyk7Cit9CisKK3N0YXRpYyB2b2lk CiBhdGhfc2V0X2NoYW5uZWwoc3RydWN0IGllZWU4MDIxMWNvbSAqaWMpCiB7CiAJc3RydWN0IGlm bmV0ICppZnAgPSBpYy0+aWNfaWZwOwpJbmRleDogc3lzL25ldDgwMjExL2llZWU4MDIxMV9odC5j Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIHN5cy9uZXQ4MDIxMS9pZWVlODAyMTFfaHQuYwkocmV2aXNpb24gMjMz MjU0KQorKysgc3lzL25ldDgwMjExL2llZWU4MDIxMV9odC5jCSh3b3JraW5nIGNvcHkpCkBAIC0x NDI4LDEyICsxNDI4LDEzIEBACiAgKiByZXF1aXJlZCBjaGFubmVsIGNoYW5nZSBpcyBkb25lIChl LmcuIGluIHN0YSBtb2RlIHdoZW4KICAqIHBhcnNpbmcgdGhlIGNvbnRlbnRzIG9mIGEgYmVhY29u IGZyYW1lKS4KICAqLwotc3RhdGljIHZvaWQKK3N0YXRpYyBpbnQKIGh0aW5mb191cGRhdGVfY2h3 KHN0cnVjdCBpZWVlODAyMTFfbm9kZSAqbmksIGludCBodGZsYWdzKQogewogCXN0cnVjdCBpZWVl ODAyMTFjb20gKmljID0gbmktPm5pX2ljOwogCXN0cnVjdCBpZWVlODAyMTFfY2hhbm5lbCAqYzsK IAlpbnQgY2hhbmZsYWdzOworCWludCByZXQgPSAwOwogCiAJY2hhbmZsYWdzID0gKG5pLT5uaV9j aGFuLT5pY19mbGFncyAmfiBJRUVFODAyMTFfQ0hBTl9IVCkgfCBodGZsYWdzOwogCWlmIChjaGFu ZmxhZ3MgIT0gbmktPm5pX2NoYW4tPmljX2ZsYWdzKSB7CkBAIC0xNDYwLDExICsxNDYxLDEzIEBA CiAJCQkgICAgSUVFRTgwMjExX0lTX0NIQU5fSFQ0MChjKSA/IDQwIDogMjAsCiAJCQkgICAgYy0+ aWNfZnJlcSwgYy0+aWNfZmxhZ3MpOwogCQkJbmktPm5pX2NoYW4gPSBjOworCQkJcmV0ID0gMTsK IAkJfQogCQkvKiBOQjogY2FsbGVyIHJlc3BvbnNpYmxlIGZvciBmb3JjaW5nIGFueSBjaGFubmVs IGNoYW5nZSAqLwogCX0KIAkvKiB1cGRhdGUgbm9kZSdzIHR4IGNoYW5uZWwgd2lkdGggKi8KIAlu aS0+bmlfY2h3ID0gSUVFRTgwMjExX0lTX0NIQU5fSFQ0MChuaS0+bmlfY2hhbik/IDQwIDogMjA7 CisJcmV0dXJuIChyZXQpOwogfQogCiAvKgpAQCAtMTUxNSwxMyArMTUxOCwxNCBAQAogICogUGFy c2UgYW5kIHVwZGF0ZSBIVC1yZWxhdGVkIHN0YXRlIGV4dHJhY3RlZCBmcm9tCiAgKiB0aGUgSFQg Y2FwIGFuZCBpbmZvIGllJ3MuCiAgKi8KLXZvaWQKK2ludAogaWVlZTgwMjExX2h0X3VwZGF0ZXBh cmFtcyhzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKm5pLAogCWNvbnN0IHVpbnQ4X3QgKmh0Y2FwaWUs IGNvbnN0IHVpbnQ4X3QgKmh0aW5mb2llKQogewogCXN0cnVjdCBpZWVlODAyMTF2YXAgKnZhcCA9 IG5pLT5uaV92YXA7CiAJY29uc3Qgc3RydWN0IGllZWU4MDIxMV9pZV9odGluZm8gKmh0aW5mbzsK IAlpbnQgaHRmbGFnczsKKwlpbnQgcmV0ID0gMDsKIAogCWllZWU4MDIxMV9wYXJzZV9odGNhcChu aSwgaHRjYXBpZSk7CiAJaWYgKHZhcC0+aXZfaHRjYXBzICYgSUVFRTgwMjExX0hUQ0FQX1NNUFMp CkBAIC0xNTQzLDEzICsxNTQ3LDE2IEBACiAJCWVsc2UgaWYgKG5pLT5uaV9odDJuZGNoYW4gPT0g SUVFRTgwMjExX0hUSU5GT18yTkRDSEFOX0JFTE9XKQogCQkJaHRmbGFncyA9IElFRUU4MDIxMV9D SEFOX0hUNDBEOwogCX0KLQlodGluZm9fdXBkYXRlX2NodyhuaSwgaHRmbGFncyk7CisJaWYgKGh0 aW5mb191cGRhdGVfY2h3KG5pLCBodGZsYWdzKSkKKwkJcmV0ID0gMTsKIAogCWlmICgoaHRpbmZv LT5oaV9ieXRlMSAmIElFRUU4MDIxMV9IVElORk9fUklGU01PREVfUEVSTSkgJiYKIAkgICAgKHZh cC0+aXZfZmxhZ3NfaHQgJiBJRUVFODAyMTFfRkhUX1JJRlMpKQogCQluaS0+bmlfZmxhZ3MgfD0g SUVFRTgwMjExX05PREVfUklGUzsKIAllbHNlCiAJCW5pLT5uaV9mbGFncyAmPSB+SUVFRTgwMjEx X05PREVfUklGUzsKKworCXJldHVybiAocmV0KTsKIH0KIAogLyoKQEAgLTE1NzgsNyArMTU4NSw3 IEBACiAJCWVsc2UgaWYgKElFRUU4MDIxMV9JU19DSEFOX0hUNDBEKHZhcC0+aXZfYnNzLT5uaV9j aGFuKSkKIAkJCWh0ZmxhZ3MgPSBJRUVFODAyMTFfQ0hBTl9IVDQwRDsKIAl9Ci0JaHRpbmZvX3Vw ZGF0ZV9jaHcobmksIGh0ZmxhZ3MpOworCSh2b2lkKSBodGluZm9fdXBkYXRlX2NodyhuaSwgaHRm bGFncyk7CiB9CiAKIC8qCkluZGV4OiBzeXMvbmV0ODAyMTEvaWVlZTgwMjExX2h0LmgKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gc3lzL25ldDgwMjExL2llZWU4MDIxMV9odC5oCShyZXZpc2lvbiAyMzMyNTQpCisr KyBzeXMvbmV0ODAyMTEvaWVlZTgwMjExX2h0LmgJKHdvcmtpbmcgY29weSkKQEAgLTE4NCw3ICsx ODQsNyBAQAogdm9pZAlpZWVlODAyMTFfaHRfdGltZW91dChzdHJ1Y3QgaWVlZTgwMjExY29tICop Owogdm9pZAlpZWVlODAyMTFfcGFyc2VfaHRjYXAoc3RydWN0IGllZWU4MDIxMV9ub2RlICosIGNv bnN0IHVpbnQ4X3QgKik7CiB2b2lkCWllZWU4MDIxMV9wYXJzZV9odGluZm8oc3RydWN0IGllZWU4 MDIxMV9ub2RlICosIGNvbnN0IHVpbnQ4X3QgKik7Ci12b2lkCWllZWU4MDIxMV9odF91cGRhdGVw YXJhbXMoc3RydWN0IGllZWU4MDIxMV9ub2RlICosIGNvbnN0IHVpbnQ4X3QgKiwKK2ludAlpZWVl ODAyMTFfaHRfdXBkYXRlcGFyYW1zKHN0cnVjdCBpZWVlODAyMTFfbm9kZSAqLCBjb25zdCB1aW50 OF90ICosCiAJCWNvbnN0IHVpbnQ4X3QgKik7CiB2b2lkCWllZWU4MDIxMV9odF91cGRhdGVodGNh cChzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKiwgY29uc3QgdWludDhfdCAqKTsKIGludAlpZWVlODAy MTFfYW1wZHVfcmVxdWVzdChzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKiwKSW5kZXg6IHN5cy9uZXQ4 MDIxMS9pZWVlODAyMTFfc3RhLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL25ldDgwMjExL2llZWU4MDIx MV9zdGEuYwkocmV2aXNpb24gMjMzMjU0KQorKysgc3lzL25ldDgwMjExL2llZWU4MDIxMV9zdGEu Ywkod29ya2luZyBjb3B5KQpAQCAtMTI4NSw2ICsxMjg1LDcgQEAKIAl1aW50OF90ICpmcm0sICpl ZnJtOwogCXVpbnQ4X3QgKnJhdGVzLCAqeHJhdGVzLCAqd21lLCAqaHRjYXAsICpodGluZm87CiAJ dWludDhfdCByYXRlOworCWludCBjaGFuX2NoYW5nZSA9IDA7CiAKIAl3aCA9IG10b2QobTAsIHN0 cnVjdCBpZWVlODAyMTFfZnJhbWUgKik7CiAJZnJtID0gKHVpbnQ4X3QgKikmd2hbMV07CkBAIC0x MzcyLDggKzEzNzMsOSBAQAogI2VuZGlmCiAJCQlpZiAoc2Nhbi5odGNhcCAhPSBOVUxMICYmIHNj YW4uaHRpbmZvICE9IE5VTEwgJiYKIAkJCSAgICAodmFwLT5pdl9mbGFnc19odCAmIElFRUU4MDIx MV9GSFRfSFQpKSB7Ci0JCQkJaWVlZTgwMjExX2h0X3VwZGF0ZXBhcmFtcyhuaSwKLQkJCQkgICAg c2Nhbi5odGNhcCwgc2Nhbi5odGluZm8pOworCQkJCWlmIChpZWVlODAyMTFfaHRfdXBkYXRlcGFy YW1zKG5pLAorCQkJCSAgICBzY2FuLmh0Y2FwLCBzY2FuLmh0aW5mbykpCisJCQkJCWNoYW5fY2hh bmdlID0gMTsKIAkJCQkvKiBYWFggc3RhdGUgY2hhbmdlcz8gKi8KIAkJCX0KIAkJCWlmIChzY2Fu LnF1aWV0KQpAQCAtMTQ0MSw2ICsxNDQzLDEzIEBACiAjZW5kaWYKIAkJCQlpZWVlODAyMTFfYmdf c2Nhbih2YXAsIDApOwogCQkJfQorCisJCQkvKgorCQkJICogSWYgd2UndmUgaGFkIGEgc3RhdGUg Y2hhbmdlIChlZyBIVDIwPC0+SFQ0MCkKKwkJCSAqIHRoZW4gc2NoZWR1bGUgYSBkZWxheWVkIGRy aXZlciBub3RpZmljYXRpb24uCisJCQkgKi8KKwkJCWlmIChjaGFuX2NoYW5nZSkKKwkJCQlpZWVl ODAyMTFfdXBkYXRlX2NodyhpYyk7CiAJCQlyZXR1cm47CiAJCX0KIAkJLyoKSW5kZXg6IHN5cy9u ZXQ4MDIxMS9pZWVlODAyMTFfcHJvdG8uYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbmV0ODAyMTEvaWVl ZTgwMjExX3Byb3RvLmMJKHJldmlzaW9uIDIzMzI1NCkKKysrIHN5cy9uZXQ4MDIxMS9pZWVlODAy MTFfcHJvdG8uYwkod29ya2luZyBjb3B5KQpAQCAtMTA1LDYgKzEwNSw3IEBACiBzdGF0aWMgdm9p ZCB1cGRhdGVfbWNhc3Qodm9pZCAqLCBpbnQpOwogc3RhdGljIHZvaWQgdXBkYXRlX3Byb21pc2Mo dm9pZCAqLCBpbnQpOwogc3RhdGljIHZvaWQgdXBkYXRlX2NoYW5uZWwodm9pZCAqLCBpbnQpOwor c3RhdGljIHZvaWQgdXBkYXRlX2Nodyh2b2lkICosIGludCk7CiBzdGF0aWMgdm9pZCBpZWVlODAy MTFfbmV3c3RhdGVfY2Iodm9pZCAqLCBpbnQpOwogc3RhdGljIGludCBpZWVlODAyMTFfbmV3X3N0 YXRlX2xvY2tlZChzdHJ1Y3QgaWVlZTgwMjExdmFwICosCiAJZW51bSBpZWVlODAyMTFfc3RhdGUs IGludCk7CkBAIC0xNDQsNiArMTQ1LDcgQEAKIAlUQVNLX0lOSVQoJmljLT5pY19wcm9taXNjX3Rh c2ssIDAsIHVwZGF0ZV9wcm9taXNjLCBpYyk7CiAJVEFTS19JTklUKCZpYy0+aWNfY2hhbl90YXNr LCAwLCB1cGRhdGVfY2hhbm5lbCwgaWMpOwogCVRBU0tfSU5JVCgmaWMtPmljX2JtaXNzX3Rhc2ss IDAsIGJlYWNvbl9taXNzLCBpYyk7CisJVEFTS19JTklUKCZpYy0+aWNfY2h3X3Rhc2ssIDAsIHVw ZGF0ZV9jaHcsIGljKTsKIAogCWljLT5pY193bWUud21lX2hpcHJpX3N3aXRjaF9oeXN0ZXJlc2lz ID0KIAkJQUdHUkVTU0lWRV9NT0RFX1NXSVRDSF9IWVNURVJFU0lTOwpAQCAtMTE0Nyw2ICsxMTQ5 LDE3IEBACiAJaWVlZTgwMjExX3JhZGlvdGFwX2NoYW5fY2hhbmdlKGljKTsKIH0KIAorc3RhdGlj IHZvaWQKK3VwZGF0ZV9jaHcodm9pZCAqYXJnLCBpbnQgbnBlbmRpbmcpCit7CisJc3RydWN0IGll ZWU4MDIxMWNvbSAqaWMgPSBhcmc7CisKKwkvKgorCSAqIFhYWCBzaG91bGQgd2UgZGVmZXIgdGhl IGNoYW5uZWwgd2lkdGggX2NvbmZpZ18gdXBkYXRlIHVudGlsIG5vdz8KKwkgKi8KKwlpYy0+aWNf dXBkYXRlX2NodyhpYyk7Cit9CisKIC8qCiAgKiBCbG9jayB1bnRpbCB0aGUgcGFyZW50IGlzIGlu IGEga25vd24gc3RhdGUuICBUaGlzIGlzCiAgKiB1c2VkIGFmdGVyIGFueSBvcGVyYXRpb25zIHRo YXQgZGlzcGF0Y2ggYSB0YXNrIChlLmcuCkBAIC0xMTYxLDYgKzExNzQsNyBAQAogCWllZWU4MDIx MV9kcmFpbnRhc2soaWMsICZpYy0+aWNfcHJvbWlzY190YXNrKTsKIAlpZWVlODAyMTFfZHJhaW50 YXNrKGljLCAmaWMtPmljX2NoYW5fdGFzayk7CiAJaWVlZTgwMjExX2RyYWludGFzayhpYywgJmlj LT5pY19ibWlzc190YXNrKTsKKwlpZWVlODAyMTFfZHJhaW50YXNrKGljLCAmaWMtPmljX2Nod190 YXNrKTsKIAl0YXNrcXVldWVfdW5ibG9jayhpYy0+aWNfdHEpOwogfQogCkluZGV4OiBzeXMvbmV0 ODAyMTEvaWVlZTgwMjExX25vZGUuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbmV0ODAyMTEvaWVlZTgw MjExX25vZGUuYwkocmV2aXNpb24gMjMzMjU0KQorKysgc3lzL25ldDgwMjExL2llZWU4MDIxMV9u b2RlLmMJKHdvcmtpbmcgY29weSkKQEAgLTY4NSw2ICs2ODUsMTQgQEAKIAlpZWVlODAyMTFfcnVu dGFzayhpYywgJmljLT5pY19jaGFuX3Rhc2spOwogfQogCit2b2lkCitpZWVlODAyMTFfdXBkYXRl X2NodyhzdHJ1Y3QgaWVlZTgwMjExY29tICppYykKK3sKKworCWllZWU4MDIxMV9zZXR1cGN1cmNo YW4oaWMsIGljLT5pY19jdXJjaGFuKTsKKwlpZWVlODAyMTFfcnVudGFzayhpYywgJmljLT5pY19j aHdfdGFzayk7Cit9CisKIC8qCiAgKiBKb2luIHRoZSBzcGVjaWZpZWQgSUJTUy9CU1MgbmV0d29y ay4gIFRoZSBub2RlIGlzIGFzc3VtZWQgdG8KICAqIGJlIHBhc3NlZCBpbiB3aXRoIGEgaGVsZCBy ZWZlcmVuY2UuCkluZGV4OiBzeXMvbmV0ODAyMTEvaWVlZTgwMjExX25vZGUuaAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBzeXMvbmV0ODAyMTEvaWVlZTgwMjExX25vZGUuaAkocmV2aXNpb24gMjMzMjU0KQorKysg c3lzL25ldDgwMjExL2llZWU4MDIxMV9ub2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMyNCw2ICsz MjQsNyBAQAogdm9pZAlpZWVlODAyMTFfc2V0dXBjdXJjaGFuKHN0cnVjdCBpZWVlODAyMTFjb20g KiwKIAkgICAgc3RydWN0IGllZWU4MDIxMV9jaGFubmVsICopOwogdm9pZAlpZWVlODAyMTFfc2V0 Y3VyY2hhbihzdHJ1Y3QgaWVlZTgwMjExY29tICosIHN0cnVjdCBpZWVlODAyMTFfY2hhbm5lbCAq KTsKK3ZvaWQJaWVlZTgwMjExX3VwZGF0ZV9jaHcoc3RydWN0IGllZWU4MDIxMWNvbSAqKTsKIGlu dAlpZWVlODAyMTFfaWJzc19tZXJnZShzdHJ1Y3QgaWVlZTgwMjExX25vZGUgKik7CiBzdHJ1Y3Qg aWVlZTgwMjExX3NjYW5fZW50cnk7CiBpbnQJaWVlZTgwMjExX3N0YV9qb2luKHN0cnVjdCBpZWVl ODAyMTF2YXAgKiwgc3RydWN0IGllZWU4MDIxMV9jaGFubmVsICosCkluZGV4OiBzeXMvbmV0ODAy MTEvaWVlZTgwMjExX3Zhci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9uZXQ4MDIxMS9pZWVlODAyMTFf dmFyLmgJKHJldmlzaW9uIDIzMzI1NCkKKysrIHN5cy9uZXQ4MDIxMS9pZWVlODAyMTFfdmFyLmgJ KHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQAogCXN0cnVjdCB0YXNrCQlpY19tY2Fz dF90YXNrOwkvKiBkZWZlcnJlZCBtY2FzdCB1cGRhdGUgKi8KIAlzdHJ1Y3QgdGFzawkJaWNfY2hh bl90YXNrOwkvKiBkZWZlcnJlZCBjaGFubmVsIGNoYW5nZSAqLwogCXN0cnVjdCB0YXNrCQlpY19i bWlzc190YXNrOwkvKiBkZWZlcnJlZCBiZWFjb24gbWlzcyBobmRsciAqLworCXN0cnVjdCB0YXNr CQlpY19jaHdfdGFzazsJLyogZGVmZXJyZWQgSFQgQ0hXIHVwZGF0ZSAqLwogCiAJdWludDMyX3QJ CWljX2ZsYWdzOwkvKiBzdGF0ZSBmbGFncyAqLwogCXVpbnQzMl90CQlpY19mbGFnc19leHQ7CS8q IGV4dGVuZGVkIHN0YXRlIGZsYWdzICovCkBAIC0zMjIsNiArMzIzLDEwIEBACiAJCQkJICAgIGlu dCBiYXRpbWVvdXQsIGludCBiYXNlcWN0bCk7CiAJdm9pZAkJCSgqaWNfYW1wZHVfcnhfc3RvcCko c3RydWN0IGllZWU4MDIxMV9ub2RlICosCiAJCQkJICAgIHN0cnVjdCBpZWVlODAyMTFfcnhfYW1w ZHUgKik7CisKKwkvKiBUaGUgY2hhbm5lbCB3aWR0aCBoYXMgY2hhbmdlZCAoMjA8LT4yMDQwKSAq LworCXZvaWQJCQkoKmljX3VwZGF0ZV9jaHcpKHN0cnVjdCBpZWVlODAyMTFjb20gKik7CisKIAl1 aW50NjRfdAkJaWNfc3BhcmVbN107CiB9OwogCkluZGV4OiBzeXMvbmV0ODAyMTEvaWVlZTgwMjEx LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0gc3lzL25ldDgwMjExL2llZWU4MDIxMS5jCShyZXZpc2lvbiAyMzMy NTQpCisrKyBzeXMvbmV0ODAyMTEvaWVlZTgwMjExLmMJKHdvcmtpbmcgY29weSkKQEAgLTI1Niw2 ICsyNTYsMTMgQEAKIAltX2ZyZWVtKG0pOwogfQogCitzdGF0aWMgdm9pZAorbnVsbF91cGRhdGVf Y2h3KHN0cnVjdCBpZWVlODAyMTFjb20gKmljKQoreworCisJaWZfcHJpbnRmKGljLT5pY19pZnAs ICIlczogbmVlZCBjYWxsYmFja1xuIiwgX19mdW5jX18pOworfQorCiAvKgogICogQXR0YWNoL3Nl dHVwIHRoZSBjb21tb24gbmV0ODAyMTEgc3RhdGUuICBDYWxsZWQgYnkKICAqIHRoZSBkcml2ZXIg b24gYXR0YWNoIHRvIHByaW9yIHRvIGNyZWF0aW5nIGFueSB2YXAncy4KQEAgLTI4Nyw2ICsyOTQs NyBAQAogCiAJaWMtPmljX3VwZGF0ZV9tY2FzdCA9IG51bGxfdXBkYXRlX21jYXN0OwogCWljLT5p Y191cGRhdGVfcHJvbWlzYyA9IG51bGxfdXBkYXRlX3Byb21pc2M7CisJaWMtPmljX3VwZGF0ZV9j aHcgPSBudWxsX3VwZGF0ZV9jaHc7CiAKIAlpYy0+aWNfaGFzaF9rZXkgPSBhcmM0cmFuZG9tKCk7 CiAJaWMtPmljX2JpbnR2YWwgPSBJRUVFODAyMTFfQklOVFZBTF9ERUZBVUxUOwo= --047d7b10ca79158b5104bbcad848--