From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Krzysztof Helt" Subject: sparc dbri: SMP fixes Date: Fri, 01 Sep 2006 09:11:05 +0200 Message-ID: <44f7dd09db938@wp.pl> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="part44f7dd09de06f" Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@lists.sourceforge.net Errors-To: alsa-devel-bounces@lists.sourceforge.net To: alsa-devel List-Id: alsa-devel@alsa-project.org This is a multi-part message in MIME format. --part44f7dd09de06f Content-Type: text/plain; charset=iso-8859-2 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable From: Krzysztof Helt (krzysztof.h1@wp.pl) The dbri driver hangs when used in kernel compiled with SMP support due to inproper locking. The patch fixes it. Signed-off-by: Krzysztof Helt (krzysztof.h1@wp.pl) ---=20 --part44f7dd09de06f Content-Type: text/x-patch; name="dbri-patch15.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dbri-patch15.diff" LS0tIGFsc2EtZHJpdmVyLTEuMC4xMnJjMi9hbHNhLWtlcm5lbC9zcGFyYy9kYnJpLmMJMjAwNi0w OC0yNSAyMzo1Nzo0OS4wMDAwMDAwMDAgKzAyMDAKKysrIGxpbnV4LTIuNi4xN2Evc291bmQvc3Bh cmMvZGJyaS5jCTIwMDYtMDgtMzEgMjI6NDQ6MDEuMDAwMDAwMDAwICswMjAwCkBAIC02MzUsMTAg KzYzNSwxNiBAQCB0byBzZW5kIHRoZW0gdG8gdGhlIERCUkkuCiBzdGF0aWMgdm9pZCBkYnJpX2Nt ZHdhaXQoc3RydWN0IHNuZF9kYnJpICpkYnJpKQogewogCWludCBtYXhsb29wcyA9IE1BWExPT1BT OworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAkvKiBEZWxheSBpZiBwcmV2aW91cyBjb21tYW5k cyBhcmUgc3RpbGwgYmVpbmcgcHJvY2Vzc2VkICovCi0Jd2hpbGUgKCgtLW1heGxvb3BzKSA+IDAg JiYgKHNidXNfcmVhZGwoZGJyaS0+cmVncyArIFJFRzApICYgRF9QKSkKKwlzcGluX2xvY2tfaXJx c2F2ZSgmZGJyaS0+bG9jaywgZmxhZ3MpOworCXdoaWxlICgoLS1tYXhsb29wcykgPiAwICYmIChz YnVzX3JlYWRsKGRicmktPnJlZ3MgKyBSRUcwKSAmIERfUCkpIHsKKwkJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCQltc2xlZXBfaW50ZXJydXB0aWJsZSgxKTsK KwkJc3Bpbl9sb2NrX2lycXNhdmUoJmRicmktPmxvY2ssIGZsYWdzKTsKKwl9CisJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCiAJaWYgKG1heGxvb3BzID09IDAp IHsKIAkJcHJpbnRrKEtFUk5fRVJSICJEQlJJOiBDaGlwIG5ldmVyIGNvbXBsZXRlZCBjb21tYW5k IGJ1ZmZlclxuIik7CkBAIC02NzIsMTAgKzY3OCwxMCBAQCBzdGF0aWMgczMyICpkYnJpX2NtZGxv Y2soc3RydWN0IHNuZF9kYnJpCiAgKiBUaGUgSlVNUCBjbWQgcG9pbnRzIHRvIHRoZSBuZXcgY21k IHN0cmluZy4KICAqIEl0IGFsc28gcmVsZWFzZXMgdGhlIGNtZGxvY2sgc3BpbmxvY2suCiAgKi8K LXN0YXRpYyB2b2lkIGRicmlfY21kc2VuZChzdHJ1Y3Qgc25kX2RicmkgKiBkYnJpLCBzMzIgKiBj bWQsaW50IGxlbikKK3N0YXRpYyB2b2lkIGRicmlfY21kc2VuZChzdHJ1Y3Qgc25kX2RicmkgKiBk YnJpLCBzMzIgKiBjbWQsaW50IGxlbixpbnQgbG9jaykKIHsKIAlzMzIgdG1wLCBhZGRyOwotCXVu c2lnbmVkIGxvbmcgZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBmbGFncyA9IDA7CiAJc3RhdGljIGlu dCB3YWl0X2lkID0gMDsKIAogCXdhaXRfaWQrKzsKQEAgLTcwNiwxMiArNzEyLDE0IEBAIHN0YXRp YyB2b2lkIGRicmlfY21kc2VuZChzdHJ1Y3Qgc25kX2RicmkKIAl9CiAjZW5kaWYKIAotCXNwaW5f bG9ja19pcnFzYXZlKCZkYnJpLT5sb2NrLCBmbGFncyk7CisJaWYgKCFsb2NrKQorCQlzcGluX2xv Y2tfaXJxc2F2ZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCS8qIFJlcmVhZCB0aGUgbGFzdCBjb21t YW5kICovCiAJdG1wID0gc2J1c19yZWFkbChkYnJpLT5yZWdzICsgUkVHMCk7CiAJdG1wIHw9IERf UDsKIAlzYnVzX3dyaXRlbCh0bXAsIGRicmktPnJlZ3MgKyBSRUcwKTsKLQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkYnJpLT5sb2NrLCBmbGFncyk7CisJaWYgKCFsb2NrKQorCQlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZkYnJpLT5sb2NrLCBmbGFncyk7CiAKIAlkYnJpLT5jbWRwdHIgPSBjbWQ7 CiAJc3Bpbl91bmxvY2soJmRicmktPmNtZGxvY2spOwpAQCAtNzc3LDkgKzc4NSw5IEBAIHN0YXRp YyB2b2lkIGRicmlfaW5pdGlhbGl6ZShzdHJ1Y3Qgc25kX2QKIAlkbWFfYWRkciA9IGRicmktPmRt YV9kdm1hICsgZGJyaV9kbWFfb2ZmKGNtZCwgMCk7CiAJc2J1c193cml0ZWwoZG1hX2FkZHIsIGRi cmktPnJlZ3MgKyBSRUc4KTsKIAlzcGluX3VubG9jaygmZGJyaS0+Y21kbG9jayk7Ci0JZGJyaV9j bWR3YWl0KGRicmkpOwogCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGJyaS0+bG9jaywgZmxh Z3MpOworCWRicmlfY21kd2FpdChkYnJpKTsKIH0KIAogLyoKQEAgLTgyNyw3ICs4MzUsNyBAQCBz dGF0aWMgdm9pZCByZXNldF9waXBlKHN0cnVjdCBzbmRfZGJyaSAqCiAJKihjbWQrKykgPSBEQlJJ X0NNRChEX1NEUCwgMCwgc2RwIHwgRF9TRFBfQyB8IERfU0RQX1ApOwogCSooY21kKyspID0gMDsK IAkqKGNtZCsrKSA9IERCUklfQ01EKERfUEFVU0UsIDAsIDApOwotCWRicmlfY21kc2VuZChkYnJp LCBjbWQsIDMpOworCWRicmlfY21kc2VuZChkYnJpLCBjbWQsIDMsIDEpOwogCiAJZGVzYyA9IGRi cmktPnBpcGVzW3BpcGVdLmZpcnN0X2Rlc2M7CiAJaWYgKCBkZXNjID49IDApCkBAIC04NDAsNiAr ODQ4LDkgQEAgc3RhdGljIHZvaWQgcmVzZXRfcGlwZShzdHJ1Y3Qgc25kX2RicmkgKgogCWRicmkt PnBpcGVzW3BpcGVdLmZpcnN0X2Rlc2MgPSAtMTsKIH0KIAorLyoKKyAqIExvY2sgbXVzdCBiZSBo ZWxkIGJlZm9yZSBjYWxsaW5nIHRoaXMuCisgKi8KIHN0YXRpYyB2b2lkIHNldHVwX3BpcGUoc3Ry dWN0IHNuZF9kYnJpICogZGJyaSwgaW50IHBpcGUsIGludCBzZHApCiB7CiAJaWYgKHBpcGUgPCAw IHx8IHBpcGUgPiBEQlJJX01BWF9QSVBFKSB7CkBAIC04NjYsNiArODc3LDkgQEAgc3RhdGljIHZv aWQgc2V0dXBfcGlwZShzdHJ1Y3Qgc25kX2RicmkgKgogCXJlc2V0X3BpcGUoZGJyaSwgcGlwZSk7 CiB9CiAKKy8qCisgKiBMb2NrIG11c3QgYmUgaGVsZCBiZWZvcmUgY2FsbGluZyB0aGlzLgorICov CiBzdGF0aWMgdm9pZCBsaW5rX3RpbWVfc2xvdChzdHJ1Y3Qgc25kX2RicmkgKiBkYnJpLCBpbnQg cGlwZSwKIAkJCSAgIGludCBwcmV2cGlwZSwgaW50IG5leHRwaXBlLAogCQkJICAgaW50IGxlbmd0 aCwgaW50IGN5Y2xlKQpAQCAtOTE3LDkgKzkzMSwxMCBAQCBzdGF0aWMgdm9pZCBsaW5rX3RpbWVf c2xvdChzdHJ1Y3Qgc25kX2RiCiAJfQogCSooY21kKyspID0gREJSSV9DTUQoRF9QQVVTRSwgMCwg MCk7CiAKLQlkYnJpX2NtZHNlbmQoZGJyaSwgY21kLCA0KTsKKwlkYnJpX2NtZHNlbmQoZGJyaSwg Y21kLCA0LCAxKTsKIH0KIAorI2lmIDAKIHN0YXRpYyB2b2lkIHVubGlua190aW1lX3Nsb3Qoc3Ry dWN0IHNuZF9kYnJpICogZGJyaSwgaW50IHBpcGUsCiAJCQkgICAgIGVudW0gaW5fb3Jfb3V0IGRp cmVjdGlvbiwgaW50IHByZXZwaXBlLAogCQkJICAgICBpbnQgbmV4dHBpcGUpCkBAIC05NTIsNiAr OTY3LDcgQEAgc3RhdGljIHZvaWQgdW5saW5rX3RpbWVfc2xvdChzdHJ1Y3Qgc25kXwogCiAJZGJy aV9jbWRzZW5kKGRicmksIGNtZCwgNCk7CiB9CisjZW5kaWYKIAogLyogeG1pdF9maXhlZCgpIC8g cmVjdl9maXhlZCgpCiAgKgpAQCAtOTY1LDcgKzk4MSw5IEBAIHN0YXRpYyB2b2lkIHVubGlua190 aW1lX3Nsb3Qoc3RydWN0IHNuZF8KICAqIHRoZSBhY3R1YWwgdGltZSBzbG90IGlzLiAgVGhlIGlu dGVycnVwdCBoYW5kbGVyIHRha2VzIGNhcmUgb2YgYml0CiAgKiBvcmRlcmluZyBhbmQgYWxpZ25t ZW50LiAgQW4gOC1iaXQgdGltZSBzbG90IHdpbGwgYWx3YXlzIGVuZCB1cAogICogaW4gdGhlIGxv dy1vcmRlciA4IGJpdHMsIGZpbGxlZCBlaXRoZXIgTVNCLWZpcnN0IG9yIExTQi1maXJzdCwKLSAq IGRlcGVuZGluZyBvbiB0aGUgc2V0dGluZ3MgcGFzc2VkIHRvIHNldHVwX3BpcGUoKQorICogZGVw ZW5kaW5nIG9uIHRoZSBzZXR0aW5ncyBwYXNzZWQgdG8gc2V0dXBfcGlwZSgpLgorICoKKyAqIExv Y2sgbXVzdCBub3QgYmUgaGVsZCBiZWZvcmUgY2FsbGluZyBpdC4KICAqLwogc3RhdGljIHZvaWQg eG1pdF9maXhlZChzdHJ1Y3Qgc25kX2RicmkgKiBkYnJpLCBpbnQgcGlwZSwgdW5zaWduZWQgaW50 IGRhdGEpCiB7CkBAIC0xMDAyLDggKzEwMjAsOSBAQCBzdGF0aWMgdm9pZCB4bWl0X2ZpeGVkKHN0 cnVjdCBzbmRfZGJyaSAqCiAJKihjbWQrKykgPSBkYXRhOwogCSooY21kKyspID0gREJSSV9DTUQo RF9QQVVTRSwgMCwgMCk7CiAKLQlkYnJpX2NtZHNlbmQoZGJyaSwgY21kLCAzKTsKKwlkYnJpX2Nt ZHNlbmQoZGJyaSwgY21kLCAzLCAwKTsKIAlkYnJpX2NtZHdhaXQoZGJyaSk7CisKIH0KIAogc3Rh dGljIHZvaWQgcmVjdl9maXhlZChzdHJ1Y3Qgc25kX2RicmkgKiBkYnJpLCBpbnQgcGlwZSwgdm9s YXRpbGUgX191MzIgKiBwdHIpCkBAIC0xMDM5LDYgKzEwNTgsOCBAQCBzdGF0aWMgdm9pZCByZWN2 X2ZpeGVkKHN0cnVjdCBzbmRfZGJyaSAqCiAgKiBiZSBzcHJlYWQgYWNyb3NzIG11bHRpcGxlIGRl c2NyaXB0b3JzLgogICoKICAqIEFsbCBkZXNjcmlwdG9ycyBjcmVhdGUgYSByaW5nIGJ1ZmZlci4K KyAqCisgKiBMb2NrIG11c3QgYmUgaGVsZCBiZWZvcmUgY2FsbGluZyB0aGlzLgogICovCiBzdGF0 aWMgaW50IHNldHVwX2Rlc2NzKHN0cnVjdCBzbmRfZGJyaSAqIGRicmksIGludCBzdHJlYW1ubywg dW5zaWduZWQgaW50IHBlcmlvZCkKIHsKQEAgLTExODYsNiArMTIwNyw5IEBAIG11bHRpcGxleGVk IHNlcmlhbCBpbnRlcmZhY2Ugd2hpY2ggdGhlIEQKIAogZW51bSBtYXN0ZXJfb3Jfc2xhdmUgeyBD SEltYXN0ZXIsIENISXNsYXZlIH07CiAKKy8qCisgKiBMb2NrIG11c3Qgbm90IGJlIGhlbGQgYmVm b3JlIGNhbGxpbmcgaXQuCisgKi8KIHN0YXRpYyB2b2lkIHJlc2V0X2NoaShzdHJ1Y3Qgc25kX2Ri cmkgKiBkYnJpLCBlbnVtIG1hc3Rlcl9vcl9zbGF2ZSBtYXN0ZXJfb3Jfc2xhdmUsCiAJCSAgICAg IGludCBiaXRzX3Blcl9mcmFtZSkKIHsKQEAgLTEyMDEsNyArMTIyNSw3IEBAIHN0YXRpYyB2b2lk IHJlc2V0X2NoaShzdHJ1Y3Qgc25kX2RicmkgKiAKIAkqKGNtZCsrKSA9IERfVFNfQU5DSE9SIHwg RF9UU19ORVhUKDE2KTsKIAkqKGNtZCsrKSA9IERfVFNfQU5DSE9SIHwgRF9UU19ORVhUKDE2KTsK IAkqKGNtZCsrKSA9IERCUklfQ01EKERfUEFVU0UsIDAsIDApOwotCWRicmlfY21kc2VuZChkYnJp LCBjbWQsIDQpOworCWRicmlfY21kc2VuZChkYnJpLCBjbWQsIDQsIDEpOwogCiAJZGJyaS0+cGlw ZXNbMTZdLnNkcCA9IDE7CiAJZGJyaS0+cGlwZXNbMTZdLm5leHRwaXBlID0gMTY7CkBAIC0xMjQ3 LDcgKzEyNzEsNyBAQCBzdGF0aWMgdm9pZCByZXNldF9jaGkoc3RydWN0IHNuZF9kYnJpICogCiAJ KihjbWQrKykgPSBEQlJJX0NNRChEX0NETSwgMCwgRF9DRE1fWENFIHwgRF9DRE1fWEVOIHwgRF9D RE1fUkVOKTsKIAkqKGNtZCsrKSA9IERCUklfQ01EKERfUEFVU0UsIDAsIDApOwogCi0JZGJyaV9j bWRzZW5kKGRicmksIGNtZCwgNCk7CisJZGJyaV9jbWRzZW5kKGRicmksIGNtZCwgNCwgMSk7CiB9 CiAKIC8qCkBAIC0xMjU4LDkgKzEyODIsMTQgQEAgc3RhdGljIHZvaWQgcmVzZXRfY2hpKHN0cnVj dCBzbmRfZGJyaSAqIAogSW4gdGhlIHN0YW5kYXJkIFNQQVJDIGF1ZGlvIGNvbmZpZ3VyYXRpb24s IHRoZSBDUzQyMTUgY29kZWMgaXMgYXR0YWNoZWQKIHRvIHRoZSBEQlJJIHZpYSB0aGUgQ0hJIGlu dGVyZmFjZSBhbmQgZmV3IG9mIHRoZSBEQlJJJ3MgUElPIHBpbnMuCiAKKyAqIExvY2sgbXVzdCBu b3QgYmUgaGVsZCBiZWZvcmUgY2FsbGluZyBpdC4KKwogKi8KIHN0YXRpYyB2b2lkIGNzNDIxNV9z ZXR1cF9waXBlcyhzdHJ1Y3Qgc25kX2RicmkgKiBkYnJpKQogeworCXVuc2lnbmVkIGxvbmcgZmxh Z3M7CisKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCS8qCiAJICog RGF0YSBtb2RlOgogCSAqIFBpcGUgIDQ6IFNlbmQgdGltZXNsb3RzIDEtNCAoYXVkaW8gZGF0YSkK QEAgLTEyODQsNiArMTMxMyw3IEBAIHN0YXRpYyB2b2lkIGNzNDIxNV9zZXR1cF9waXBlcyhzdHJ1 Y3Qgc24KIAlzZXR1cF9waXBlKGRicmksIDE3LCBEX1NEUF9GSVhFRCB8IERfU0RQX1RPX1NFUiB8 IERfU0RQX01TQik7CiAJc2V0dXBfcGlwZShkYnJpLCAxOCwgRF9TRFBfRklYRUQgfCBEX1NEUF9G Uk9NX1NFUiB8IERfU0RQX01TQik7CiAJc2V0dXBfcGlwZShkYnJpLCAxOSwgRF9TRFBfRklYRUQg fCBEX1NEUF9GUk9NX1NFUiB8IERfU0RQX01TQik7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm ZGJyaS0+bG9jaywgZmxhZ3MpOwogCiAJZGJyaV9jbWR3YWl0KGRicmkpOwogfQpAQCAtMTM1OCw2 ICsxMzg4LDcgQEAgc3RhdGljIHZvaWQgY3M0MjE1X29wZW4oc3RydWN0IHNuZF9kYnJpIAogewog CWludCBkYXRhX3dpZHRoOwogCXUzMiB0bXA7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKIAogCWRw cmludGsoRF9NTSwgImNzNDIxNV9vcGVuOiAlZCBjaGFubmVscywgJWQgYml0c1xuIiwKIAkJZGJy aS0+bW0uY2hhbm5lbHMsIGRicmktPm1tLnByZWNpc2lvbik7CkBAIC0xMzgyLDYgKzE0MTMsNyBA QCBzdGF0aWMgdm9pZCBjczQyMTVfb3BlbihzdHJ1Y3Qgc25kX2RicmkgCiAJICogYml0cy4gIFRo ZSBDUzQyMTUsIGl0IHNlZW1zLCBvYnNlcnZlcyBUU0lOICh0aGUgZGVsYXllZCBzaWduYWwpCiAJ ICogZXZlbiBpZiBpdCdzIHRoZSBDSEkgbWFzdGVyLiAgRG9uJ3QgYXNrIG1lLi4uCiAJICovCisJ c3Bpbl9sb2NrX2lycXNhdmUoJmRicmktPmxvY2ssIGZsYWdzKTsKIAl0bXAgPSBzYnVzX3JlYWRs KGRicmktPnJlZ3MgKyBSRUcwKTsKIAl0bXAgJj0gfihEX0MpOwkJLyogRGlzYWJsZSBDSEkgKi8K IAlzYnVzX3dyaXRlbCh0bXAsIGRicmktPnJlZ3MgKyBSRUcwKTsKQEAgLTE0MDksNiArMTQ0MSw3 IEBAIHN0YXRpYyB2b2lkIGNzNDIxNV9vcGVuKHN0cnVjdCBzbmRfZGJyaSAKIAl0bXAgPSBzYnVz X3JlYWRsKGRicmktPnJlZ3MgKyBSRUcwKTsKIAl0bXAgfD0gRF9DOwkJLyogRW5hYmxlIENISSAq LwogCXNidXNfd3JpdGVsKHRtcCwgZGJyaS0+cmVncyArIFJFRzApOworCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmRicmktPmxvY2ssIGZsYWdzKTsKIAogCWNzNDIxNV9zZXRkYXRhKGRicmksIDAp OwogfQpAQCAtMTQyMCw2ICsxNDUzLDcgQEAgc3RhdGljIGludCBjczQyMTVfc2V0Y3RybChzdHJ1 Y3Qgc25kX2RicgogewogCWludCBpLCB2YWw7CiAJdTMyIHRtcDsKKwl1bnNpZ25lZCBsb25nIGZs YWdzOwogCiAJLyogRklYTUUgLSBsZXQgdGhlIENQVSBkbyBzb21ldGhpbmcgdXNlZnVsIGR1cmlu ZyB0aGVzZSBkZWxheXMgKi8KIApAQCAtMTQ1Niw2ICsxNDkwLDcgQEAgc3RhdGljIGludCBjczQy MTVfc2V0Y3RybChzdHJ1Y3Qgc25kX2RicgogCSAqIGRvbmUgaW4gaGFyZHdhcmUgYnkgYSBUSSAy NDggdGhhdCBkZWxheXMgdGhlIERCUkktPjQyMTUKIAkgKiBmcmFtZSBzeW5jIHNpZ25hbCBieSBl aWdodCBjbG9jayBjeWNsZXMuICBBbnlib2R5IGtub3cgd2h5PwogCSAqLworCXNwaW5fbG9ja19p cnFzYXZlKCZkYnJpLT5sb2NrLCBmbGFncyk7CiAJdG1wID0gc2J1c19yZWFkbChkYnJpLT5yZWdz ICsgUkVHMCk7CiAJdG1wICY9IH5EX0M7CQkvKiBEaXNhYmxlIENISSAqLwogCXNidXNfd3JpdGVs KHRtcCwgZGJyaS0+cmVncyArIFJFRzApOwpAQCAtMTQ3MiwxNCArMTUwNywxNyBAQCBzdGF0aWMg aW50IGNzNDIxNV9zZXRjdHJsKHN0cnVjdCBzbmRfZGJyCiAJbGlua190aW1lX3Nsb3QoZGJyaSwg MTcsIDE2LCAxNiwgMzIsIGRicmktPm1tLm9mZnNldCk7CiAJbGlua190aW1lX3Nsb3QoZGJyaSwg MTgsIDE2LCAxNiwgOCwgZGJyaS0+bW0ub2Zmc2V0KTsKIAlsaW5rX3RpbWVfc2xvdChkYnJpLCAx OSwgMTgsIDE2LCA4LCBkYnJpLT5tbS5vZmZzZXQgKyA0OCk7CisJc3Bpbl91bmxvY2tfaXJxcmVz dG9yZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCiAJLyogV2FpdCBmb3IgdGhlIGNoaXAgdG8gZWNo byBiYWNrIENMQiAoQ29udHJvbCBMYXRjaCBCaXQpIGFzIHplcm8gKi8KIAlkYnJpLT5tbS5jdHJs WzBdICY9IH5DUzQyMTVfQ0xCOwogCXhtaXRfZml4ZWQoZGJyaSwgMTcsICooaW50ICopZGJyaS0+ bW0uY3RybCk7CiAKKwlzcGluX2xvY2tfaXJxc2F2ZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCXRt cCA9IHNidXNfcmVhZGwoZGJyaS0+cmVncyArIFJFRzApOwogCXRtcCB8PSBEX0M7CQkvKiBFbmFi bGUgQ0hJICovCiAJc2J1c193cml0ZWwodG1wLCBkYnJpLT5yZWdzICsgUkVHMCk7CisJc3Bpbl91 bmxvY2tfaXJxcmVzdG9yZSgmZGJyaS0+bG9jaywgZmxhZ3MpOwogCiAJZm9yIChpID0gMTA7ICgo ZGJyaS0+bW0uc3RhdHVzICYgMHhlNCkgIT0gMHgyMCk7IC0taSkgewogCQltc2xlZXBfaW50ZXJy dXB0aWJsZSgxKTsKQEAgLTE2NjEsNyArMTY5OSw3IEBAIHN0YXRpYyB2b2lkIHhtaXRfZGVzY3Mo c3RydWN0IHNuZF9kYnJpICoKIAkJCQkJICAgIGRicmktPnBpcGVzW2luZm8tPnBpcGVdLnNkcAog CQkJCQkgICAgfCBEX1NEUF9QIHwgRF9TRFBfRVZFUlkgfCBEX1NEUF9DKTsKIAkJCSooY21kKysp ID0gZGJyaS0+ZG1hX2R2bWEgKyBkYnJpX2RtYV9vZmYoZGVzYywgZmlyc3RfdGQpOwotCQkJZGJy aV9jbWRzZW5kKGRicmksIGNtZCwgMik7CisJCQlkYnJpX2NtZHNlbmQoZGJyaSwgY21kLCAyLCAx KTsKIAogCQkJLyogUmVzZXQgb3VyIGFkbWluIG9mIHRoZSBwaXBlLiAqLwogCQkJZGJyaS0+cGlw ZXNbaW5mby0+cGlwZV0uZGVzYyA9IGZpcnN0X3RkOwpAQCAtMTY4MiwxMiArMTcyMCwxMyBAQCBz dGF0aWMgdm9pZCB4bWl0X2Rlc2NzKHN0cnVjdCBzbmRfZGJyaSAqCiAJCQkJCSAgICBkYnJpLT5w aXBlc1tpbmZvLT5waXBlXS5zZHAKIAkJCQkJICAgIHwgRF9TRFBfUCB8IERfU0RQX0VWRVJZIHwg RF9TRFBfQyk7CiAJCQkqKGNtZCsrKSA9IGRicmktPmRtYV9kdm1hICsgZGJyaV9kbWFfb2ZmKGRl c2MsIGZpcnN0X3RkKTsKLQkJCWRicmlfY21kc2VuZChkYnJpLCBjbWQsIDIpOworCQkJZGJyaV9j bWRzZW5kKGRicmksIGNtZCwgMiwgMSk7CiAKIAkJCS8qIFJlc2V0IG91ciBhZG1pbiBvZiB0aGUg cGlwZS4gKi8KIAkJCWRicmktPnBpcGVzW2luZm8tPnBpcGVdLmRlc2MgPSBmaXJzdF90ZDsKIAkJ fQogCX0KKwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRicmktPmxvY2ssIGZsYWdzKTsKIH0K IApAQCAtMjA5Myw3ICsyMTMyLDYgQEAgc3RhdGljIGludCBzbmRfZGJyaV9wcmVwYXJlKHN0cnVj dCBzbmRfcAogewogCXN0cnVjdCBzbmRfZGJyaSAqZGJyaSA9IHNuZF9wY21fc3Vic3RyZWFtX2No aXAoc3Vic3RyZWFtKTsKIAlzdHJ1Y3QgZGJyaV9zdHJlYW1pbmZvICppbmZvID0gREJSSV9TVFJF QU0oZGJyaSwgc3Vic3RyZWFtKTsKLQlzdHJ1Y3Qgc25kX3BjbV9ydW50aW1lICpydW50aW1lID0g c3Vic3RyZWFtLT5ydW50aW1lOwogCWludCByZXQ7CiAKIAlpbmZvLT5zaXplID0gc25kX3BjbV9s aWJfYnVmZmVyX2J5dGVzKHN1YnN0cmVhbSk7CkBAIC0yMjM0LDcgKzIyNzAsNiBAQCBzdGF0aWMg aW50IHNuZF9jczQyMTVfcHV0X3ZvbHVtZShzdHJ1Y3QgCiB7CiAJc3RydWN0IHNuZF9kYnJpICpk YnJpID0gc25kX2tjb250cm9sX2NoaXAoa2NvbnRyb2wpOwogCXN0cnVjdCBkYnJpX3N0cmVhbWlu Zm8gKmluZm8gPSAmZGJyaS0+c3RyZWFtX2luZm9ba2NvbnRyb2wtPnByaXZhdGVfdmFsdWVdOwot CXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAJaW50IGNoYW5nZWQgPSAwOwogCiAJaWYgKGluZm8tPmxl ZnRfZ2FpbiAhPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXSkgewpAQCAtMjI0OSwx MyArMjI4NCw5IEBAIHN0YXRpYyBpbnQgc25kX2NzNDIxNV9wdXRfdm9sdW1lKHN0cnVjdCAKIAkJ LyogRmlyc3QgbXV0ZSBvdXRwdXRzLCBhbmQgd2FpdCAxLzgwMDAgc2VjICgxMjUgdXMpCiAJCSAq IHRvIG1ha2Ugc3VyZSB0aGlzIHRha2VzLiAgVGhpcyBhdm9pZHMgY2xpY2tpbmcgbm9pc2VzLgog CQkgKi8KLQkJc3Bpbl9sb2NrX2lycXNhdmUoJmRicmktPmxvY2ssIGZsYWdzKTsKLQogCQljczQy MTVfc2V0ZGF0YShkYnJpLCAxKTsKIAkJdWRlbGF5KDEyNSk7CiAJCWNzNDIxNV9zZXRkYXRhKGRi cmksIDApOwotCi0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRicmktPmxvY2ssIGZsYWdzKTsK IAl9CiAJcmV0dXJuIGNoYW5nZWQ7CiB9CkBAIC0yMzAyLDcgKzIzMzMsNiBAQCBzdGF0aWMgaW50 IHNuZF9jczQyMTVfcHV0X3NpbmdsZShzdHJ1Y3QgCiAJCQkJIHN0cnVjdCBzbmRfY3RsX2VsZW1f dmFsdWUgKnVjb250cm9sKQogewogCXN0cnVjdCBzbmRfZGJyaSAqZGJyaSA9IHNuZF9rY29udHJv bF9jaGlwKGtjb250cm9sKTsKLQl1bnNpZ25lZCBsb25nIGZsYWdzOwogCWludCBlbGVtID0ga2Nv bnRyb2wtPnByaXZhdGVfdmFsdWUgJiAweGZmOwogCWludCBzaGlmdCA9IChrY29udHJvbC0+cHJp dmF0ZV92YWx1ZSA+PiA4KSAmIDB4ZmY7CiAJaW50IG1hc2sgPSAoa2NvbnRyb2wtPnByaXZhdGVf dmFsdWUgPj4gMTYpICYgMHhmZjsKQEAgLTIzMzUsMTMgKzIzNjUsOSBAQCBzdGF0aWMgaW50IHNu ZF9jczQyMTVfcHV0X3NpbmdsZShzdHJ1Y3QgCiAJCS8qIEZpcnN0IG11dGUgb3V0cHV0cywgYW5k IHdhaXQgMS84MDAwIHNlYyAoMTI1IHVzKQogCQkgKiB0byBtYWtlIHN1cmUgdGhpcyB0YWtlcy4g IFRoaXMgYXZvaWRzIGNsaWNraW5nIG5vaXNlcy4KIAkJICovCi0JCXNwaW5fbG9ja19pcnFzYXZl KCZkYnJpLT5sb2NrLCBmbGFncyk7Ci0KIAkJY3M0MjE1X3NldGRhdGEoZGJyaSwgMSk7CiAJCXVk ZWxheSgxMjUpOwogCQljczQyMTVfc2V0ZGF0YShkYnJpLCAwKTsKLQotCQlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkYnJpLT5sb2NrLCBmbGFncyk7CiAJfQogCXJldHVybiBjaGFuZ2VkOwogfQo= --part44f7dd09de06f Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 --part44f7dd09de06f Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Alsa-devel mailing list Alsa-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/alsa-devel --part44f7dd09de06f--