From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benny Sjostrand Subject: [PATCH] capture bug in cs46xx driver && Santa Cruz rear output support Date: Sun, 04 Aug 2002 21:02:23 +0200 Sender: alsa-devel-admin@lists.sourceforge.net Message-ID: <3D4D7A3F.3050707@cucumelo.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040407020808030006090306" Return-path: Received: from cucumelo.org (as1-4-7.bn.g.bonet.se [194.236.61.89]) by alsa.alsa-project.org (8.9.3/8.9.3/SuSE Linux 8.9.3-0.1) with ESMTP id VAA13098 for ; Sun, 4 Aug 2002 21:52:19 +0200 Errors-To: alsa-devel-admin@lists.sourceforge.net List-Help: List-Post: List-Subscribe: , List-Unsubscribe: , List-Archive: To: alsa-devel@alsa-project.org, Friedrich.Ewaldt@gmx.de List-Id: alsa-devel@alsa-project.org This is a multi-part message in MIME format. --------------040407020808030006090306 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit The DSP was setup to use the buffer for output samples as for input samples, not strange the behavior you described (probably a copy/paste miss from my side ...) I've sucessfully managed to record some stuff with a microphone so I believe the capture part works again. This patch is against current today CVS, includes: - capture fix, DSP was using same buffer for output as for input + some minor cleanups. - Santa Cruz secondary CODEC rear output support (cucumalative to my previous patch) /Benny --------------040407020808030006090306 Content-Type: application/x-java-vm; name="capture_patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="capture_patch" ZGlmZiAtTmF1ciAtLWV4Y2x1ZGU9RW50cmllcyAtLWV4Y2x1ZGU9TWFrZWZpbGUgLi4vY3Zz X3JlZi9hbHNhLWtlcm5lbC9pbmNsdWRlL2NzNDZ4eC5oIGFsc2Eta2VybmVsL2luY2x1ZGUv Y3M0Nnh4LmgKLS0tIC4uL2N2c19yZWYvYWxzYS1rZXJuZWwvaW5jbHVkZS9jczQ2eHguaAlU aHUgQXVnICAxIDE0OjI5OjMxIDIwMDIKKysrIGFsc2Eta2VybmVsL2luY2x1ZGUvY3M0Nnh4 LmgJU3VuIEF1ZyAgNCAxOToxMzo1MSAyMDAyCkBAIC0xOTUsNiArMTk1LDgxIEBACiAjZGVm aW5lIEJBMV9GUlNDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDMwMDM4 CiAjZGVmaW5lIEJBMV9PTU5JX01FTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw MEUwMDAwCiAKKworCisKKy8qCisgKiBUaGUgZm9sbG93aW5nIGRlZmluZSB0aGUgb2Zmc2V0 cyBvZiB0aGUgQUM5NyBzaGFkb3cgcmVnaXN0ZXJzLCB3aGljaCBhcHBlYXIKKyAqIGFzIGEg dmlydHVhbCBleHRlbnNpb24gdG8gdGhlIGJhc2UgYWRkcmVzcyByZWdpc3RlciB6ZXJvIG1l bW9yeSByYW5nZS4KKyAqLworI2RlZmluZSBBQzk3X1JFR19PRkZTRVRfTUFTSyAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMDA3RUwKKyNkZWZpbmUgQUM5N19DT0RFQ19OVU1CRVJfTUFT SyAgICAgICAgICAgICAgICAgIDB4MDAwMDMwMDBMCisKKyNkZWZpbmUgQkEwX0FDOTdfUkVT RVQgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDEwMDBMCisjZGVmaW5lIEJBMF9B Qzk3X01BU1RFUl9WT0xVTUUgICAgICAgICAgICAgICAgICAweDAwMDAxMDAyTAorI2RlZmlu ZSBCQTBfQUM5N19IRUFEUEhPTkVfVk9MVU1FICAgICAgICAgICAgICAgMHgwMDAwMTAwNEwK KyNkZWZpbmUgQkEwX0FDOTdfTUFTVEVSX1ZPTFVNRV9NT05PICAgICAgICAgICAgIDB4MDAw MDEwMDZMCisjZGVmaW5lIEJBMF9BQzk3X01BU1RFUl9UT05FICAgICAgICAgICAgICAgICAg ICAweDAwMDAxMDA4TAorI2RlZmluZSBCQTBfQUM5N19QQ19CRUVQX1ZPTFVNRSAgICAgICAg ICAgICAgICAgMHgwMDAwMTAwQUwKKyNkZWZpbmUgQkEwX0FDOTdfUEhPTkVfVk9MVU1FICAg ICAgICAgICAgICAgICAgIDB4MDAwMDEwMENMCisjZGVmaW5lIEJBMF9BQzk3X01JQ19WT0xV TUUgICAgICAgICAgICAgICAgICAgICAweDAwMDAxMDBFTAorI2RlZmluZSBCQTBfQUM5N19M SU5FX0lOX1ZPTFVNRSAgICAgICAgICAgICAgICAgMHgwMDAwMTAxMEwKKyNkZWZpbmUgQkEw X0FDOTdfQ0RfVk9MVU1FICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDEwMTJMCisjZGVm aW5lIEJBMF9BQzk3X1ZJREVPX1ZPTFVNRSAgICAgICAgICAgICAgICAgICAweDAwMDAxMDE0 TAorI2RlZmluZSBCQTBfQUM5N19BVVhfVk9MVU1FICAgICAgICAgICAgICAgICAgICAgMHgw MDAwMTAxNkwKKyNkZWZpbmUgQkEwX0FDOTdfUENNX09VVF9WT0xVTUUgICAgICAgICAgICAg ICAgIDB4MDAwMDEwMThMCisjZGVmaW5lIEJBMF9BQzk3X1JFQ09SRF9TRUxFQ1QgICAgICAg ICAgICAgICAgICAweDAwMDAxMDFBTAorI2RlZmluZSBCQTBfQUM5N19SRUNPUkRfR0FJTiAg ICAgICAgICAgICAgICAgICAgMHgwMDAwMTAxQ0wKKyNkZWZpbmUgQkEwX0FDOTdfUkVDT1JE X0dBSU5fTUlDICAgICAgICAgICAgICAgIDB4MDAwMDEwMUVMCisjZGVmaW5lIEJBMF9BQzk3 X0dFTkVSQUxfUFVSUE9TRSAgICAgICAgICAgICAgICAweDAwMDAxMDIwTAorI2RlZmluZSBC QTBfQUM5N18zRF9DT05UUk9MICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTAyMkwKKyNk ZWZpbmUgQkEwX0FDOTdfTU9ERU1fUkFURSAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDEw MjRMCisjZGVmaW5lIEJBMF9BQzk3X1BPV0VSRE9XTiAgICAgICAgICAgICAgICAgICAgICAw eDAwMDAxMDI2TAorI2RlZmluZSBCQTBfQUM5N19FWFRfQVVESU9fSUQgICAgICAgICAgICAg ICAgICAgMHgwMDAwMTAyOEwKKyNkZWZpbmUgQkEwX0FDOTdfRVhUX0FVRElPX1BPV0VSICAg ICAgICAgICAgICAgIDB4MDAwMDEwMkFMCisjZGVmaW5lIEJBMF9BQzk3X1BDTV9GUk9OVF9E QUNfUkFURSAgICAgICAgICAgICAweDAwMDAxMDJDTAorI2RlZmluZSBCQTBfQUM5N19QQ01f U1VSUl9EQUNfUkFURSAgICAgICAgICAgICAgMHgwMDAwMTAyRUwKKyNkZWZpbmUgQkEwX0FD OTdfUENNX0xGRV9EQUNfUkFURSAgICAgICAgICAgICAgIDB4MDAwMDEwMzBMCisjZGVmaW5l IEJBMF9BQzk3X1BDTV9MUl9BRENfUkFURSAgICAgICAgICAgICAgICAweDAwMDAxMDMyTAor I2RlZmluZSBCQTBfQUM5N19NSUNfQURDX1JBVEUgICAgICAgICAgICAgICAgICAgMHgwMDAw MTAzNEwKKyNkZWZpbmUgQkEwX0FDOTdfNkNIX1ZPTF9DX0xGRSAgICAgICAgICAgICAgICAg IDB4MDAwMDEwMzZMCisjZGVmaW5lIEJBMF9BQzk3XzZDSF9WT0xfU1VSUk9VTkQgICAgICAg ICAgICAgICAweDAwMDAxMDM4TAorI2RlZmluZSBCQTBfQUM5N19SRVNFUlZFRF8zQSAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMTAzQUwKKyNkZWZpbmUgQkEwX0FDOTdfRVhUX01PREVN X0lEICAgICAgICAgICAgICAgICAgIDB4MDAwMDEwM0NMCisjZGVmaW5lIEJBMF9BQzk3X0VY VF9NT0RFTV9QT1dFUiAgICAgICAgICAgICAgICAweDAwMDAxMDNFTAorI2RlZmluZSBCQTBf QUM5N19MSU5FMV9DT0RFQ19SQVRFICAgICAgICAgICAgICAgMHgwMDAwMTA0MEwKKyNkZWZp bmUgQkEwX0FDOTdfTElORTJfQ09ERUNfUkFURSAgICAgICAgICAgICAgIDB4MDAwMDEwNDJM CisjZGVmaW5lIEJBMF9BQzk3X0hBTkRTRVRfQ09ERUNfUkFURSAgICAgICAgICAgICAweDAw MDAxMDQ0TAorI2RlZmluZSBCQTBfQUM5N19MSU5FMV9DT0RFQ19MRVZFTCAgICAgICAgICAg ICAgMHgwMDAwMTA0NkwKKyNkZWZpbmUgQkEwX0FDOTdfTElORTJfQ09ERUNfTEVWRUwgICAg ICAgICAgICAgIDB4MDAwMDEwNDhMCisjZGVmaW5lIEJBMF9BQzk3X0hBTkRTRVRfQ09ERUNf TEVWRUwgICAgICAgICAgICAweDAwMDAxMDRBTAorI2RlZmluZSBCQTBfQUM5N19HUElPX1BJ Tl9DT05GSUcgICAgICAgICAgICAgICAgMHgwMDAwMTA0Q0wKKyNkZWZpbmUgQkEwX0FDOTdf R1BJT19QSU5fVFlQRSAgICAgICAgICAgICAgICAgIDB4MDAwMDEwNEVMCisjZGVmaW5lIEJB MF9BQzk3X0dQSU9fUElOX1NUSUNLWSAgICAgICAgICAgICAgICAweDAwMDAxMDUwTAorI2Rl ZmluZSBCQTBfQUM5N19HUElPX1BJTl9XQUtFVVAgICAgICAgICAgICAgICAgMHgwMDAwMTA1 MkwKKyNkZWZpbmUgQkEwX0FDOTdfR1BJT19QSU5fU1RBVFVTICAgICAgICAgICAgICAgIDB4 MDAwMDEwNTRMCisjZGVmaW5lIEJBMF9BQzk3X01JU0NfTU9ERU1fQUZFX1NUQVQgICAgICAg ICAgICAweDAwMDAxMDU2TAorI2RlZmluZSBCQTBfQUM5N19SRVNFUlZFRF81OCAgICAgICAg ICAgICAgICAgICAgMHgwMDAwMTA1OEwKKyNkZWZpbmUgQkEwX0FDOTdfQ1JZU1RBTF9SRVZf Tl9GQUJfSUQgICAgICAgICAgIDB4MDAwMDEwNUFMCisjZGVmaW5lIEJBMF9BQzk3X1RFU1Rf QU5EX01JU0NfQ1RSTCAgICAgICAgICAgICAweDAwMDAxMDVDTAorI2RlZmluZSBCQTBfQUM5 N19BQ19NT0RFICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTA1RUwKKyNkZWZpbmUg QkEwX0FDOTdfTUlTQ19DUllTVEFMX0NPTlRST0wgICAgICAgICAgIDB4MDAwMDEwNjBMCisj ZGVmaW5lIEJBMF9BQzk3X0xJTkUxX0hZUFJJRF9DVFJMICAgICAgICAgICAgICAweDAwMDAx MDYyTAorI2RlZmluZSBCQTBfQUM5N19WRU5ET1JfUkVTRVJWRURfNjQgICAgICAgICAgICAg MHgwMDAwMTA2NEwKKyNkZWZpbmUgQkEwX0FDOTdfVkVORE9SX1JFU0VSVkVEXzY2ICAgICAg ICAgICAgIDB4MDAwMDEwNjZMCisjZGVmaW5lIEJBMF9BQzk3X1NQRElGX0NPTlRST0wgICAg ICAgICAgICAgICAgICAweDAwMDAxMDY4TAorI2RlZmluZSBCQTBfQUM5N19WRU5ET1JfUkVT RVJWRURfNkEgICAgICAgICAgICAgMHgwMDAwMTA2QUwKKyNkZWZpbmUgQkEwX0FDOTdfVkVO RE9SX1JFU0VSVkVEXzZDICAgICAgICAgICAgIDB4MDAwMDEwNkNMCisjZGVmaW5lIEJBMF9B Qzk3X1ZFTkRPUl9SRVNFUlZFRF82RSAgICAgICAgICAgICAweDAwMDAxMDZFTAorI2RlZmlu ZSBCQTBfQUM5N19WRU5ET1JfUkVTRVJWRURfNzAgICAgICAgICAgICAgMHgwMDAwMTA3MEwK KyNkZWZpbmUgQkEwX0FDOTdfVkVORE9SX1JFU0VSVkVEXzcyICAgICAgICAgICAgIDB4MDAw MDEwNzJMCisjZGVmaW5lIEJBMF9BQzk3X1ZFTkRPUl9SRVNFUlZFRF83NCAgICAgICAgICAg ICAweDAwMDAxMDc0TAorI2RlZmluZSBCQTBfQUM5N19DQUxfQUREUkVTUyAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMTA3NkwKKyNkZWZpbmUgQkEwX0FDOTdfQ0FMX0RBVEEgICAgICAg ICAgICAgICAgICAgICAgIDB4MDAwMDEwNzhMCisjZGVmaW5lIEJBMF9BQzk3X1ZFTkRPUl9S RVNFUlZFRF83QSAgICAgICAgICAgICAweDAwMDAxMDdBTAorI2RlZmluZSBCQTBfQUM5N19W RU5ET1JfSUQxICAgICAgICAgICAgICAgICAgICAgMHgwMDAwMTA3Q0wKKyNkZWZpbmUgQkEw X0FDOTdfVkVORE9SX0lEMiAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDEwN0VMCisKIC8q CiAgKiAgVGhlIGZvbGxvd2luZyBkZWZpbmVzIGFyZSBmb3IgdGhlIGZsYWdzIGluIHRoZSBo b3N0IGludGVycnVwdCBzdGF0dXMKICAqICByZWdpc3Rlci4KQEAgLTE2MjksMTAgKzE3MDQs MTEgQEAKICNkZWZpbmUgUE9XRVJfRE9XTl9BTEwgICAgICAgICAweDdmMGYKIAogLyogbWF4 aW51bSBudW1iZXIgb2YgQUM5NyBjb2RlY3MgY29ubmVjdGVkLCBBQzk3IDIuMCBkZWZpbmVk IDQgKi8KLSNkZWZpbmUgTUFYX05SX0FDOTcJCQkJNAotI2RlZmluZSBDUzQ2WFhfUFJJTUFS WV9DT0RFQ19JTkRFWAkJMAorI2RlZmluZSBNQVhfTlJfQUM5NwkJCQkgICAgICAgICAgICA0 CisjZGVmaW5lIENTNDZYWF9QUklNQVJZX0NPREVDX0lOREVYICAgICAgICAgIDAKICNkZWZp bmUgQ1M0NlhYX1NFQ09OREFSWV9DT0RFQ19JTkRFWAkJMQogI2RlZmluZSBDUzQ2WFhfU0VD T05EQVJZX0NPREVDX09GRlNFVAkJMHg4MAorI2RlZmluZSBDUzQ2WFhfRFNQX0NBUFRVUkVf Q0hBTk5FTCAgICAgICAgICAxCiAKIC8qCiAgKgpkaWZmIC1OYXVyIC0tZXhjbHVkZT1FbnRy aWVzIC0tZXhjbHVkZT1NYWtlZmlsZSAuLi9jdnNfcmVmL2Fsc2Eta2VybmVsL3BjaS9jczQ2 eHgvY3M0Nnh4X2xpYi5jIGFsc2Eta2VybmVsL3BjaS9jczQ2eHgvY3M0Nnh4X2xpYi5jCi0t LSAuLi9jdnNfcmVmL2Fsc2Eta2VybmVsL3BjaS9jczQ2eHgvY3M0Nnh4X2xpYi5jCVN1biBB dWcgIDQgMTk6MTI6NDUgMjAwMgorKysgYWxzYS1rZXJuZWwvcGNpL2NzNDZ4eC9jczQ2eHhf bGliLmMJU3VuIEF1ZyAgNCAyMDo1MzozMCAyMDAyCkBAIC0xMTY3LDcgKzExNjcsNyBAQAog CWZvciAoaSA9IDA7IGkgPCBEU1BfTUFYX1BDTV9DSEFOTkVMUzsgKytpKSB7CiAJCWlmIChp IDw9IDE1KSB7CiAJCQlpZiAoIHN0YXR1czEgJiAoMSA8PCBpKSApIHsKLQkJCQlpZiAoaSA9 PSAxKSB7CisJCQkJaWYgKGkgPT0gQ1M0NlhYX0RTUF9DQVBUVVJFX0NIQU5ORUwpIHsKIAkJ CQkJaWYgKGNoaXAtPmNhcHQuc3Vic3RyZWFtKQogCQkJCQkJc25kX3BjbV9wZXJpb2RfZWxh cHNlZChjaGlwLT5jYXB0LnN1YnN0cmVhbSk7CiAJCQkJfSBlbHNlIHsKQEAgLTI0NDksNiAr MjQ0OSwxMDYgQEAKIHsJCiB9CiAKKworI2lmZGVmIENPTkZJR19TTkRfQ1M0NlhYX05FV19E U1AKK3N0YXRpYyBpbnQgdm95ZXRyYV9zZXR1cF9lYXBkX3Nsb3QoY3M0Nnh4X3QgKmNoaXAp Cit7CisJaW50IGk7CisgICAgdTMyIGlkeDsKKyAgICB1MTYgbW9kZW1fcG93ZXIscGluX2Nv bmZpZyxsb2dpY190eXBlLHZhbGlkX3Nsb3RzLHN0YXR1czsKKworCXNuZF9wcmludGQgKCJj czQ2eHg6IGNzNDZ4eF9zZXR1cF9lYXBkX3Nsb3QoKStcbiIpOworCS8qCisJKiBDbGVhciBQ UkEuICBUaGUgQm9uem8gY2hpcCB3aWxsIGJlIHVzZWQgZm9yIEdQSU8gbm90IGZvciBtb2Rl bQorCSogc3R1ZmYuCisJKi8KKwlpZihjaGlwLT5ucl9hYzk3X2NvZGVjcyAhPSAyKQorCXsK KyAgICAgIHNuZF9wcmludGsgKEtFUk5fRVJSICJjczQ2eHg6IGNzNDZ4eF9zZXR1cF9lYXBk X3Nsb3QoKSAtIG5vIHNlY29uZGFyeSBjb2RlYyBjb25maWd1cmVkXG4iKTsKKyAgICAgIHJl dHVybiAtRUlOVkFMOworCX0KKworCW1vZGVtX3Bvd2VyID0gc25kX2NzNDZ4eF9jb2RlY19y ZWFkIChjaGlwLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QkEwX0FDOTdfRVhUX01PREVNX1BPV0VSLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDUzQ2WFhfU0VDT05EQVJZX0NPREVDX0lOREVYKTsKKwltb2RlbV9w b3dlciAmPTB4RkVGRjsKKworCXNuZF9jczQ2eHhfY29kZWNfd3JpdGUoY2hpcCwgCisgICAg ICAgICAgICAgICAgICAgICAgICAgICBCQTBfQUM5N19FWFRfTU9ERU1fUE9XRVIsIG1vZGVt X3Bvd2VyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1M0NlhYX1NFQ09OREFSWV9D T0RFQ19JTkRFWCk7CisKKyAgICAvKgorICAgICAqIFNldCBHUElPIHBpbidzIDcgYW5kIDgg c28gdGhhdCB0aGV5IGFyZSBjb25maWd1cmVkIGZvciBvdXRwdXQuCisgICAgICovCisJcGlu X2NvbmZpZyA9IHNuZF9jczQ2eHhfY29kZWNfcmVhZCAoY2hpcCwgCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQkEwX0FDOTdfR1BJT19QSU5fQ09ORklHLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTNDZYWF9TRUNPTkRB UllfQ09ERUNfSU5ERVgpOworCXBpbl9jb25maWcgJj0weDI3RjsKKworCXNuZF9jczQ2eHhf Y29kZWNfd3JpdGUoY2hpcCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICBCQTBfQUM5 N19HUElPX1BJTl9DT05GSUcsIHBpbl9jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICBDUzQ2WFhfU0VDT05EQVJZX0NPREVDX0lOREVYKTsKKyAgICAKKyAgICAvKgorICAg ICAqIFNldCBHUElPIHBpbidzIDcgYW5kIDggc28gdGhhdCB0aGV5IGFyZSBjb21wYXRpYmxl IHdpdGggQ01PUyBsb2dpYy4KKyAgICAgKi8KKworCWxvZ2ljX3R5cGUgPSBzbmRfY3M0Nnh4 X2NvZGVjX3JlYWQoY2hpcCwgQkEwX0FDOTdfR1BJT19QSU5fVFlQRSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTNDZYWF9TRUNPTkRBUllfQ09ERUNfSU5E RVgpOworCWxvZ2ljX3R5cGUgJj0weDI3RjsKKwlzbmRfY3M0Nnh4X2NvZGVjX3dyaXRlIChj aGlwLCBCQTBfQUM5N19HUElPX1BJTl9UWVBFLCBsb2dpY190eXBlLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIENTNDZYWF9TRUNPTkRBUllfQ09ERUNfSU5ERVgpOworCisJdmFs aWRfc2xvdHMgPSBzbmRfY3M0Nnh4X3BlZWtCQTAoY2hpcCwgQkEwX0FDT1NWKTsKKwl2YWxp ZF9zbG90cyB8PSAweDIwMDsKKwlzbmRfY3M0Nnh4X3Bva2VCQTAoY2hpcCwgQkEwX0FDT1NW LCB2YWxpZF9zbG90cyk7CisKKyAgICAvKgorICAgICAqIEZpbGwgc2xvdHMgMTIgd2l0aCB0 aGUgY29ycmVjdCB2YWx1ZSBmb3IgdGhlIEdQSU8gcGlucy4gCisgICAgICovCisJZm9yKGlk eCA9IDB4OTA7IGlkeCA8PSAweDlGOyBpZHgrKykgeworCisgICAgICAvKgorICAgICAgICog SW5pdGlhbGl6ZSB0aGUgZmlmbyBzbyB0aGF0IGJpdHMgNyBhbmQgOCBhcmUgb24uCisgICAg ICAgKgorICAgICAgICogUmVtZW1iZXIgdGhhdCB0aGUgR1BJTyBwaW5zIGluIGJvbnpvIGFy ZSBzaGlmdGVkIGJ5IDQgYml0cyB0bworICAgICAgICogdGhlIGxlZnQuICAweDE4MDAgY29y cmVzcG9uZHMgdG8gYml0cyA3IGFuZCA4LgorICAgICAgICovCisgICAgICBzbmRfY3M0Nnh4 X3Bva2VCQTAoY2hpcCwgQkEwX1NFUkJXUCwgMHgxODAwKTsKKyAgICAgIAorICAgICAgLyoK KyAgICAgICAqIE1ha2Ugc3VyZSB0aGUgcHJldmlvdXMgRklGTyB3cml0ZSBvcGVyYXRpb24g aGFzIGNvbXBsZXRlZC4KKyAgICAgICAqLworICAgICAgZm9yKGkgPSAwOyBpIDwgNTsgaSsr KXsKKyAgICAgICAgc3RhdHVzID0gc25kX2NzNDZ4eF9wZWVrQkEwKGNoaXAsIEJBMF9TRVJC U1QpOworCisgICAgICAgIGlmKCAhKHN0YXR1cyAmIFNFUkJTVF9XQlNZKSApIHsKKyAgICAg ICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBtZGVsYXkoMTAwKTsKKyAgICAgIH0K KworICAgICAgaWYoc3RhdHVzICYgU0VSQlNUX1dCU1kpIHsKKyAgICAgICAgc25kX3ByaW50 ayggS0VSTl9FUlIgImNzNDZ4eDogY3M0Nnh4X3NldHVwX2VhcGRfc2xvdCgpICIgXAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbHVyZSB0byB3cml0ZSB0aGUgR1BJTyBw aW5zIGZvciBzbG90IDEyLlxuIik7CisgICAgICAgICByZXR1cm4gLUVJTlZBTDsKKyAgICAg IH0KKyAgICAgIAorICAgICAgLyoKKyAgICAgICAqIFdyaXRlIHRoZSBzZXJpYWwgcG9ydCBG SUZPIGluZGV4LgorICAgICAgICovCisgICAgICBzbmRfY3M0Nnh4X3Bva2VCQTAoY2hpcCwg QkEwX1NFUkJBRCwgaWR4KTsKKyAgICAgIAorICAgICAgLyoKKyAgICAgICAqIFRlbGwgdGhl IHNlcmlhbCBwb3J0IHRvIGxvYWQgdGhlIG5ldyB2YWx1ZSBpbnRvIHRoZSBGSUZPIGxvY2F0 aW9uLgorICAgICAgICovCisgICAgICBzbmRfY3M0Nnh4X3Bva2VCQTAoY2hpcCwgQkEwX1NF UkJDTSwgU0VSQkNNX1dSQyk7CisJfQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKwogLyoK ICAqCUNyeXN0YWwgRUFQRCBtb2RlCiAgKi8KQEAgLTI0NzksNiArMjU3OSwxMiBAQAogCQkJ c25kX2N0bF9ub3RpZnkoY2hpcC0+Y2FyZCwgU05EUlZfQ1RMX0VWRU5UX01BU0tfVkFMVUUs CiAJCQkJICAgICAgICZjaGlwLT5lYXBkX3N3aXRjaC0+aWQpOwogCX0KKworI2lmZGVmIENP TkZJR19TTkRfQ1M0NlhYX05FV19EU1AKKyAgICBpZiAoY2hpcC0+YW1wbGlmaWVyICYmICFv bGQpIHsKKyAgICAgIHZveWV0cmFfc2V0dXBfZWFwZF9zbG90KGNoaXApOworICAgIH0KKyNl bmRpZgogfQogCiAKZGlmZiAtTmF1ciAtLWV4Y2x1ZGU9RW50cmllcyAtLWV4Y2x1ZGU9TWFr ZWZpbGUgLi4vY3ZzX3JlZi9hbHNhLWtlcm5lbC9wY2kvY3M0Nnh4L2RzcF9zcG9zLmMgYWxz YS1rZXJuZWwvcGNpL2NzNDZ4eC9kc3Bfc3Bvcy5jCi0tLSAuLi9jdnNfcmVmL2Fsc2Eta2Vy bmVsL3BjaS9jczQ2eHgvZHNwX3Nwb3MuYwlUaHUgQXVnICAxIDE0OjMwOjUzIDIwMDIKKysr IGFsc2Eta2VybmVsL3BjaS9jczQ2eHgvZHNwX3Nwb3MuYwlTdW4gQXVnICA0IDIwOjEzOjE3 IDIwMDIKQEAgLTczNSw3ICs3MzUsNyBAQAogCiAJc25kX2lwcmludGYoYnVmZmVyLCJcbk9V VFBVVF9TTk9PUDpcbiIpOwogCWNvbCA9IDA7Ci0JZm9yIChpID0gMHgxMjAwO2kgPCAweDEy NDA7IGkgKz0gc2l6ZW9mKHUzMiksY29sICsrKSB7CisJZm9yIChpID0gT1VUUFVUX1NOT09Q X0JVRkZFUjtpIDwgT1VUUFVUX1NOT09QX0JVRkZFUiArIDB4NDA7IGkgKz0gc2l6ZW9mKHUz MiksY29sICsrKSB7CiAJCWlmIChjb2wgPT0gNCkgewogCQkJc25kX2lwcmludGYoYnVmZmVy LCJcbiIpOwogCQkJY29sID0gMDsKQEAgLTc0OCw5ICs3NDgsOSBAQAogCQlzbmRfaXByaW50 ZihidWZmZXIsIiUwOFggIixyZWFkbChkc3QgKyBpKSk7CiAJfQogCi0Jc25kX2lwcmludGYo YnVmZmVyLCJcbi4uLlxuIik7CisJc25kX2lwcmludGYoYnVmZmVyLCJcbkNPREVDX0lOUFVU X0JVRjE6IFxuIik7CiAJY29sID0gMDsKLQlmb3IgKGkgPSAweDEyRDA7aSA8IDB4MTMxMDsg aSArPSBzaXplb2YodTMyKSxjb2wgKyspIHsKKwlmb3IgKGkgPSBDT0RFQ19JTlBVVF9CVUYx O2kgPCBDT0RFQ19JTlBVVF9CVUYxICsgMHg0MDsgaSArPSBzaXplb2YodTMyKSxjb2wgKysp IHsKIAkJaWYgKGNvbCA9PSA0KSB7CiAJCQlzbmRfaXByaW50ZihidWZmZXIsIlxuIik7CiAJ CQljb2wgPSAwOwpAQCAtNzYzLDIwICs3NjMsMjMgQEAKIAkJc25kX2lwcmludGYoYnVmZmVy LCIlMDhYICIscmVhZGwoZHN0ICsgaSkpOwogCX0KIAotCXNuZF9pcHJpbnRmKGJ1ZmZlciwi XG4iKTsKLX0KKwlzbmRfaXByaW50ZihidWZmZXIsIlxuV1JJVEVfQkFDS19CVUYxOiBcbiIp OworCWNvbCA9IDA7CisJZm9yIChpID0gV1JJVEVfQkFDS19CVUYxO2kgPCBXUklURV9CQUNL X0JVRjEgKyAweDQwOyBpICs9IHNpemVvZih1MzIpLGNvbCArKykgeworCQlpZiAoY29sID09 IDQpIHsKKwkJCXNuZF9pcHJpbnRmKGJ1ZmZlciwiXG4iKTsKKwkJCWNvbCA9IDA7CisJCX0K IAotI2lmIDAKLXN0YXRpYyB2b2lkIHNuZF9hYzk3X3Byb2NfcmVnc19yZWFkX21haW4oYWM5 N190ICphYzk3LCBzbmRfaW5mb19idWZmZXJfdCAqIGJ1ZmZlciwgaW50IHN1YmlkeCkKLXsK LQlpbnQgcmVnLCB2YWw7CisJCWlmIChjb2wgPT0gMCkgeworCQkJc25kX2lwcmludGYoYnVm ZmVyLCAiJTA0WCAiLGkpOworCQl9CiAKLQlmb3IgKHJlZyA9IDA7IHJlZyA8IDB4ODA7IHJl ZyArPSAyKSB7Ci0JCXZhbCA9IHNuZF9hYzk3X3JlYWQoYWM5NywgcmVnKTsKLQkJc25kX2lw cmludGYoYnVmZmVyLCAiJWk6JTAyeCA9ICUwNHhcbiIsIHN1YmlkeCwgcmVnLCB2YWwpOwor CQlzbmRfaXByaW50ZihidWZmZXIsIiUwOFggIixyZWFkbChkc3QgKyBpKSk7CiAJfQorCisJ c25kX2lwcmludGYoYnVmZmVyLCJcbiIpOwogfQotI2VuZGlmCiAKIGludCBjczQ2eHhfZHNw X3Byb2NfaW5pdCAoc25kX2NhcmRfdCAqIGNhcmQsIGNzNDZ4eF90ICpjaGlwKQogewpAQCAt MTM0OSw5ICsxMzUyLDkgQEAKIAogCS8qIGNyZWF0ZSBjb2RlYyBpbiAqLwogCWNvZGVjX2lu X3NjYiA9IGNzNDZ4eF9kc3BfY3JlYXRlX2NvZGVjX2luX3NjYihjaGlwLCJDb2RlY0luU0NC IiwweDAwMTAsMHgwMEEwLAotCQkJCQkJICAgICAgIE1JWF9TQU1QTEVfQlVGMSwKLQkJCQkJ CSAgICAgICBDT0RFQ0lOX1NDQl9BRERSLGNvZGVjX291dF9zY2IsCi0JCQkJCQkgICAgICAg U0NCX09OX1BBUkVOVF9ORVhUX1NDQik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENPREVDX0lOUFVUX0JVRjEsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPREVDSU5fU0NCX0FERFIs Y29kZWNfb3V0X3NjYiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU0NCX09OX1BBUkVOVF9ORVhUX1NDQik7CiAJaWYgKCFjb2RlY19pbl9z Y2IpIGdvdG8gX2ZhaWxfZW5kOwogICAKIAkvKiBjcmVhdGUgd3JpdGUgYmFjayBzY2IgKi8K ZGlmZiAtTmF1ciAtLWV4Y2x1ZGU9RW50cmllcyAtLWV4Y2x1ZGU9TWFrZWZpbGUgLi4vY3Zz X3JlZi9hbHNhLWtlcm5lbC9wY2kvY3M0Nnh4L2RzcF9zcG9zX3NjYl9saWIuYyBhbHNhLWtl cm5lbC9wY2kvY3M0Nnh4L2RzcF9zcG9zX3NjYl9saWIuYwotLS0gLi4vY3ZzX3JlZi9hbHNh LWtlcm5lbC9wY2kvY3M0Nnh4L2RzcF9zcG9zX3NjYl9saWIuYwlUaHUgQXVnICAxIDE1OjUx OjI4IDIwMDIKKysrIGFsc2Eta2VybmVsL3BjaS9jczQ2eHgvZHNwX3Nwb3Nfc2NiX2xpYi5j CVN1biBBdWcgIDQgMjA6MTA6MTYgMjAwMgpAQCAtNjk3LDcgKzY5Nyw3IEBACiAJCQlETUFf UlFfQzJfQUNfTk9ORSArCiAJCQlETUFfUlFfQzJfU0lHTkFMX0RFU1RfUElOR1BPTkcgKyAK ICAgICAgIAotCQkJMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKwkJCUNT NDZYWF9EU1BfQ0FQVFVSRV9DSEFOTkVMLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogCQkJRE1BX1JRX1NEX1NQX1NBTVBMRV9BRERSICsgCiAJCQltaXhfYnVmZmVyX2Fk ZHIsIAogCQkJMHgwICAgICAgICAgICAgICAgICAgIApAQCAtMTEwOCw3ICsxMTA4LDcgQEAK IAogCQkvKiB2aXJ0dWFsIGNoYW5uZWwgcmVzZXJ2ZWQgCiAJCSAgIGZvciBjYXB0dXJlICov Ci0JCWlmIChpID09IDEpIGNvbnRpbnVlOworCQlpZiAoaSA9PSBDUzQ2WFhfRFNQX0NBUFRV UkVfQ0hBTk5FTCkgY29udGludWU7CiAKIAkJaWYgKGlucy0+cGNtX2NoYW5uZWxzW2ldLmFj dGl2ZSkgewogCQkJaWYgKCFzcmNfc2NiICYmIGlucy0+cGNtX2NoYW5uZWxzW2ldLnNhbXBs ZV9yYXRlID09IHNhbXBsZV9yYXRlKSB7Cg== --------------040407020808030006090306-- ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf