Return-Path: From: Peter Hurley To: linux-bluetooth Date: Sat, 13 Aug 2011 12:53:06 -0400 Subject: [PATCH hcidump] Fix L2CAP cid matching Message-ID: <1313254386.2254.8.camel@THOR> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: SWYgbXVsdGlwbGUgQUNMIGNvbm5lY3Rpb25zIGFyZSB1c2luZyBpZGVudGljYWwgY2lkIHZhbHVl cywgdGhlIEwyQ0FQDQpwYXJzZXIgd2lsbCBtYXRjaCB0aGUgZmlyc3QgYXZhaWwgY2lkIGZvdW5k IGluIHRoZSBjaWQgdGFibGUuIFRoaXMNCmVycm9yIG9mdGVuIGxlYWRzIHRvIGluY29ycmVjdCBw c20gZGV0ZXJtaW5hdGlvbiwgYW5kIHRodXMgaW5jb3JyZWN0DQpwYXJzaW5nIG9mIGhpZ2hlci1s YXllciBmcmFtZXMuDQoNCldoZW4gc2VhcmNoaW5nIHRoZSBjaWQgdGFibGUsIGEgbWF0Y2hpbmcg Y2lkIHZhbHVlIG11c3QgbWF0Y2ggYnkNCkFDTCBoYW5kbGUgYXMgd2VsbC4NCi0tLQ0KIHBhcnNl ci9sMmNhcC5jIHwgICA0MiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0NCiAxIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQ0K DQpkaWZmIC0tZ2l0IGEvcGFyc2VyL2wyY2FwLmMgYi9wYXJzZXIvbDJjYXAuYw0KaW5kZXggNjM0 NWY4ZC4uODhjYTFmMyAxMDA2NDQNCi0tLSBhL3BhcnNlci9sMmNhcC5jDQorKysgYi9wYXJzZXIv bDJjYXAuYw0KQEAgLTE3Miw0NSArMTcyLDQ1IEBAIHN0YXRpYyB2b2lkIGRlbF9oYW5kbGUodWlu dDE2X3QgaGFuZGxlKQ0KIAkJCX0NCiAJfQ0KIH0NCi1zdGF0aWMgdWludDE2X3QgZ2V0X3BzbShp bnQgaW4sIHVpbnQxNl90IGNpZCkNCitzdGF0aWMgdWludDE2X3QgZ2V0X3BzbShpbnQgaW4sIHVp bnQxNl90IGhhbmRsZSwgdWludDE2X3QgY2lkKQ0KIHsNCiAJcmVnaXN0ZXIgY2lkX2luZm8gKnRh YmxlID0gY2lkX3RhYmxlW2luXTsNCiAJcmVnaXN0ZXIgaW50IGk7DQogDQogCWZvciAoaSA9IDA7 IGkgPCBDSURfVEFCTEVfU0laRTsgaSsrKQ0KLQkJaWYgKHRhYmxlW2ldLmNpZCA9PSBjaWQpDQor CQlpZiAodGFibGVbaV0uaGFuZGxlID09IGhhbmRsZSAmJiB0YWJsZVtpXS5jaWQgPT0gY2lkKQ0K IAkJCXJldHVybiB0YWJsZVtpXS5wc207DQogCXJldHVybiBwYXJzZXIuZGVmcHNtOw0KIH0NCiAN Ci1zdGF0aWMgdWludDE2X3QgZ2V0X251bShpbnQgaW4sIHVpbnQxNl90IGNpZCkNCitzdGF0aWMg dWludDE2X3QgZ2V0X251bShpbnQgaW4sIHVpbnQxNl90IGhhbmRsZSwgdWludDE2X3QgY2lkKQ0K IHsNCiAJcmVnaXN0ZXIgY2lkX2luZm8gKnRhYmxlID0gY2lkX3RhYmxlW2luXTsNCiAJcmVnaXN0 ZXIgaW50IGk7DQogDQogCWZvciAoaSA9IDA7IGkgPCBDSURfVEFCTEVfU0laRTsgaSsrKQ0KLQkJ aWYgKHRhYmxlW2ldLmNpZCA9PSBjaWQpDQorCQlpZiAodGFibGVbaV0uaGFuZGxlID09IGhhbmRs ZSAmJiB0YWJsZVtpXS5jaWQgPT0gY2lkKQ0KIAkJCXJldHVybiB0YWJsZVtpXS5udW07DQogCXJl dHVybiAwOw0KIH0NCiANCi1zdGF0aWMgdm9pZCBzZXRfbW9kZShpbnQgaW4sIHVpbnQxNl90IGNp ZCwgdWludDhfdCBtb2RlKQ0KK3N0YXRpYyB2b2lkIHNldF9tb2RlKGludCBpbiwgdWludDE2X3Qg aGFuZGxlLCB1aW50MTZfdCBjaWQsIHVpbnQ4X3QgbW9kZSkNCiB7DQogCXJlZ2lzdGVyIGNpZF9p bmZvICp0YWJsZSA9IGNpZF90YWJsZVtpbl07DQogCXJlZ2lzdGVyIGludCBpOw0KIA0KIAlmb3Ig KGkgPSAwOyBpIDwgQ0lEX1RBQkxFX1NJWkU7IGkrKykNCi0JCWlmICh0YWJsZVtpXS5jaWQgPT0g Y2lkKQ0KKwkJaWYgKHRhYmxlW2ldLmhhbmRsZSA9PSBoYW5kbGUgJiYgdGFibGVbaV0uY2lkID09 IGNpZCkNCiAJCQl0YWJsZVtpXS5tb2RlID0gbW9kZTsNCiB9DQogDQotc3RhdGljIHVpbnQ4X3Qg Z2V0X21vZGUoaW50IGluLCB1aW50MTZfdCBjaWQpDQorc3RhdGljIHVpbnQ4X3QgZ2V0X21vZGUo aW50IGluLCB1aW50MTZfdCBoYW5kbGUsIHVpbnQxNl90IGNpZCkNCiB7DQogCXJlZ2lzdGVyIGNp ZF9pbmZvICp0YWJsZSA9IGNpZF90YWJsZVtpbl07DQogCXJlZ2lzdGVyIGludCBpOw0KIA0KIAlm b3IgKGkgPSAwOyBpIDwgQ0lEX1RBQkxFX1NJWkU7IGkrKykNCi0JCWlmICh0YWJsZVtpXS5jaWQg PT0gY2lkKQ0KKwkJaWYgKHRhYmxlW2ldLmhhbmRsZSA9PSBoYW5kbGUgJiYgdGFibGVbaV0uY2lk ID09IGNpZCkNCiAJCQlyZXR1cm4gdGFibGVbaV0ubW9kZTsNCiAJcmV0dXJuIDA7DQogfQ0KQEAg LTQzMiw3ICs0MzIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY29ubl9yc3AoaW50IGxldmVsLCBz dHJ1Y3QgZnJhbWUgKmZybSkNCiANCiAJc3dpdGNoIChoLT5yZXN1bHQpIHsNCiAJY2FzZSBMMkNB UF9DUl9TVUNDRVNTOg0KLQkJaWYgKChwc20gPSBnZXRfcHNtKCFmcm0tPmluLCBzY2lkKSkpDQor CQlpZiAoKHBzbSA9IGdldF9wc20oIWZybS0+aW4sIGZybS0+aGFuZGxlLCBzY2lkKSkpDQogCQkJ YWRkX2NpZChmcm0tPmluLCBmcm0tPmhhbmRsZSwgZGNpZCwgcHNtKTsNCiAJCWJyZWFrOw0KIA0K QEAgLTQ1OSwxMiArNDU5LDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBjb25uX3JzcChpbnQgbGV2 ZWwsIHN0cnVjdCBmcmFtZSAqZnJtKQ0KIAkJcHJpbnRmKCJcbiIpOw0KIH0NCiANCi1zdGF0aWMg dm9pZCBjb25mX3JmYyh2b2lkICpwdHIsIGludCBsZW4sIGludCBpbiwgdWludDE2X3QgY2lkKQ0K K3N0YXRpYyB2b2lkIGNvbmZfcmZjKHZvaWQgKnB0ciwgaW50IGxlbiwgaW50IGluLCB1aW50MTZf dCBoYW5kbGUsDQorCQkJCQkJCQl1aW50MTZfdCBjaWQpDQogew0KIAl1aW50OF90IG1vZGU7DQog DQogCW1vZGUgPSAqKCh1aW50OF90ICopIHB0cik7DQotCXNldF9tb2RlKGluLCBjaWQsIG1vZGUp Ow0KKwlzZXRfbW9kZShpbiwgaGFuZGxlLCBjaWQsIG1vZGUpOw0KIA0KIAlwcmludGYoIlJGQyAw eCUwMnggKCVzIiwgbW9kZSwgbW9kZTJzdHIobW9kZSkpOw0KIAlpZiAobW9kZSA+PSAweDAxICYm IG1vZGUgPD0gMHgwNCkgew0KQEAgLTUxMCw3ICs1MTEsOCBAQCBzdGF0aWMgdm9pZCBjb25mX2Zj cyh2b2lkICpwdHIsIGludCBsZW4pDQogCQlwcmludGYoIiAweCUyLjJ4ICglcykiLCBmY3MsIGZj czJzdHIoZmNzKSk7DQogfQ0KIA0KLXN0YXRpYyB2b2lkIGNvbmZfb3B0KGludCBsZXZlbCwgdm9p ZCAqcHRyLCBpbnQgbGVuLCBpbnQgaW4sIHVpbnQxNl90IGNpZCkNCitzdGF0aWMgdm9pZCBjb25m X29wdChpbnQgbGV2ZWwsIHZvaWQgKnB0ciwgaW50IGxlbiwgaW50IGluLCB1aW50MTZfdCBoYW5k bGUsDQorCQkJCQkJCQl1aW50MTZfdCBjaWQpDQogew0KIAlpbnQgaW5kZW50ID0gMDsNCiAJcF9p bmRlbnQobGV2ZWwsIDApOw0KQEAgLTUzMCw3ICs1MzIsNyBAQCBzdGF0aWMgdm9pZCBjb25mX29w dChpbnQgbGV2ZWwsIHZvaWQgKnB0ciwgaW50IGxlbiwgaW50IGluLCB1aW50MTZfdCBjaWQpDQog DQogCQlzd2l0Y2ggKGgtPnR5cGUgJiAweDdmKSB7DQogCQljYXNlIEwyQ0FQX0NPTkZfTVRVOg0K LQkJCXNldF9tb2RlKGluLCBjaWQsIDB4MDApOw0KKwkJCXNldF9tb2RlKGluLCBoYW5kbGUsIGNp ZCwgMHgwMCk7DQogCQkJcHJpbnRmKCJNVFUiKTsNCiAJCQlpZiAoaC0+bGVuID4gMCkNCiAJCQkJ cHJpbnRmKCIgJWQiLCBnZXRfdmFsKGgtPnZhbCwgaC0+bGVuKSk7DQpAQCAtNTQ5LDcgKzU1MSw3 IEBAIHN0YXRpYyB2b2lkIGNvbmZfb3B0KGludCBsZXZlbCwgdm9pZCAqcHRyLCBpbnQgbGVuLCBp bnQgaW4sIHVpbnQxNl90IGNpZCkNCiAJCQlicmVhazsNCiANCiAJCWNhc2UgTDJDQVBfQ09ORl9S RkM6DQotCQkJY29uZl9yZmMoaC0+dmFsLCBoLT5sZW4sIGluLCBjaWQpOw0KKwkJCWNvbmZfcmZj KGgtPnZhbCwgaC0+bGVuLCBpbiwgaGFuZGxlLCBjaWQpOw0KIAkJCWJyZWFrOw0KIA0KIAkJY2Fz ZSBMMkNBUF9DT05GX0ZDUzoNCkBAIC02MTksNyArNjIxLDggQEAgc3RhdGljIGlubGluZSB2b2lk IGNvbmZfcmVxKGludCBsZXZlbCwgbDJjYXBfY21kX2hkciAqY21kLCBzdHJ1Y3QgZnJhbWUgKmZy bSkNCiAJCQlkY2lkLCBidG9ocyhoLT5mbGFncyksIGNsZW4pOw0KIA0KIAlpZiAoY2xlbiA+IDAp DQotCQljb25mX29wdChsZXZlbCArIDEsIGgtPmRhdGEsIGNsZW4sIGZybS0+aW4sIGRjaWQpOw0K KwkJY29uZl9vcHQobGV2ZWwgKyAxLCBoLT5kYXRhLCBjbGVuLCBmcm0tPmluLCBmcm0tPmhhbmRs ZSwNCisJCQkJCQkJCQlkY2lkKTsNCiB9DQogDQogc3RhdGljIGlubGluZSB2b2lkIGNvbmZfcnNw KGludCBsZXZlbCwgbDJjYXBfY21kX2hkciAqY21kLCBzdHJ1Y3QgZnJhbWUgKmZybSkNCkBAIC02 NDMsNyArNjQ2LDggQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbmZfcnNwKGludCBsZXZlbCwgbDJj YXBfY21kX2hkciAqY21kLCBzdHJ1Y3QgZnJhbWUgKmZybSkNCiAJCWlmIChyZXN1bHQgPT0gMHgw MDAzKQ0KIAkJCWNvbmZfbGlzdChsZXZlbCArIDEsIGgtPmRhdGEsIGNsZW4pOw0KIAkJZWxzZQ0K LQkJCWNvbmZfb3B0KGxldmVsICsgMSwgaC0+ZGF0YSwgY2xlbiwgZnJtLT5pbiwgc2NpZCk7DQor CQkJY29uZl9vcHQobGV2ZWwgKyAxLCBoLT5kYXRhLCBjbGVuLCBmcm0tPmluLA0KKwkJCQkJCQlm cm0tPmhhbmRsZSwgc2NpZCk7DQogCX0gZWxzZSB7DQogCQlwX2luZGVudChsZXZlbCArIDEsIGZy bSk7DQogCQlwcmludGYoIiVzXG4iLCBjb25mcmVzdWx0MnN0cihyZXN1bHQpKTsNCkBAIC04NjMs MTMgKzg2NywxMyBAQCBzdGF0aWMgdm9pZCBsMmNhcF9wYXJzZShpbnQgbGV2ZWwsIHN0cnVjdCBm cmFtZSAqZnJtKQ0KIAl9IGVsc2Ugew0KIAkJLyogQ29ubmVjdGlvbiBvcmllbnRlZCBjaGFubmVs ICovDQogDQotCQl1aW50OF90IG1vZGUgPSBnZXRfbW9kZSghZnJtLT5pbiwgY2lkKTsNCi0JCXVp bnQxNl90IHBzbSA9IGdldF9wc20oIWZybS0+aW4sIGNpZCk7DQorCQl1aW50OF90IG1vZGUgPSBn ZXRfbW9kZSghZnJtLT5pbiwgZnJtLT5oYW5kbGUsIGNpZCk7DQorCQl1aW50MTZfdCBwc20gPSBn ZXRfcHNtKCFmcm0tPmluLCBmcm0tPmhhbmRsZSwgY2lkKTsNCiAJCXVpbnQxNl90IGN0cmwgPSAw LCBmY3MgPSAwOw0KIAkJdWludDMyX3QgcHJvdG87DQogDQogCQlmcm0tPmNpZCA9IGNpZDsNCi0J CWZybS0+bnVtID0gZ2V0X251bSghZnJtLT5pbiwgY2lkKTsNCisJCWZybS0+bnVtID0gZ2V0X251 bSghZnJtLT5pbiwgZnJtLT5oYW5kbGUsIGNpZCk7DQogDQogCQlpZiAobW9kZSA+IDApIHsNCiAJ CQljdHJsID0gYnRvaHMoYnRfZ2V0X3VuYWxpZ25lZCgodWludDE2X3QgKikgZnJtLT5wdHIpKTsN Ci0tIA0KMS43LjQuMQ0KDQo=