All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Hurley <peter@hurleysoftware.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: [RFC 1/3] Bluetooth: prioritizing data over HCI
Date: Wed, 3 Aug 2011 12:25:16 -0400	[thread overview]
Message-ID: <1312388716.3358.58.camel@THOR> (raw)
In-Reply-To: <1312377094-11285-2-git-send-email-luiz.dentz@gmail.com>

SGkgTHVpeiwNCg0KT24gV2VkLCAyMDExLTA4LTAzIGF0IDA5OjExIC0wNDAwLCBMdWl6IEF1Z3Vz
dG8gdm9uIERlbnR6IHdyb3RlOg0KPiBGcm9tOiBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6
LnZvbi5kZW50ekBpbnRlbC5jb20+DQo+DQo+IFRoaXMgaW1wbGVtZW50IHByaW9yaXR5IGJhc2Vk
IHNjaGVkdWxlciB1c2luZyBza2J1ZmZlciBwcmlvcml0eSBzZXQgdmlhDQo+IFNPX1BSSU9SSVRZ
IHNvY2tldCBvcHRpb24uDQo+DQo+IEl0IHJldXNlcyB0aGUgcXVvdGUgY2FsY3VsYXRpb24gZnJv
bSBvbGQgc2NoZWR1bGVyLCBidXQgdGhlIGRpZmZlcmVuY2UgaXMNCj4gdGhhdCB0aGUgbnVtYmVy
IG9mIGNvbm5lY3Rpb25zIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSBxdW90ZSBpcyBieSBwcmlvcml0
eSwNCj4gc28gdGhlIHF1b3RlIG1heSBub3QgYmUgZGV2aWRlZCBlcXVhbGx5IHBlciBjb25uZWN0
aW9uIGlmIHRoZWlyIHByaW9yaXRpZXMNCj4gYXJlIGRpZmZlcmVudC4NCj4NCj4gVG8gYXZvaWQg
c3RhcnZhdGlvbiB0aGUgcHJpb3JpdHkgaXMgcmVjYWxjdWxhdGVkIGluIGEgcm91bmQgcm9iaW4g
ZmFzaGlvbg0KPiBzbyB0aGF0IHRoZSByZW1haW5pbmcgcXVldWVzIGFyZSB1cGdyYWRlZCBieSAx
IGluIHByaW9yaXR5IHVudGlsDQo+IEhDSV9QUklPX01BWCAtIDEgKDYpLg0KPg0KPiBIQ0lfUFJJ
T19NQVggKDcpIGlzIGNvbnNpZGVyZWQgc3BlY2lhbCwgaXQgcmVxdWlyZXMgQ0FQX05FVF9BRE1J
Tg0KPiBjYXBhYmlsaXR5IGFuZCBpcyB1c2VkIHRvIHNlbmQgdGltZSBjcml0aWNhbCBjb21tYW5k
L3Jlc3Bvc2UgZm9yIEwyQ0FQDQo+IGFuZCBSRkNPTU0gdG8gYXZvaWQgdGltZW91dHMsIGluIGFk
ZGl0aW9uIHRvIHRoYXQgaXQgY2FuIGJlIHVzZWQgdG8NCj4gcHJvdmlkZSBtb3JlIGd1YXJhbnRl
ZWQgY2hhbm5lbHMgYnV0IG1heSBzdGFydmUgb3RoZXIgY29ubmVjdGlvbnMgdGh1cw0KPiBuZWVk
IHRvIGJlIHVzZWQgd2l0aCBjYXJlLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBMdWl6IEF1Z3VzdG8g
dm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+DQo+IC0tLQ0KPiAgaW5jbHVkZS9u
ZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLmggfCAgICA2ICsrLQ0KPiAgbmV0L2JsdWV0b290aC9oY2lf
Y29ubi5jICAgICAgICAgfCAgICA4ICsrLQ0KPiAgbmV0L2JsdWV0b290aC9oY2lfY29yZS5jICAg
ICAgICAgfCAgMTQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0NCj4gIG5l
dC9ibHVldG9vdGgvcmZjb21tL3NvY2suYyAgICAgIHwgICAgOCArKw0KPiAgNCBmaWxlcyBjaGFu
Z2VkLCAxMjIgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQg
YS9pbmNsdWRlL25ldC9ibHVldG9vdGgvaGNpX2NvcmUuaCBiL2luY2x1ZGUvbmV0L2JsdWV0b290
aC9oY2lfY29yZS5oDQo+IGluZGV4IDhmNDQxYjguLmJlMjI2YjAgMTAwNjQ0DQo+IC0tLSBhL2lu
Y2x1ZGUvbmV0L2JsdWV0b290aC9oY2lfY29yZS5oDQo+ICsrKyBiL2luY2x1ZGUvbmV0L2JsdWV0
b290aC9oY2lfY29yZS5oDQo+IEBAIC0zMiw2ICszMiwxMCBAQA0KPiAgI2RlZmluZSBIQ0lfUFJP
VE9fTDJDQVAgICAgICAgIDANCj4gICNkZWZpbmUgSENJX1BST1RPX1NDTyAgMQ0KPg0KPiArLyog
SENJIHByaW9yaXR5IHF1ZXVlcyAqLw0KPiArI2RlZmluZSBIQ0lfUFJJT19RVUVVRVMgICAgICAg
IDgNCj4gKyNkZWZpbmUgSENJX1BSSU9fTUFYICAgSENJX1BSSU9fUVVFVUVTIC0gMQ0KPiArDQo+
ICAvKiBIQ0kgQ29yZSBzdHJ1Y3R1cmVzICovDQo+ICBzdHJ1Y3QgaW5xdWlyeV9kYXRhIHsNCj4g
ICAgICAgICBiZGFkZHJfdCAgICAgICAgYmRhZGRyOw0KPiBAQCAtMjc0LDcgKzI3OCw3IEBAIHN0
cnVjdCBoY2lfY29ubiB7DQo+DQo+ICAgICAgICAgdW5zaWduZWQgaW50ICAgIHNlbnQ7DQo+DQo+
IC0gICAgICAgc3RydWN0IHNrX2J1ZmZfaGVhZCBkYXRhX3E7DQo+ICsgICAgICAgc3RydWN0IHNr
X2J1ZmZfaGVhZCBkYXRhX3FbSENJX1BSSU9fUVVFVUVTXTsNCj4NCj4gICAgICAgICBzdHJ1Y3Qg
dGltZXJfbGlzdCBkaXNjX3RpbWVyOw0KPiAgICAgICAgIHN0cnVjdCB0aW1lcl9saXN0IGlkbGVf
dGltZXI7DQo+IGRpZmYgLS1naXQgYS9uZXQvYmx1ZXRvb3RoL2hjaV9jb25uLmMgYi9uZXQvYmx1
ZXRvb3RoL2hjaV9jb25uLmMNCj4gaW5kZXggZWE3ZjAzMS4uNGMwOTczOCAxMDA2NDQNCj4gLS0t
IGEvbmV0L2JsdWV0b290aC9oY2lfY29ubi5jDQo+ICsrKyBiL25ldC9ibHVldG9vdGgvaGNpX2Nv
bm4uYw0KPiBAQCAtMzM2LDYgKzMzNiw3IEBAIHN0YXRpYyB2b2lkIGhjaV9jb25uX2F1dG9fYWNj
ZXB0KHVuc2lnbmVkIGxvbmcgYXJnKQ0KPiAgc3RydWN0IGhjaV9jb25uICpoY2lfY29ubl9hZGQo
c3RydWN0IGhjaV9kZXYgKmhkZXYsIGludCB0eXBlLCBiZGFkZHJfdCAqZHN0KQ0KPiAgew0KPiAg
ICAgICAgIHN0cnVjdCBoY2lfY29ubiAqY29ubjsNCj4gKyAgICAgICBpbnQgaTsNCj4NCj4gICAg
ICAgICBCVF9EQkcoIiVzIGRzdCAlcyIsIGhkZXYtPm5hbWUsIGJhdG9zdHIoZHN0KSk7DQo+DQo+
IEBAIC0zNzIsNyArMzczLDggQEAgc3RydWN0IGhjaV9jb25uICpoY2lfY29ubl9hZGQoc3RydWN0
IGhjaV9kZXYgKmhkZXYsIGludCB0eXBlLCBiZGFkZHJfdCAqZHN0KQ0KPiAgICAgICAgICAgICAg
ICAgYnJlYWs7DQo+ICAgICAgICAgfQ0KPg0KPiAtICAgICAgIHNrYl9xdWV1ZV9oZWFkX2luaXQo
JmNvbm4tPmRhdGFfcSk7DQo+ICsgICAgICAgZm9yIChpID0gMDsgaSA8IEhDSV9QUklPX1FVRVVF
UzsgaSsrKQ0KPiArICAgICAgICAgICAgICAgc2tiX3F1ZXVlX2hlYWRfaW5pdCgmY29ubi0+ZGF0
YV9xW2ldKTsNCj4NCj4gICAgICAgICBzZXR1cF90aW1lcigmY29ubi0+ZGlzY190aW1lciwgaGNp
X2Nvbm5fdGltZW91dCwgKHVuc2lnbmVkIGxvbmcpY29ubik7DQo+ICAgICAgICAgc2V0dXBfdGlt
ZXIoJmNvbm4tPmlkbGVfdGltZXIsIGhjaV9jb25uX2lkbGUsICh1bnNpZ25lZCBsb25nKWNvbm4p
Ow0KPiBAQCAtNDAxLDYgKzQwMyw3IEBAIHN0cnVjdCBoY2lfY29ubiAqaGNpX2Nvbm5fYWRkKHN0
cnVjdCBoY2lfZGV2ICpoZGV2LCBpbnQgdHlwZSwgYmRhZGRyX3QgKmRzdCkNCj4gIGludCBoY2lf
Y29ubl9kZWwoc3RydWN0IGhjaV9jb25uICpjb25uKQ0KPiAgew0KPiAgICAgICAgIHN0cnVjdCBo
Y2lfZGV2ICpoZGV2ID0gY29ubi0+aGRldjsNCj4gKyAgICAgICBpbnQgaTsNCj4NCj4gICAgICAg
ICBCVF9EQkcoIiVzIGNvbm4gJXAgaGFuZGxlICVkIiwgaGRldi0+bmFtZSwgY29ubiwgY29ubi0+
aGFuZGxlKTsNCj4NCj4gQEAgLTQzOCw3ICs0NDEsOCBAQCBpbnQgaGNpX2Nvbm5fZGVsKHN0cnVj
dCBoY2lfY29ubiAqY29ubikNCj4NCj4gICAgICAgICB0YXNrbGV0X2VuYWJsZSgmaGRldi0+dHhf
dGFzayk7DQo+DQo+IC0gICAgICAgc2tiX3F1ZXVlX3B1cmdlKCZjb25uLT5kYXRhX3EpOw0KPiAr
ICAgICAgIGZvciAoaSA9IDA7IGkgPCBIQ0lfUFJJT19RVUVVRVM7IGkrKykNCj4gKyAgICAgICAg
ICAgICAgIHNrYl9xdWV1ZV9wdXJnZSgmY29ubi0+ZGF0YV9xW2ldKTsNCj4NCj4gICAgICAgICBo
Y2lfY29ubl9wdXRfZGV2aWNlKGNvbm4pOw0KPg0KPiBkaWZmIC0tZ2l0IGEvbmV0L2JsdWV0b290
aC9oY2lfY29yZS5jIGIvbmV0L2JsdWV0b290aC9oY2lfY29yZS5jDQo+IGluZGV4IGVjMGJjM2Yu
LjdjMzQxMTEgMTAwNjQ0DQo+IC0tLSBhL25ldC9ibHVldG9vdGgvaGNpX2NvcmUuYw0KPiArKysg
Yi9uZXQvYmx1ZXRvb3RoL2hjaV9jb3JlLmMNCj4gQEAgLTE5NzUsMTAgKzE5NzUsMjEgQEAgc3Rh
dGljIHZvaWQgaGNpX2FkZF9hY2xfaGRyKHN0cnVjdCBza19idWZmICpza2IsIF9fdTE2IGhhbmRs
ZSwgX191MTYgZmxhZ3MpDQo+ICAgICAgICAgaGRyLT5kbGVuICAgPSBjcHVfdG9fbGUxNihsZW4p
Ow0KPiAgfQ0KPg0KPiArc3RhdGljIHN0cnVjdCBza19idWZmX2hlYWQgKmhjaV9wcmlvX3F1ZXVl
KHN0cnVjdCBoY2lfY29ubiAqY29ubiwgX191MzIgcHJpbykNCj4gK3sNCj4gKyAgICAgICBCVF9E
QkcoImNvbm4gJXAgcHJpb3JpdHkgJXUiLCBjb25uLCBwcmlvKTsNCj4gKw0KPiArICAgICAgIGlm
IChwcmlvID4gSENJX1BSSU9fTUFYKQ0KPiArICAgICAgICAgICAgICAgcHJpbyA9IEhDSV9QUklP
X01BWDsNCj4gKw0KPiArICAgICAgIHJldHVybiAmY29ubi0+ZGF0YV9xW3ByaW9dOw0KPiArfQ0K
PiArDQo+ICB2b2lkIGhjaV9zZW5kX2FjbChzdHJ1Y3QgaGNpX2Nvbm4gKmNvbm4sIHN0cnVjdCBz
a19idWZmICpza2IsIF9fdTE2IGZsYWdzKQ0KPiAgew0KPiAgICAgICAgIHN0cnVjdCBoY2lfZGV2
ICpoZGV2ID0gY29ubi0+aGRldjsNCj4gICAgICAgICBzdHJ1Y3Qgc2tfYnVmZiAqbGlzdDsNCj4g
KyAgICAgICBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpxdWV1ZTsNCj4NCj4gICAgICAgICBCVF9EQkco
IiVzIGNvbm4gJXAgZmxhZ3MgMHgleCIsIGhkZXYtPm5hbWUsIGNvbm4sIGZsYWdzKTsNCj4NCj4g
QEAgLTE5ODYsMTIgKzE5OTcsMTQgQEAgdm9pZCBoY2lfc2VuZF9hY2woc3RydWN0IGhjaV9jb25u
ICpjb25uLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBfX3UxNiBmbGFncykNCj4gICAgICAgICBidF9j
Yihza2IpLT5wa3RfdHlwZSA9IEhDSV9BQ0xEQVRBX1BLVDsNCj4gICAgICAgICBoY2lfYWRkX2Fj
bF9oZHIoc2tiLCBjb25uLT5oYW5kbGUsIGZsYWdzKTsNCj4NCj4gKyAgICAgICBxdWV1ZSA9IGhj
aV9wcmlvX3F1ZXVlKGNvbm4sIHNrYi0+cHJpb3JpdHkpOw0KPiArDQo+ICAgICAgICAgbGlzdCA9
IHNrYl9zaGluZm8oc2tiKS0+ZnJhZ19saXN0Ow0KPiAgICAgICAgIGlmICghbGlzdCkgew0KPiAg
ICAgICAgICAgICAgICAgLyogTm9uIGZyYWdtZW50ZWQgKi8NCj4gICAgICAgICAgICAgICAgIEJU
X0RCRygiJXMgbm9uZnJhZyBza2IgJXAgbGVuICVkIiwgaGRldi0+bmFtZSwgc2tiLCBza2ItPmxl
bik7DQo+DQo+IC0gICAgICAgICAgICAgICBza2JfcXVldWVfdGFpbCgmY29ubi0+ZGF0YV9xLCBz
a2IpOw0KPiArICAgICAgICAgICAgICAgc2tiX3F1ZXVlX3RhaWwocXVldWUsIHNrYik7DQo+ICAg
ICAgICAgfSBlbHNlIHsNCj4gICAgICAgICAgICAgICAgIC8qIEZyYWdtZW50ZWQgKi8NCj4gICAg
ICAgICAgICAgICAgIEJUX0RCRygiJXMgZnJhZyAlcCBsZW4gJWQiLCBoZGV2LT5uYW1lLCBza2Is
IHNrYi0+bGVuKTsNCj4gQEAgLTE5OTksOSArMjAxMiw5IEBAIHZvaWQgaGNpX3NlbmRfYWNsKHN0
cnVjdCBoY2lfY29ubiAqY29ubiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwgX191MTYgZmxhZ3MpDQo+
ICAgICAgICAgICAgICAgICBza2Jfc2hpbmZvKHNrYiktPmZyYWdfbGlzdCA9IE5VTEw7DQo+DQo+
ICAgICAgICAgICAgICAgICAvKiBRdWV1ZSBhbGwgZnJhZ21lbnRzIGF0b21pY2FsbHkgKi8NCj4g
LSAgICAgICAgICAgICAgIHNwaW5fbG9ja19iaCgmY29ubi0+ZGF0YV9xLmxvY2spOw0KPiArICAg
ICAgICAgICAgICAgc3Bpbl9sb2NrX2JoKCZxdWV1ZS0+bG9jayk7DQo+DQo+IC0gICAgICAgICAg
ICAgICBfX3NrYl9xdWV1ZV90YWlsKCZjb25uLT5kYXRhX3EsIHNrYik7DQo+ICsgICAgICAgICAg
ICAgICBfX3NrYl9xdWV1ZV90YWlsKHF1ZXVlLCBza2IpOw0KPg0KPiAgICAgICAgICAgICAgICAg
ZmxhZ3MgJj0gfkFDTF9TVEFSVDsNCj4gICAgICAgICAgICAgICAgIGZsYWdzIHw9IEFDTF9DT05U
Ow0KPiBAQCAtMjAxNCwxMCArMjAyNywxMCBAQCB2b2lkIGhjaV9zZW5kX2FjbChzdHJ1Y3QgaGNp
X2Nvbm4gKmNvbm4sIHN0cnVjdCBza19idWZmICpza2IsIF9fdTE2IGZsYWdzKQ0KPg0KPiAgICAg
ICAgICAgICAgICAgICAgICAgICBCVF9EQkcoIiVzIGZyYWcgJXAgbGVuICVkIiwgaGRldi0+bmFt
ZSwgc2tiLCBza2ItPmxlbik7DQo+DQo+IC0gICAgICAgICAgICAgICAgICAgICAgIF9fc2tiX3F1
ZXVlX3RhaWwoJmNvbm4tPmRhdGFfcSwgc2tiKTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
X19za2JfcXVldWVfdGFpbChxdWV1ZSwgc2tiKTsNCj4gICAgICAgICAgICAgICAgIH0gd2hpbGUg
KGxpc3QpOw0KPg0KPiAtICAgICAgICAgICAgICAgc3Bpbl91bmxvY2tfYmgoJmNvbm4tPmRhdGFf
cS5sb2NrKTsNCj4gKyAgICAgICAgICAgICAgIHNwaW5fdW5sb2NrX2JoKCZxdWV1ZS0+bG9jayk7
DQo+ICAgICAgICAgfQ0KPg0KPiAgICAgICAgIHRhc2tsZXRfc2NoZWR1bGUoJmhkZXYtPnR4X3Rh
c2spOw0KPiBAQCAtMjAyOSw2ICsyMDQyLDcgQEAgdm9pZCBoY2lfc2VuZF9zY28oc3RydWN0IGhj
aV9jb25uICpjb25uLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQ0KPiAgew0KPiAgICAgICAgIHN0cnVj
dCBoY2lfZGV2ICpoZGV2ID0gY29ubi0+aGRldjsNCj4gICAgICAgICBzdHJ1Y3QgaGNpX3Njb19o
ZHIgaGRyOw0KPiArICAgICAgIHN0cnVjdCBza19idWZmX2hlYWQgKnF1ZXVlOw0KPg0KPiAgICAg
ICAgIEJUX0RCRygiJXMgbGVuICVkIiwgaGRldi0+bmFtZSwgc2tiLT5sZW4pOw0KPg0KPiBAQCAt
MjA0Miw3ICsyMDU2LDggQEAgdm9pZCBoY2lfc2VuZF9zY28oc3RydWN0IGhjaV9jb25uICpjb25u
LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQ0KPiAgICAgICAgIHNrYi0+ZGV2ID0gKHZvaWQgKikgaGRl
djsNCj4gICAgICAgICBidF9jYihza2IpLT5wa3RfdHlwZSA9IEhDSV9TQ09EQVRBX1BLVDsNCj4N
Cj4gLSAgICAgICBza2JfcXVldWVfdGFpbCgmY29ubi0+ZGF0YV9xLCBza2IpOw0KPiArICAgICAg
IHF1ZXVlID0gaGNpX3ByaW9fcXVldWUoY29ubiwgc2tiLT5wcmlvcml0eSk7DQo+ICsgICAgICAg
c2tiX3F1ZXVlX3RhaWwocXVldWUsIHNrYik7DQo+ICAgICAgICAgdGFza2xldF9zY2hlZHVsZSgm
aGRldi0+dHhfdGFzayk7DQo+ICB9DQo+ICBFWFBPUlRfU1lNQk9MKGhjaV9zZW5kX3Njbyk7DQo+
IEBAIC0yMDUwLDM1ICsyMDY1LDQxIEBAIEVYUE9SVF9TWU1CT0woaGNpX3NlbmRfc2NvKTsNCj4g
IC8qIC0tLS0gSENJIFRYIHRhc2sgKG91dGdvaW5nIGRhdGEpIC0tLS0gKi8NCj4NCj4gIC8qIEhD
SSBDb25uZWN0aW9uIHNjaGVkdWxlciAqLw0KPiAtc3RhdGljIGlubGluZSBzdHJ1Y3QgaGNpX2Nv
bm4gKmhjaV9sb3dfc2VudChzdHJ1Y3QgaGNpX2RldiAqaGRldiwgX191OCB0eXBlLCBpbnQgKnF1
b3RlKQ0KPiArc3RhdGljIGlubGluZSBzdHJ1Y3QgaGNpX2Nvbm4gKmhjaV9wcmlvX3NlbnQoc3Ry
dWN0IGhjaV9kZXYgKmhkZXYsIF9fdTggdHlwZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBza19idWZmX2hlYWQgKipxdWV1ZSwgaW50ICpxdW90ZSkN
Cj4gIHsNCj4gICAgICAgICBzdHJ1Y3QgaGNpX2Nvbm5faGFzaCAqaCA9ICZoZGV2LT5jb25uX2hh
c2g7DQo+ICAgICAgICAgc3RydWN0IGhjaV9jb25uICpjb25uID0gTlVMTDsNCj4gLSAgICAgICBp
bnQgbnVtID0gMCwgbWluID0gfjA7DQo+IC0gICAgICAgc3RydWN0IGxpc3RfaGVhZCAqcDsNCj4g
KyAgICAgICBpbnQgaTsNCj4NCj4gICAgICAgICAvKiBXZSBkb24ndCBoYXZlIHRvIGxvY2sgZGV2
aWNlIGhlcmUuIENvbm5lY3Rpb25zIGFyZSBhbHdheXMNCj4gICAgICAgICAgKiBhZGRlZCBhbmQg
cmVtb3ZlZCB3aXRoIFRYIHRhc2sgZGlzYWJsZWQuICovDQo+IC0gICAgICAgbGlzdF9mb3JfZWFj
aChwLCAmaC0+bGlzdCkgew0KPiAtICAgICAgICAgICAgICAgc3RydWN0IGhjaV9jb25uICpjOw0K
PiAtICAgICAgICAgICAgICAgYyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGhjaV9jb25uLCBsaXN0
KTsNCj4gKyAgICAgICBmb3IgKGkgPSBIQ0lfUFJJT19NQVg7IGkgPj0gMDsgaS0tKSB7DQo+ICsg
ICAgICAgICAgICAgICBpbnQgbnVtID0gMCwgbWluID0gfjA7DQo+ICsgICAgICAgICAgICAgICBz
dHJ1Y3QgbGlzdF9oZWFkICpwOw0KPiArICAgICAgICAgICAgICAgaW50IGNudCwgcTsNCj4NCj4g
LSAgICAgICAgICAgICAgIGlmIChjLT50eXBlICE9IHR5cGUgfHwgc2tiX3F1ZXVlX2VtcHR5KCZj
LT5kYXRhX3EpKQ0KPiAtICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4gKyAgICAg
ICAgICAgICAgIGxpc3RfZm9yX2VhY2gocCwgJmgtPmxpc3QpIHsNCj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgc3RydWN0IGhjaV9jb25uICpjOw0KPiArICAgICAgICAgICAgICAgICAgICAgICBj
ID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgaGNpX2Nvbm4sIGxpc3QpOw0KPg0KPiAtICAgICAgICAg
ICAgICAgaWYgKGMtPnN0YXRlICE9IEJUX0NPTk5FQ1RFRCAmJiBjLT5zdGF0ZSAhPSBCVF9DT05G
SUcpDQo+IC0gICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiArICAgICAgICAgICAg
ICAgICAgICAgICBpZiAoYy0+dHlwZSAhPSB0eXBlIHx8IHNrYl9xdWV1ZV9lbXB0eSgmYy0+ZGF0
YV9xW2ldKSkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCg0K
SSBiZWxpZXZlIHRoYXQgdGhlIGV4aXN0aW5nIHR4IHNjaGVkdWxlciBpcyBhbHJlYWR5IGluZWZm
aWNpZW50IGFuZCB0aGF0DQp0aGlzIGFwcHJvYWNoIHNpZ25pZmljYW50bHkgY29tcG91bmRzIHRo
YXQgaW5lZmZpY2llbmN5Lg0KDQpDb25zaWRlciB0aGUgZm9sbG93aW5nIHNjZW5hcmlvcyB3aXRo
IDQgQUNMIGNvbm5lY3Rpb25zIChrZXlib2FyZCwNCm1vdXNlLCBwaG9uZSwgaGVhZHNldCk6DQoN
CkZvciAqb25lKiBzY2hlZHVsZWQgQUNMIHR4IHBhY2tldCwgdGhlIGNvbm5lY3Rpb24gbGlzdCB3
aWxsIGJlIHNlYXJjaGVkDQozNX40MiB0aW1lcyAtLSB0aGF0J3MgMTQwfjE2OCBjb25uZWN0aW9u
IGxpc3Qgbm9kZSB2aXNpdHMgdG8gZmluZCBvbmUNCnBhY2tldCEgSGVyZSdzIHRoZSBtYXRoOg0K
ICAgICAgICAoNyAtIHByaW9yaXR5IG9mIHR4IHBhY2tldCkgeCA0IGNvbm5lY3Rpb25zID0+IGZv
dW5kIHRoZSBwYWNrZXQNCiAgICAgICAgNyBwcmkgbGV2ZWxzIHggNCBjb25uZWN0aW9ucyA9PiBu
byBtb3JlIEFDTCB0eCBwYWNrZXRzDQogICAgICAgIDcgcHJpIGxldmVscyB4IDQgY29ubmVjdGlv
bnMgPT4gbm8gU0NPIHR4IHBhY2tldHMNCiAgICAgICAgNyBwcmkgbGV2ZWxzIHggNCBjb25uZWN0
aW9ucyA9PiBubyBFU0NPIHR4IHBhY2tldHMNCiAgICAgICAgNyBwcmkgbGV2ZWxzIHggNCBjb25u
ZWN0aW9ucyA9PiBubyBMRSB0eCBwYWNrZXRzDQogICAgICAgIDcgcHJpIGxldmVscyB4IDQgY29u
bmVjdGlvbnMgPT4gcmVjYWxjIHByaW9yaXR5DQoNCklmIHRoZSBjb25uZWN0aW9uIHR5cGUgZG9l
c24ndCBtYXRjaCwgaXQncyBub3QgZ29pbmcgdG8gbWF0Y2ggYXQgYW55DQpwcmlvcml0eSBsZXZl
bC4NCg0KPiArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChjLT5zdGF0ZSAhPSBCVF9D
T05ORUNURUQgJiYgYy0+c3RhdGUgIT0gQlRfQ09ORklHKQ0KPiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOw0KPg0KPiAtICAgICAgICAgICAgICAgbnVtKys7DQo+ICsg
ICAgICAgICAgICAgICAgICAgICAgIG51bSsrOw0KPg0KPiAtICAgICAgICAgICAgICAgaWYgKGMt
PnNlbnQgPCBtaW4pIHsNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgbWluICA9IGMtPnNlbnQ7
DQo+IC0gICAgICAgICAgICAgICAgICAgICAgIGNvbm4gPSBjOw0KPiArICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoYy0+c2VudCA8IG1pbikgew0KPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG1pbiAgPSBjLT5zZW50Ow0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbm4gPSBjOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpxdWV1ZSA9ICZj
LT5kYXRhX3FbaV07DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KV2h5IHByZXNlcnZl
IHRoZSBmYWlybmVzcyBsb2dpYz8NCg0KPiAgICAgICAgICAgICAgICAgfQ0KPiAtICAgICAgIH0N
Cj4NCj4gLSAgICAgICBpZiAoY29ubikgew0KPiAtICAgICAgICAgICAgICAgaW50IGNudCwgcTsN
Cj4gKyAgICAgICAgICAgICAgIGlmICghY29ubikNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7DQo+DQo+ICAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvbm4tPnR5cGUpIHsNCj4g
ICAgICAgICAgICAgICAgIGNhc2UgQUNMX0xJTks6DQo+IEBAIC0yMDk4LDEwICsyMTE5LDEzIEBA
IHN0YXRpYyBpbmxpbmUgc3RydWN0IGhjaV9jb25uICpoY2lfbG93X3NlbnQoc3RydWN0IGhjaV9k
ZXYgKmhkZXYsIF9fdTggdHlwZSwgaW50DQo+DQo+ICAgICAgICAgICAgICAgICBxID0gY250IC8g
bnVtOw0KPiAgICAgICAgICAgICAgICAgKnF1b3RlID0gcSA/IHEgOiAxOw0KPiAtICAgICAgIH0g
ZWxzZQ0KPiAtICAgICAgICAgICAgICAgKnF1b3RlID0gMDsNCj4gKyAgICAgICAgICAgICAgIEJU
X0RCRygiY29ubiAlcCBpbmRleCAlZCBxdW90ZSAlZCIsIGNvbm4sIGksICpxdW90ZSk7DQo+ICsg
ICAgICAgICAgICAgICByZXR1cm4gY29ubjsNCj4gKyAgICAgICB9DQo+DQo+IC0gICAgICAgQlRf
REJHKCJjb25uICVwIHF1b3RlICVkIiwgY29ubiwgKnF1b3RlKTsNCj4gKyAgICAgICAqcXVvdGUg
PSAwOw0KPiArICAgICAgICpxdWV1ZSA9IE5VTEw7DQo+ICsgICAgICAgQlRfREJHKCJjb25uICVw
IHF1ZXVlICVwIHF1b3RlICVkIiwgY29ubiwgcXVldWUsICpxdW90ZSk7DQo+ICAgICAgICAgcmV0
dXJuIGNvbm47DQo+ICB9DQo+DQo+IEBAIC0yMTI4LDYgKzIxNTIsNyBAQCBzdGF0aWMgaW5saW5l
IHZvaWQgaGNpX3NjaGVkX2FjbChzdHJ1Y3QgaGNpX2RldiAqaGRldikNCj4gIHsNCj4gICAgICAg
ICBzdHJ1Y3QgaGNpX2Nvbm4gKmNvbm47DQo+ICAgICAgICAgc3RydWN0IHNrX2J1ZmYgKnNrYjsN
Cj4gKyAgICAgICBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpxdWV1ZSA9IE5VTEw7DQo+ICAgICAgICAg
aW50IHF1b3RlOw0KPg0KPiAgICAgICAgIEJUX0RCRygiJXMiLCBoZGV2LT5uYW1lKTsNCj4gQEAg
LTIxMzksOSArMjE2NCwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaGNpX3NjaGVkX2FjbChzdHJ1
Y3QgaGNpX2RldiAqaGRldikNCj4gICAgICAgICAgICAgICAgICAgICAgICAgaGNpX2xpbmtfdHhf
dG8oaGRldiwgQUNMX0xJTkspOw0KPiAgICAgICAgIH0NCj4NCj4gLSAgICAgICB3aGlsZSAoaGRl
di0+YWNsX2NudCAmJiAoY29ubiA9IGhjaV9sb3dfc2VudChoZGV2LCBBQ0xfTElOSywgJnF1b3Rl
KSkpIHsNCj4gLSAgICAgICAgICAgICAgIHdoaWxlIChxdW90ZS0tICYmIChza2IgPSBza2JfZGVx
dWV1ZSgmY29ubi0+ZGF0YV9xKSkpIHsNCj4gLSAgICAgICAgICAgICAgICAgICAgICAgQlRfREJH
KCJza2IgJXAgbGVuICVkIiwgc2tiLCBza2ItPmxlbik7DQo+ICsgICAgICAgd2hpbGUgKGhkZXYt
PmFjbF9jbnQgJiYNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbm4gPSBoY2lfcHJpb19z
ZW50KGhkZXYsIEFDTF9MSU5LLCAmcXVldWUsICZxdW90ZSkpKSB7DQo+ICsgICAgICAgICAgICAg
ICB3aGlsZSAocXVvdGUtLSAmJiAoc2tiID0gc2tiX2RlcXVldWUocXVldWUpKSkgew0KPiArICAg
ICAgICAgICAgICAgICAgICAgICBCVF9EQkcoInNrYiAlcCBsZW4gJWQgcHJpb3JpdHkgJXUiLCBz
a2IsIHNrYi0+bGVuLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNrYi0+cHJpb3JpdHkpOw0KPg0KPiAgICAgICAgICAgICAgICAgICAg
ICAgICBoY2lfY29ubl9lbnRlcl9hY3RpdmVfbW9kZShjb25uLCBidF9jYihza2IpLT5mb3JjZV9h
Y3RpdmUpOw0KPg0KPiBAQCAtMjE1OSwxMyArMjE4NiwxNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQg
aGNpX3NjaGVkX3NjbyhzdHJ1Y3QgaGNpX2RldiAqaGRldikNCj4gIHsNCj4gICAgICAgICBzdHJ1
Y3QgaGNpX2Nvbm4gKmNvbm47DQo+ICAgICAgICAgc3RydWN0IHNrX2J1ZmYgKnNrYjsNCj4gKyAg
ICAgICBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpxdWV1ZSA9IE5VTEw7DQo+ICAgICAgICAgaW50IHF1
b3RlOw0KPg0KPiAgICAgICAgIEJUX0RCRygiJXMiLCBoZGV2LT5uYW1lKTsNCj4NCj4gLSAgICAg
ICB3aGlsZSAoaGRldi0+c2NvX2NudCAmJiAoY29ubiA9IGhjaV9sb3dfc2VudChoZGV2LCBTQ09f
TElOSywgJnF1b3RlKSkpIHsNCj4gLSAgICAgICAgICAgICAgIHdoaWxlIChxdW90ZS0tICYmIChz
a2IgPSBza2JfZGVxdWV1ZSgmY29ubi0+ZGF0YV9xKSkpIHsNCj4gLSAgICAgICAgICAgICAgICAg
ICAgICAgQlRfREJHKCJza2IgJXAgbGVuICVkIiwgc2tiLCBza2ItPmxlbik7DQo+ICsgICAgICAg
d2hpbGUgKGhkZXYtPnNjb19jbnQgJiYNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKGNvbm4g
PSBoY2lfcHJpb19zZW50KGhkZXYsIFNDT19MSU5LLCAmcXVldWUsICZxdW90ZSkpKSB7DQo+ICsg
ICAgICAgICAgICAgICB3aGlsZSAocXVvdGUtLSAmJiAoc2tiID0gc2tiX2RlcXVldWUocXVldWUp
KSkgew0KPiArICAgICAgICAgICAgICAgICAgICAgICBCVF9EQkcoImNvbm4gJXAgc2tiICVwIGxl
biAlZCBwcmlvcml0eSAldSIsIGNvbm4sIHNrYiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2tiLT5sZW4sIHNrYi0+cHJpb3JpdHkpOw0KPiAgICAg
ICAgICAgICAgICAgICAgICAgICBoY2lfc2VuZF9mcmFtZShza2IpOw0KPg0KPiAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25uLT5zZW50Kys7DQo+IEBAIC0yMTc5LDEzICsyMjA5LDE2IEBAIHN0
YXRpYyBpbmxpbmUgdm9pZCBoY2lfc2NoZWRfZXNjbyhzdHJ1Y3QgaGNpX2RldiAqaGRldikNCj4g
IHsNCj4gICAgICAgICBzdHJ1Y3QgaGNpX2Nvbm4gKmNvbm47DQo+ICAgICAgICAgc3RydWN0IHNr
X2J1ZmYgKnNrYjsNCj4gKyAgICAgICBzdHJ1Y3Qgc2tfYnVmZl9oZWFkICpxdWV1ZSA9IE5VTEw7
DQo+ICAgICAgICAgaW50IHF1b3RlOw0KPg0KPiAgICAgICAgIEJUX0RCRygiJXMiLCBoZGV2LT5u
YW1lKTsNCj4NCj4gLSAgICAgICB3aGlsZSAoaGRldi0+c2NvX2NudCAmJiAoY29ubiA9IGhjaV9s
b3dfc2VudChoZGV2LCBFU0NPX0xJTkssICZxdW90ZSkpKSB7DQo+IC0gICAgICAgICAgICAgICB3
aGlsZSAocXVvdGUtLSAmJiAoc2tiID0gc2tiX2RlcXVldWUoJmNvbm4tPmRhdGFfcSkpKSB7DQo+
IC0gICAgICAgICAgICAgICAgICAgICAgIEJUX0RCRygic2tiICVwIGxlbiAlZCIsIHNrYiwgc2ti
LT5sZW4pOw0KPiArICAgICAgIHdoaWxlIChoZGV2LT5zY29fY250ICYmDQo+ICsgICAgICAgICAg
ICAgICAgICAgICAgIChjb25uID0gaGNpX3ByaW9fc2VudChoZGV2LCBFU0NPX0xJTkssICZxdWV1
ZSwgJnF1b3RlKSkpIHsNCj4gKyAgICAgICAgICAgICAgIHdoaWxlIChxdW90ZS0tICYmIChza2Ig
PSBza2JfZGVxdWV1ZShxdWV1ZSkpKSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIEJUX0RC
RygiY29ubiAlcCBza2IgJXAgbGVuICVkIHByaW9yaXR5ICV1IiwgY29ubiwgc2tiLA0KPiArICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBza2ItPmxlbiwgc2ti
LT5wcmlvcml0eSk7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGhjaV9zZW5kX2ZyYW1lKHNr
Yik7DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm4tPnNlbnQrKzsNCj4gQEAgLTIx
OTksNiArMjIzMiw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBoY2lfc2NoZWRfbGUoc3RydWN0IGhj
aV9kZXYgKmhkZXYpDQo+ICB7DQo+ICAgICAgICAgc3RydWN0IGhjaV9jb25uICpjb25uOw0KPiAg
ICAgICAgIHN0cnVjdCBza19idWZmICpza2I7DQo+ICsgICAgICAgc3RydWN0IHNrX2J1ZmZfaGVh
ZCAqcXVldWUgPSBOVUxMOw0KPiAgICAgICAgIGludCBxdW90ZSwgY250Ow0KPg0KPiAgICAgICAg
IEJUX0RCRygiJXMiLCBoZGV2LT5uYW1lKTsNCj4gQEAgLTIyMTIsOSArMjI0NiwxMCBAQCBzdGF0
aWMgaW5saW5lIHZvaWQgaGNpX3NjaGVkX2xlKHN0cnVjdCBoY2lfZGV2ICpoZGV2KQ0KPiAgICAg
ICAgIH0NCj4NCj4gICAgICAgICBjbnQgPSBoZGV2LT5sZV9wa3RzID8gaGRldi0+bGVfY250IDog
aGRldi0+YWNsX2NudDsNCj4gLSAgICAgICB3aGlsZSAoY250ICYmIChjb25uID0gaGNpX2xvd19z
ZW50KGhkZXYsIExFX0xJTkssICZxdW90ZSkpKSB7DQo+IC0gICAgICAgICAgICAgICB3aGlsZSAo
cXVvdGUtLSAmJiAoc2tiID0gc2tiX2RlcXVldWUoJmNvbm4tPmRhdGFfcSkpKSB7DQo+IC0gICAg
ICAgICAgICAgICAgICAgICAgIEJUX0RCRygic2tiICVwIGxlbiAlZCIsIHNrYiwgc2tiLT5sZW4p
Ow0KPiArICAgICAgIHdoaWxlIChjbnQgJiYgKGNvbm4gPSBoY2lfcHJpb19zZW50KGhkZXYsIExF
X0xJTkssICZxdWV1ZSwgJnF1b3RlKSkpIHsNCj4gKyAgICAgICAgICAgICAgIHdoaWxlIChxdW90
ZS0tICYmIChza2IgPSBza2JfZGVxdWV1ZShxdWV1ZSkpKSB7DQo+ICsgICAgICAgICAgICAgICAg
ICAgICAgIEJUX0RCRygiY29ubiAlcCBza2IgJXAgbGVuICVkIHByaW9yaXR5ICV1IiwgY29ubiwg
c2tiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
a2ItPmxlbiwgc2tiLT5wcmlvcml0eSk7DQo+DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGhj
aV9zZW5kX2ZyYW1lKHNrYik7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgIGhkZXYtPmxlX2xh
c3RfdHggPSBqaWZmaWVzOw0KPiBAQCAtMjIyOSw2ICsyMjY0LDM0IEBAIHN0YXRpYyBpbmxpbmUg
dm9pZCBoY2lfc2NoZWRfbGUoc3RydWN0IGhjaV9kZXYgKmhkZXYpDQo+ICAgICAgICAgICAgICAg
ICBoZGV2LT5hY2xfY250ID0gY250Ow0KPiAgfQ0KPg0KPiArc3RhdGljIHZvaWQgaGNpX3ByaW9f
cmVjYWxjdWxhdGUoc3RydWN0IGhjaV9kZXYgKmhkZXYpDQo+ICt7DQo+ICsgICAgICAgc3RydWN0
IGhjaV9jb25uX2hhc2ggKmggPSAmaGRldi0+Y29ubl9oYXNoOw0KPiArICAgICAgIGludCBpOw0K
PiArDQo+ICsgICAgICAgQlRfREJHKCIlcyIsIGhkZXYtPm5hbWUpOw0KPiArDQo+ICsgICAgICAg
Zm9yIChpID0gSENJX1BSSU9fTUFYIC0gMTsgaSA+IDA7IGktLSkgew0KPiArICAgICAgICAgICAg
ICAgc3RydWN0IGxpc3RfaGVhZCAqcDsNCj4gKw0KPiArICAgICAgICAgICAgICAgbGlzdF9mb3Jf
ZWFjaChwLCAmaC0+bGlzdCkgew0KPiArICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaGNp
X2Nvbm4gKmM7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGMgPSBsaXN0X2VudHJ5KHAsIHN0
cnVjdCBoY2lfY29ubiwgbGlzdCk7DQo+ICsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYg
KGMtPnNlbnQgfHwgc2tiX3F1ZXVlX2VtcHR5KCZjLT5kYXRhX3FbaSAtIDFdKSkNCj4gKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCg0KVGhlIHRlc3QgZm9yIHVuYWNr
ZWQgcGFja2V0cyBkb2VzIG5vdCBhbGxvdyB0aGUgcHJpb3JpdHkgdG8gYWR2YW5jZSBpZg0KdGhl
IHVuYWNrZWQgcGFja2V0cyBhcmUgZnJvbSBhIHByZXZpb3VzbHkgZXhlY3V0ZWQgaGNpX3R4X3Rh
c2sgKGllLiwgYQ0KY29ubmVjdGlvbiB0cmFuc21pdHRlZCBwYWNrZXRzIG9uIGFuIGVhcmxpZXIg
c2NoZWR1bGVkIHR4X3Rhc2sgYnV0IHRob3NlDQpwYWNrZXRzIGhhdmVuJ3QgYmVlbiBhY2tlZCB5
ZXQpLg0KDQpUaGlzIHdvdWxkIGFsbG93IGEgaGlnaGVyIHByaW9yaXR5IGNvbm5lY3Rpb24gdG8g
YWxtb3N0IG1vbm9wb2xpemUNCnRyYW5zbWlzc2lvbiB3aGVuIHRoZSBjb250cm9sbGVyIGlzIG5l
YXIgbWF4IGxvYWQuIEEgaGlnaGVyIHByaW9yaXR5DQpsaW5rIHdpbGwgcmVjZWl2ZSBhIHR4IHF1
b3RhIG9mIGFsbCBhdmFpbGFibGUgdHggYnVmZmVycywgd2hlcmVhcyBhDQpsb3dlciBwcmlvcml0
eSBsaW5rIHdpbGwgbm90IGFkdmFuY2UgdW50aWwgaXQncyBwcmV2aW91cyB0eCBwYWNrZXRzIGFy
ZQ0KYWNrZWQuIFdvcnN0LWNhc2Ugc2NoZWR1bGluZyBjb3VsZCB0YWtlIGEgbG9uZyB0aW1lIHRv
IHNjaGVkdWxlIGEgbG93ZXINCnByaW9yaXR5IHBhY2tldC4NCg0KPiArDQo+ICsgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChjLT5zdGF0ZSAhPSBCVF9DT05ORUNURUQgJiYgYy0+c3RhdGUgIT0g
QlRfQ09ORklHKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0K
PiArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIEJUX0RCRygiY29ubiAlcCBpbmRleCAlZCBw
cm9tb3RlZCB0byAlZCIsIGMsIGkgLSAxLCBpKTsNCj4gKw0KPiArICAgICAgICAgICAgICAgICAg
ICAgICBza2JfcXVldWVfc3BsaWNlX3RhaWxfaW5pdCgmYy0+ZGF0YV9xW2kgLSAxXSwNCj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYy0+
ZGF0YV9xW2ldKTsNCj4gKyAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICB9DQo+ICt9DQo+ICsN
Cj4gIHN0YXRpYyB2b2lkIGhjaV90eF90YXNrKHVuc2lnbmVkIGxvbmcgYXJnKQ0KPiAgew0KPiAg
ICAgICAgIHN0cnVjdCBoY2lfZGV2ICpoZGV2ID0gKHN0cnVjdCBoY2lfZGV2ICopIGFyZzsNCj4g
QEAgLTIyNTMsNiArMjMxNiw4IEBAIHN0YXRpYyB2b2lkIGhjaV90eF90YXNrKHVuc2lnbmVkIGxv
bmcgYXJnKQ0KPiAgICAgICAgIHdoaWxlICgoc2tiID0gc2tiX2RlcXVldWUoJmhkZXYtPnJhd19x
KSkpDQo+ICAgICAgICAgICAgICAgICBoY2lfc2VuZF9mcmFtZShza2IpOw0KPg0KPiArICAgICAg
IGhjaV9wcmlvX3JlY2FsY3VsYXRlKGhkZXYpOw0KDQpUaGUgcHJpb3JpdHkgcmVjYWxjdWxhdGlv
biBzaG91bGQgb25seSBiZSBwZXJmb3JtZWQgaWYgb25lIG9mIHRoZQ0KaGNpX3NjaGVkXyogZnVu
Y3Rpb25zIHdhcyB1bmFibGUgdG8gc2NoZWR1bGUgYWxsIG91dHN0YW5kaW5nIHBhY2tldHMNCihp
ZS4sIGEgdHggYnVmZmVyIGNvdW50IGRyb3BwZWQgdG8gemVybykuDQoNCkhvdyBkb2VzIHRoaXMg
c2NoZWR1bGVyICsgcHJpb3JpdHkgcmVjYWxjIGJlaGF2ZSBpZiAqbm8qIHBhY2tldHMgY291bGQN
CmJlIHNjaGVkdWxlZCBhdCBhbGw/IEZvciBleGFtcGxlLCBpZiBhY2xfY250ID09IDAgd2hlbiB0
aGUgdHhfdGFzayBpcw0Kc2NoZWR1bGVkPw0KDQo+ICsNCj4gICAgICAgICByZWFkX3VubG9jaygm
aGNpX3Rhc2tfbG9jayk7DQo+ICB9DQo+DQo+IGRpZmYgLS1naXQgYS9uZXQvYmx1ZXRvb3RoL3Jm
Y29tbS9zb2NrLmMgYi9uZXQvYmx1ZXRvb3RoL3JmY29tbS9zb2NrLmMNCj4gaW5kZXggOGYwMWU2
Yi4uMDIyOGUxZiAxMDA2NDQNCj4gLS0tIGEvbmV0L2JsdWV0b290aC9yZmNvbW0vc29jay5jDQo+
ICsrKyBiL25ldC9ibHVldG9vdGgvcmZjb21tL3NvY2suYw0KPiBAQCAtNTYxLDYgKzU2MSw3IEBA
IHN0YXRpYyBpbnQgcmZjb21tX3NvY2tfc2VuZG1zZyhzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVj
dCBzb2NrZXQgKnNvY2ssDQo+ICAgICAgICAgc3RydWN0IHNvY2sgKnNrID0gc29jay0+c2s7DQo+
ICAgICAgICAgc3RydWN0IHJmY29tbV9kbGMgKmQgPSByZmNvbW1fcGkoc2spLT5kbGM7DQo+ICAg
ICAgICAgc3RydWN0IHNrX2J1ZmYgKnNrYjsNCj4gKyAgICAgICB1MzIgcHJpb3JpdHk7DQo+ICAg
ICAgICAgaW50IHNlbnQgPSAwOw0KPg0KPiAgICAgICAgIGlmICh0ZXN0X2JpdChSRkNPTU1fREVG
RVJfU0VUVVAsICZkLT5mbGFncykpDQo+IEBAIC01NzIsNiArNTczLDExIEBAIHN0YXRpYyBpbnQg
cmZjb21tX3NvY2tfc2VuZG1zZyhzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBzb2NrZXQgKnNv
Y2ssDQo+ICAgICAgICAgaWYgKHNrLT5za19zaHV0ZG93biAmIFNFTkRfU0hVVERPV04pDQo+ICAg
ICAgICAgICAgICAgICByZXR1cm4gLUVQSVBFOw0KPg0KPiArICAgICAgIGlmIChtc2ctPm1zZ19m
bGFncyAmIE1TR19UUllIQVJEKQ0KPiArICAgICAgICAgICAgICAgcHJpb3JpdHkgPSBIQ0lfUFJJ
T19NQVg7DQo+ICsgICAgICAgZWxzZQ0KPiArICAgICAgICAgICAgICAgcHJpb3JpdHkgPSBzay0+
c2tfcHJpb3JpdHk7DQo+ICsNCj4gICAgICAgICBCVF9EQkcoInNvY2sgJXAsIHNrICVwIiwgc29j
aywgc2spOw0KPg0KPiAgICAgICAgIGxvY2tfc29jayhzayk7DQo+IEBAIC01OTcsNiArNjAzLDgg
QEAgc3RhdGljIGludCByZmNvbW1fc29ja19zZW5kbXNnKHN0cnVjdCBraW9jYiAqaW9jYiwgc3Ry
dWN0IHNvY2tldCAqc29jaywNCj4gICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAg
ICAgICAgICAgICAgICB9DQo+DQo+ICsgICAgICAgICAgICAgICBza2ItPnByaW9yaXR5ID0gcHJp
b3JpdHk7DQo+ICsNCj4gICAgICAgICAgICAgICAgIGVyciA9IHJmY29tbV9kbGNfc2VuZChkLCBz
a2IpOw0KPiAgICAgICAgICAgICAgICAgaWYgKGVyciA8IDApIHsNCj4gICAgICAgICAgICAgICAg
ICAgICAgICAga2ZyZWVfc2tiKHNrYik7DQo+IC0tDQo+IDEuNy42DQo+DQo+IC0tDQo+IFRvIHVu
c3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51
eC1ibHVldG9vdGgiIGluDQo+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdl
ci5rZXJuZWwub3JnDQo+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5l
bC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbA0KDQo=

  reply	other threads:[~2011-08-03 16:25 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-03 13:11 [PATCH 0/3] RFC: prioritizing data over HCI Luiz Augusto von Dentz
2011-08-03 13:11 ` [RFC 1/3] Bluetooth: " Luiz Augusto von Dentz
2011-08-03 16:25   ` Peter Hurley [this message]
2011-08-03 17:49     ` Luiz Augusto von Dentz
2011-08-03 20:44       ` Gustavo Padovan
2011-08-03 20:53       ` Peter Hurley
2011-08-04  9:04         ` Luiz Augusto von Dentz
2011-08-03 13:11 ` [RFC 2/3] Bluetooth: set skbuffer priority based on L2CAP socket priority Luiz Augusto von Dentz
2011-08-03 13:11 ` [RFC 3/3] Bluetooth: make use sk_priority to priritize RFCOMM packets Luiz Augusto von Dentz
2011-08-03 21:14 ` [PATCH 0/3] RFC: prioritizing data over HCI Peter Hurley
2011-08-04  8:20   ` Luiz Augusto von Dentz
2011-08-04 12:55     ` Peter Hurley
2011-08-04 17:37 ` Mat Martineau
2011-08-04 23:09   ` Peter Hurley
2011-08-05 19:12     ` Gustavo Padovan
2011-08-08 23:29       ` Mat Martineau
2011-08-09  4:32         ` Gustavo Padovan
2011-08-10 17:38           ` Mat Martineau
2011-08-10 18:16             ` Luiz Augusto von Dentz
2011-08-10 22:15               ` Mat Martineau
2011-08-10 19:43             ` Peter Hurley
2011-08-11  0:18             ` Marcel Holtmann
2011-08-05  6:09   ` Luiz Augusto von Dentz
2011-08-05 19:14     ` Gustavo Padovan
2011-08-05 22:49       ` Luiz Augusto von Dentz
2011-08-06 18:53         ` Gustavo Padovan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1312388716.3358.58.camel@THOR \
    --to=peter@hurleysoftware.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.