Return-Path: From: "Yao, Costa" To: Gustavo Padovan CC: Marcel Holtmann , "linux-bluetooth@vger.kernel.org" , "Fan, Hong" , "Wu, Frank" , "Chen, Jack" , "Chang, Robert" , "Sumangala, Suraj" , "Wang, Tom" , "Liu, Haijun" , QCA.Mgr.Haijun.Liu-All Subject: RE: [PATCH] Bluetooth: ath3k: Add support for Qualcomm Atheros 3006 Date: Wed, 9 Nov 2011 02:59:38 +0000 Message-ID: <07BBB2AAB1A10A488A2AD166C7CB8B0DEE9D21@nasanexd02b.na.qualcomm.com> References: <07BBB2AAB1A10A488A2AD166C7CB8B0DEE9C89@nasanexd02b.na.qualcomm.com> <20111108145813.GB25584@joana> In-Reply-To: <20111108145813.GB25584@joana> Content-Type: text/plain; charset="gb2312" MIME-Version: 1.0 List-ID: SGkgR3VzdGF2bywNCg0KICAgTm90IHRoZSBleGFjdGx5IGR1cGxpY2F0ZS4gQVIzMDA2LCBhcyBh IGNvbXBvc2l0ZSBkZXZpY2UsIHNob3VsZCB1c2UgZGlmZmVyZW50IGNvbW1hbmQgc2VxdWVuY2Ug YXMgQVIzMDEyLiANCiAgIEl0IHVzZXMgY29tbW9uIGZ1bmN0aW9ucywgYnV0IGl0IGlzIGRpZmZl cmVudCBjYWxsaW5nIHNlcXVlbmNlLg0KDQpDb3N0YSBZYW8NCg0KLS0tLS1PcmlnaW5hbCBNZXNz YWdlLS0tLS0NCkZyb206IEd1c3Rhdm8gRi4gUGFkb3ZhbiBbbWFpbHRvOnBhb0Bwcm9mdXNpb24u bW9iaV0gT24gQmVoYWxmIE9mIEd1c3Rhdm8gUGFkb3Zhbg0KU2VudDogMjAxMcTqMTHUwjjI1SAy Mjo1OA0KVG86IFlhbywgQ29zdGENCkNjOiBNYXJjZWwgSG9sdG1hbm47IGxpbnV4LWJsdWV0b290 aEB2Z2VyLmtlcm5lbC5vcmcNClN1YmplY3Q6IFJlOiBbUEFUQ0hdIEJsdWV0b290aDogYXRoM2s6 IEFkZCBzdXBwb3J0IGZvciBRdWFsY29tbSBBdGhlcm9zIDMwMDYNCg0KSGkgQ29zdGEsDQoNCiog WWFvLCBDb3N0YSA8Y3F5YW9AcWNhLnF1YWxjb21tLmNvbT4gWzIwMTEtMTEtMDggMDc6MzY6MTEg KzAwMDBdOg0KDQo+IEFSMzAwNiBpcyBhIGNvbXBvc2l0ZSBkZXZpY2UsIGFuZCBpbnRlcmZhY2Ug MCBpcyB1c2VkIGZvciBoaWQgZnVuY3Rpb24sIG5vdCBmb3IgYmx1ZXRvb3RoIGZ1bmN0aW9uLg0K PiBXZSBzaG91bGQgbWFrZSB0aGUgZm9sbG93aW5nIGNoYW5nZXM6DQo+IDEgQmxhY2tsaXN0IEFS MzAwNiBQSUQvVklEIGluIGF0aDNrX3RhYmxlDQo+IDIgQWRkIGF0aDNrX2NvbXBvc2l0ZV9kZXZp Y2VfdGFibGUgaW4gYXRoM2suYyB0byByZWdpc3RlciBjb21wb3NpdGUgZGV2aWNlLg0KPiAzIExv YWQgcGF0Y2ggYW5kIHN5c2NvbmZpZyBmaWxlcyBmb3IgQVIzMDA2DQo+IA0KPiBTaWduZWQtb2Zm LWJ5OiBDb3N0YSBZYW8gPGNxeWFvQHFjYS5xdWFsY29tbS5jb20+DQo+IC0tLQ0KPiAgZHJpdmVy cy9ibHVldG9vdGgvYXRoM2suYyB8ICAgNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0NCj4gIDEgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2JsdWV0b290aC9hdGgzay5j IGIvZHJpdmVycy9ibHVldG9vdGgvYXRoM2suYyANCj4gaW5kZXggMTYyMjc3Mi4uYTlkNjY3OCAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ibHVldG9vdGgvYXRoM2suYw0KPiArKysgYi9kcml2ZXJz L2JsdWV0b290aC9hdGgzay5jDQo+IEBAIC00MCw2ICs0MCw3IEBADQo+ICANCj4gICNkZWZpbmUg QVRIM0tfTU9ERV9NQVNLCQkJCTB4M0YNCj4gICNkZWZpbmUgQVRIM0tfTk9STUFMX01PREUJCQkw eDBFDQo+ICsjZGVmaW5lIEFUSDNLX1BSRUJPT1RfTU9ERQkJCTB4MEQNCj4gIA0KPiAgI2RlZmlu ZSBBVEgzS19QQVRDSF9VUERBVEUJCQkweDgwDQo+ICAjZGVmaW5lIEFUSDNLX1NZU0NGR19VUERB VEUJCQkweDQwDQo+IEBAIC03MSw2ICs3Miw3IEBAIHN0YXRpYyBzdHJ1Y3QgdXNiX2RldmljZV9p ZCBhdGgza190YWJsZVtdID0gew0KPiAgDQo+ICAJLyogQXRoZXJvcyBBUjMwMTIgd2l0aCBzZmxh c2ggZmlybXdhcmUqLw0KPiAgCXsgVVNCX0RFVklDRSgweDBDRjMsIDB4MzAwNCkgfSwNCj4gKwl7 IFVTQl9ERVZJQ0UoMHgwQ0YzLCAweDMwMDYpIH0sDQo+ICANCj4gIAkvKiBBdGhlcm9zIEFSNUJC VTEyIHdpdGggc2ZsYXNoIGZpcm13YXJlICovDQo+ICAJeyBVU0JfREVWSUNFKDB4MDQ4OSwgMHhF MDJDKSB9LA0KPiBAQCAtODEsMTYgKzgzLDI2IEBAIHN0YXRpYyBzdHJ1Y3QgdXNiX2RldmljZV9p ZCBhdGgza190YWJsZVtdID0geyAgDQo+IE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBhdGgza190 YWJsZSk7DQo+ICANCj4gICNkZWZpbmUgQlRVU0JfQVRIMzAxMgkJMHg4MA0KPiArI2RlZmluZSBC VFVTQl9BVEgzMDA2CQkweDAxMDANCj4gIC8qIFRoaXMgdGFibGUgaXMgdG8gbG9hZCBwYXRjaCBh bmQgc3lzY29uZmlnIGZpbGVzDQo+ICAgKiBmb3IgQVIzMDEyICovDQo+ICBzdGF0aWMgc3RydWN0 IHVzYl9kZXZpY2VfaWQgYXRoM2tfYmxpc3RfdGJsW10gPSB7DQo+ICANCj4gIAkvKiBBdGhlcm9z IEFSMzAxMiB3aXRoIHNmbGFzaCBmaXJtd2FyZSovDQo+ICAJeyBVU0JfREVWSUNFKDB4MGNmMywg MHgzMDA0KSwgLmRyaXZlcl9pbmZvID0gQlRVU0JfQVRIMzAxMiB9LA0KPiArCXsgVVNCX0RFVklD RSgweDBjZjMsIDB4MzAwNiksIC5kcml2ZXJfaW5mbyA9IEJUVVNCX0FUSDMwMDYgfSwNCj4gIA0K PiAgCXsgfQkvKiBUZXJtaW5hdGluZyBlbnRyeSAqLw0KPiAgfTsNCj4gIA0KPiArLyogQXRoZXJv cyBjb21wb3NpdGUgZGV2aWNlcyB0YWJsZQ0KPiArICovDQo+ICtzdGF0aWMgc3RydWN0IHVzYl9k ZXZpY2VfaWQgYXRoM2tfY29tcG9zaXRlX2RldmljZV90YWJsZVtdID0gew0KPiArDQo+ICsJeyBV U0JfREVWSUNFKDB4MGNmMywgMHgzMDA2KSB9LA0KPiArDQo+ICsJeyB9CS8qIFRlcm1pbmF0aW5n IGVudHJ5ICovDQo+ICt9Ow0KPiAgI2RlZmluZSBVU0JfUkVRX0RGVV9ETkxPQUQJMQ0KPiAgI2Rl ZmluZSBCVUxLX1NJWkUJCTQwOTYNCj4gICNkZWZpbmUgRldfSERSX1NJWkUJCTIwDQo+IEBAIC0z NjEsMTEgKzM3MywxOSBAQCBzdGF0aWMgaW50IGF0aDNrX3Byb2JlKHN0cnVjdCB1c2JfaW50ZXJm YWNlICppbnRmLA0KPiAgCWNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZmlybXdhcmU7DQo+ICAJc3Ry dWN0IHVzYl9kZXZpY2UgKnVkZXYgPSBpbnRlcmZhY2VfdG9fdXNiZGV2KGludGYpOw0KPiAgCWlu dCByZXQ7DQo+ICsJdW5zaWduZWQgY2hhciBmd19zdGF0ZTsNCj4gKwljb25zdCBzdHJ1Y3QgdXNi X2RldmljZV9pZCAqbWF0Y2hfY29tcF9kZXY7DQo+ICANCj4gIAlCVF9EQkcoImludGYgJXAgaWQg JXAiLCBpbnRmLCBpZCk7DQo+IC0NCj4gLQlpZiAoaW50Zi0+Y3VyX2FsdHNldHRpbmctPmRlc2Mu YkludGVyZmFjZU51bWJlciAhPSAwKQ0KPiAtCQlyZXR1cm4gLUVOT0RFVjsNCj4gKyAgICAvKiBG b3IgY29tcG9zaXRlIGRldmljZSAqLw0KPiArCW1hdGNoX2NvbXBfZGV2ID0gdXNiX21hdGNoX2lk KGludGYsIGF0aDNrX2NvbXBvc2l0ZV9kZXZpY2VfdGFibGUpOw0KPiArCWlmIChtYXRjaF9jb21w X2Rldikgew0KPiArCQlpZiAoaW50Zi0+Y3VyX2FsdHNldHRpbmctPmRlc2MuYkludGVyZmFjZU51 bWJlciAhPSAyKQ0KPiArCQkJcmV0dXJuIC1FTk9ERVY7DQo+ICsJfSBlbHNlIHsNCj4gKwkJaWYg KGludGYtPmN1cl9hbHRzZXR0aW5nLT5kZXNjLmJJbnRlcmZhY2VOdW1iZXIgIT0gMCkNCj4gKwkJ CXJldHVybiAtRU5PREVWOw0KPiArCX0NCj4gIA0KPiAgCS8qIG1hdGNoIGRldmljZSBJRCBpbiBh dGgzayBibGFja2xpc3QgdGFibGUgKi8NCj4gIAlpZiAoIWlkLT5kcml2ZXJfaW5mbykgew0KPiBA QCAtMzk5LDYgKzQxOSw0NCBAQCBzdGF0aWMgaW50IGF0aDNrX3Byb2JlKHN0cnVjdCB1c2JfaW50 ZXJmYWNlICppbnRmLA0KPiAgCQl9DQo+ICAJCWF0aDNrX3N3aXRjaF9waWQodWRldik7DQo+ICAJ CXJldHVybiAwOw0KPiArCX0gZWxzZSBpZiAoaWQtPmRyaXZlcl9pbmZvICYgQlRVU0JfQVRIMzAw Nikgew0KPiArDQo+ICsJCWlmIChsZTE2X3RvX2NwdSh1ZGV2LT5kZXNjcmlwdG9yLmJjZERldmlj ZSkgPiAweDAwMDEpIHsNCj4gKwkJCUJUX0VSUigiYXRoM2tfcHJvYmU6IHVkZXYtPmRlc2NyaXB0 b3IuYmNkRGV2aWNlIik7DQo+ICsJCQlyZXR1cm4gLUVOT0RFVjsNCj4gKwkJfQ0KPiArCQlyZXQg PSBhdGgza19nZXRfc3RhdGUodWRldiwgJmZ3X3N0YXRlKTsNCj4gKwkJaWYgKHJldCA8IDApIHsN Cj4gKwkJCUJUX0VSUigiYXRoM2tfcHJvYmU6IGF0aDNrX2dldF9zdGF0ZSBlcnIiKTsNCj4gKwkJ CXJldHVybiByZXQ7DQo+ICsJCX0NCj4gKwkJaWYgKChmd19zdGF0ZSAmIEFUSDNLX01PREVfTUFT SykgPT0gQVRIM0tfUFJFQk9PVF9NT0RFKSB7DQo+ICsJCQlCVF9FUlIoImF0aDNrX3Byb2JlOiBm aXJtd2FyZSBhcmUgaW4gcHJlYm9vdCBtb2RlIG5vdyIpOw0KPiArCQkJQlRfRVJSKCJhdGgza19w cm9iZTogdHJ5IHRvIHN3aXRjaCB0byBOb3JtYWwgTW9kZSIpOw0KPiArCQkJcmV0ID0gYXRoM2tf c2V0X25vcm1hbF9tb2RlKHVkZXYpOw0KPiArCQkJaWYgKHJldCA8IDApIHsNCj4gKwkJCQlCVF9F UlIoImF0aDNrX3Byb2JlOiBzZXQgbm9ybWFsIG1vZGUgZmFpbGVkIik7DQo+ICsJCQkJcmV0dXJu IHJldDsNCj4gKwkJCX0NCj4gKwkJfQ0KPiArCQkvKk5vdGUgd2Ugc2hvdWxkIHdhaXQgZm9yIGEg d2hpbGUqLw0KPiArCQltZGVsYXkoMTAwKTsNCj4gKwkJcmV0ID0gYXRoM2tfbG9hZF9wYXRjaCh1 ZGV2KTsNCj4gKwkJaWYgKHJldCA8IDApIHsNCj4gKwkJCUJUX0VSUigiYXRoM2tfcHJvYmU6IExv YWQgcGF0Y2ggZmlsZSBmYWlsZWQiKTsNCj4gKwkJCXJldHVybiByZXQ7DQo+ICsJCX0NCj4gKwkJ cmV0ID0gYXRoM2tfbG9hZF9zeXNjZmcodWRldik7DQo+ICsJCWlmIChyZXQgPCAwKSB7DQo+ICsJ CQlCVF9FUlIoImF0aDNrX3Byb2JlOiBMb2FkIHN5c2NvbmZpZyBmaWxlIGZhaWxlZCIpOw0KPiAr CQkJcmV0dXJuIHJldDsNCj4gKwkJfQ0KPiArCQlyZXQgPSBhdGgza19zd2l0Y2hfcGlkKHVkZXYp Ow0KPiArCQlpZiAocmV0IDwgMCkgew0KPiArCQkJQlRfRVJSKCJhdGgza19wcm9iZTogc3dpdGNo IHBpZCBmYWlsZWQiKTsNCj4gKwkJCXJldHVybiByZXQ7DQo+ICsJCX0NCj4gKwkJcmV0dXJuIDA7 DQoNCllvdSBhcmUgZHVwbGljYXRpbmcgc29tZSBjb2RlIGhlcmUsIGNhcmUgdG8gbWVyZ2UgdGhl IGNvbW1vbiBwYXJ0cyBiZXR3ZWVuIHRoaXMgYW5kIHRoZSBoYW5kbGluZyBvZiBCVFVTQl9BVEgz MDEyPw0KDQoJR3VzdGF2bw0K