From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Kosewski Subject: [PATCH 1/3] Add disk hotswap support to libata Date: Fri, 22 Jul 2005 14:25:57 -0400 Message-ID: <355e5e5e05072211255dfb001a@mail.gmail.com> Reply-To: Lukasz Kosewski Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_682_20936341.1122056757047" Return-path: Received: from zproxy.gmail.com ([64.233.162.195]:23473 "EHLO zproxy.gmail.com") by vger.kernel.org with ESMTP id S261355AbVGVSZ5 (ORCPT ); Fri, 22 Jul 2005 14:25:57 -0400 Received: by zproxy.gmail.com with SMTP id n1so251921nzf for ; Fri, 22 Jul 2005 11:25:57 -0700 (PDT) Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: linux-ide@vger.kernel.org ------=_Part_682_20936341.1122056757047 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline This list did not initially receive a CC of these patches, here they are for your viewing pleasure! Patches apply against 2.6.13-rc3-mm1. This patch changes the sata_promise driver in libata to correctly mask out hotplug interrupts. The location of the primary hotplug registers in the SATA150 Tx4/Tx2 Plus controllers is correctly defined as '0x6C', HOWEVER, for the SATAII150 Tx4/Tx2 Plus controllers, this changes to '0x60'. This patch rectifies us 'masking out interrupts' at the wrong location, thus not masking them out at all. Also, the promise interrupt handler uses a 'spin_lock', I have changed it into a 'spin_lock_irqsave', since I observe this on most other libata drivers, so for consistency. I've also set up a new callback for handling SATAII150 interrupts, which seemingly does nothing in this patch. Yes, it does nothing.=20 Wait until we get to patch 03, though. I don't expect there to be too much contentious material in this patch. Luke Kosewski Human Cannonball Net Integration Technologies ------=_Part_682_20936341.1122056757047 Content-Type: text/x-patch; name="01-promise_sataII150_support-2.6.13-rc3-mm1.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="01-promise_sataII150_support-2.6.13-rc3-mm1.diff" MjEuMDcuMDUgIEx1a2UgS29zZXdza2kgIDxsa29zZXdza0BuaXQuY2E+CgoJKiBBIHBhdGNoIHRv IHRoZSBzYXRhX3Byb21pc2UgZHJpdmVyIGluIGxpYmF0YSBmb3IgaXQgdG8gY29ycmVjdGx5IG1h c2sKCSAgb3V0IGhvdHBsdWcgaW50ZXJydXB0cyBvbiBTQVRBSUkxNTAgVHg0L1R4MiBQbHVzIGNv bnRyb2xsZXJzLiAgQWxzbywKCSAgdGhlICdzcGluX2xvY2snIGluIHRoZSBpbnRlcnJ1cHQgaGFu ZGxlciBoYXMgYmVlbiBjaGFuZ2VkIHRvIGEKCSAgJ3NwaW5fbG9ja19pcnFzYXZlJyBmb3IgY29u c2lzdGVuY3kgd2l0aCBvdGhlciBsaWJhdGEgZHJpdmVycy4KClNpZ25lZC1vZmYtYnk6ICBMdWtl IEtvc2V3c2tpIDxsa29zZXdza0BuaXQuY2E+CgotLS0gbGludXgtMi42LjEzLXJjMy9kcml2ZXJz L3Njc2kvc2F0YV9wcm9taXNlLmMub2xkCTIwMDUtMDctMjEgMTM6MzU6NDMuMzExNDg2MTU1IC0w NDAwCisrKyBsaW51eC0yLjYuMTMtcmMzL2RyaXZlcnMvc2NzaS9zYXRhX3Byb21pc2UuYwkyMDA1 LTA3LTIxIDEzOjQwOjA2LjE0NTI2MTE5MyAtMDQwMApAQCAtNTIsNiArNTIsNyBAQCBlbnVtIHsK IAlQRENfR0xPQkFMX0NUTAkJPSAweDQ4LCAvKiBHbG9iYWwgY29udHJvbC9zdGF0dXMgKHBlciBw b3J0KSAqLwogCVBEQ19DVExTVEFUCQk9IDB4NjAsCS8qIElERSBjb250cm9sIGFuZCBzdGF0dXMg KHBlciBwb3J0KSAqLwogCVBEQ19TQVRBX1BMVUdfQ1NSCT0gMHg2QywgLyogU0FUQSBQbHVnIGNv bnRyb2wvc3RhdHVzIHJlZyAqLworCVBEQzJfU0FUQV9QTFVHX0NTUgk9IDB4NjAsIC8qIFNBVEFJ SSBQbHVnIGNvbnRyb2wvc3RhdHVzIHJlZyAqLwogCVBEQ19TTEVXX0NUTAkJPSAweDQ3MCwgLyog c2xldyByYXRlIGNvbnRyb2wgcmVnICovCiAKIAlQRENfRVJSX01BU0sJCT0gKDE8PDE5KSB8ICgx PDwyMCkgfCAoMTw8MjEpIHwgKDE8PDIyKSB8CkBAIC02MCw4ICs2MSwxMCBAQCBlbnVtIHsKIAli b2FyZF8yMDM3eAkJPSAwLAkvKiBGYXN0VHJhayBTMTUwIFRYMnBsdXMgKi8KIAlib2FyZF8yMDMx OQkJPSAxLAkvKiBGYXN0VHJhayBTMTUwIFRYNCAqLwogCWJvYXJkXzIwNjE5CQk9IDIsCS8qIEZh c3RUcmFrIFRYNDAwMCAqLworCWJvYXJkXzIwNTd4CQk9IDMsCS8qIFNBVEFJSTE1MCBUeDJwbHVz ICovCisJYm9hcmRfNDA1MTgJCT0gNCwJLyogU0FUQUlJMTUwIFR4NCAqLwogCi0JUERDX0hBU19Q QVRBCQk9ICgxIDw8IDEpLCAvKiBQREMyMDM3NSBoYXMgUEFUQSAqLworCVBEQ19IQVNfUEFUQQkJ PSAoMSA8PCAxKSwgLyogUERDMjAzNzUvMjA1NzUgaGFzIFBBVEEgKi8KIAogCVBEQ19SRVNFVAkJ PSAoMSA8PCAxMSksIC8qIEhETUEgcmVzZXQgKi8KIH07CkBAIC03Niw2ICs3OSw3IEBAIHN0YXRp YyB1MzIgcGRjX3NhdGFfc2NyX3JlYWQgKHN0cnVjdCBhdGEKIHN0YXRpYyB2b2lkIHBkY19zYXRh X3Njcl93cml0ZSAoc3RydWN0IGF0YV9wb3J0ICphcCwgdW5zaWduZWQgaW50IHNjX3JlZywgdTMy IHZhbCk7CiBzdGF0aWMgaW50IHBkY19hdGFfaW5pdF9vbmUgKHN0cnVjdCBwY2lfZGV2ICpwZGV2 LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KTsKIHN0YXRpYyBpcnFyZXR1cm5fdCBw ZGNfaW50ZXJydXB0IChpbnQgaXJxLCB2b2lkICpkZXZfaW5zdGFuY2UsIHN0cnVjdCBwdF9yZWdz ICpyZWdzKTsKK3N0YXRpYyBpcnFyZXR1cm5fdCBwZGMyX2ludGVycnVwdCAoaW50IGlycSwgdm9p ZCAqZGV2X2luc3RhbmNlLCBzdHJ1Y3QgcHRfcmVncyAqcmVncyk7CiBzdGF0aWMgdm9pZCBwZGNf ZW5nX3RpbWVvdXQoc3RydWN0IGF0YV9wb3J0ICphcCk7CiBzdGF0aWMgaW50IHBkY19wb3J0X3N0 YXJ0KHN0cnVjdCBhdGFfcG9ydCAqYXApOwogc3RhdGljIHZvaWQgcGRjX3BvcnRfc3RvcChzdHJ1 Y3QgYXRhX3BvcnQgKmFwKTsKQEAgLTEyOCw2ICsxMzIsMjYgQEAgc3RhdGljIHN0cnVjdCBhdGFf cG9ydF9vcGVyYXRpb25zIHBkY19hdAogCS5ob3N0X3N0b3AJCT0gYXRhX2hvc3Rfc3RvcCwKIH07 CiAKK3N0YXRpYyBzdHJ1Y3QgYXRhX3BvcnRfb3BlcmF0aW9ucyBwZGMyX2F0YV9vcHMgPSB7CisJ LnBvcnRfZGlzYWJsZQkJPSBhdGFfcG9ydF9kaXNhYmxlLAorCS50Zl9sb2FkCQk9IHBkY190Zl9s b2FkX21taW8sCisJLnRmX3JlYWQJCT0gYXRhX3RmX3JlYWQsCisJLmNoZWNrX3N0YXR1cwkJPSBh dGFfY2hlY2tfc3RhdHVzLAorCS5leGVjX2NvbW1hbmQJCT0gcGRjX2V4ZWNfY29tbWFuZF9tbWlv LAorCS5kZXZfc2VsZWN0CQk9IGF0YV9zdGRfZGV2X3NlbGVjdCwKKwkucGh5X3Jlc2V0CQk9IHBk Y19waHlfcmVzZXQsCisJLnFjX3ByZXAJCT0gcGRjX3FjX3ByZXAsCisJLnFjX2lzc3VlCQk9IHBk Y19xY19pc3N1ZV9wcm90LAorCS5lbmdfdGltZW91dAkJPSBwZGNfZW5nX3RpbWVvdXQsCisJLmly cV9oYW5kbGVyCQk9IHBkYzJfaW50ZXJydXB0LAorCS5pcnFfY2xlYXIJCT0gcGRjX2lycV9jbGVh ciwKKwkuc2NyX3JlYWQJCT0gcGRjX3NhdGFfc2NyX3JlYWQsCisJLnNjcl93cml0ZQkJPSBwZGNf c2F0YV9zY3Jfd3JpdGUsCisJLnBvcnRfc3RhcnQJCT0gcGRjX3BvcnRfc3RhcnQsCisJLnBvcnRf c3RvcAkJPSBwZGNfcG9ydF9zdG9wLAorCS5ob3N0X3N0b3AJCT0gYXRhX2hvc3Rfc3RvcCwKK307 CisKIHN0YXRpYyBzdHJ1Y3QgYXRhX3BvcnRfaW5mbyBwZGNfcG9ydF9pbmZvW10gPSB7CiAJLyog Ym9hcmRfMjAzN3ggKi8KIAl7CkBAIC0xNjEsNiArMTg1LDI4IEBAIHN0YXRpYyBzdHJ1Y3QgYXRh X3BvcnRfaW5mbyBwZGNfcG9ydF9pbmYKIAkJLnVkbWFfbWFzawk9IDB4N2YsIC8qIHVkbWEwLTYg OyBGSVhNRSAqLwogCQkucG9ydF9vcHMJPSAmcGRjX2F0YV9vcHMsCiAJfSwKKworCS8qIGJvYXJk XzIwNTd4ICovCisJeworCQkuc2h0CQk9ICZwZGNfYXRhX3NodCwKKwkJLmhvc3RfZmxhZ3MJPSAv KiBBVEFfRkxBR19TQVRBIHwgKi8gQVRBX0ZMQUdfTk9fTEVHQUNZIHwKKwkJCQkgIEFUQV9GTEFH X1NSU1QgfCBBVEFfRkxBR19NTUlPLAorCQkucGlvX21hc2sJPSAweDFmLCAvKiBwaW8wLTQgKi8K KwkJLm13ZG1hX21hc2sJPSAweDA3LCAvKiBtd2RtYTAtMiAqLworCQkudWRtYV9tYXNrCT0gMHg3 ZiwgLyogdWRtYTAtNiA7IEZJWE1FICovCisJCS5wb3J0X29wcwk9ICZwZGMyX2F0YV9vcHMsCisJ fSwKKworCS8qIGJvYXJkXzQwNTE4ICovCisJeworCQkuc2h0CQk9ICZwZGNfYXRhX3NodCwKKwkJ Lmhvc3RfZmxhZ3MJPSBBVEFfRkxBR19TQVRBIHwgQVRBX0ZMQUdfTk9fTEVHQUNZIHwKKwkJCQkg IEFUQV9GTEFHX1NSU1QgfCBBVEFfRkxBR19NTUlPLAorCQkucGlvX21hc2sJPSAweDFmLCAvKiBw aW8wLTQgKi8KKwkJLm13ZG1hX21hc2sJPSAweDA3LCAvKiBtd2RtYTAtMiAqLworCQkudWRtYV9t YXNrCT0gMHg3ZiwgLyogdWRtYTAtNiA7IEZJWE1FICovCisJCS5wb3J0X29wcwk9ICZwZGMyX2F0 YV9vcHMsCisJfSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldmljZV9pZCBwZGNfYXRhX3Bj aV90YmxbXSA9IHsKQEAgLTE3NSwxNiArMjIxLDE2IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpX2Rldmlj ZV9pZCBwZGNfYXRhX3BjaV8KIAl7IFBDSV9WRU5ET1JfSURfUFJPTUlTRSwgMHgzMzc2LCBQQ0lf QU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLAogCSAgYm9hcmRfMjAzN3ggfSwKIAl7IFBDSV9WRU5E T1JfSURfUFJPTUlTRSwgMHgzNTc0LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLAotCSAg Ym9hcmRfMjAzN3ggfSwKKwkgIGJvYXJkXzIwNTd4IH0sCiAJeyBQQ0lfVkVORE9SX0lEX1BST01J U0UsIDB4M2Q3NSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwKLQkgIGJvYXJkXzIwMzd4 IH0sCisJICBib2FyZF8yMDU3eCB9LAogCiAJeyBQQ0lfVkVORE9SX0lEX1BST01JU0UsIDB4MzMx OCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwKIAkgIGJvYXJkXzIwMzE5IH0sCiAJeyBQ Q0lfVkVORE9SX0lEX1BST01JU0UsIDB4MzMxOSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwg MCwKIAkgIGJvYXJkXzIwMzE5IH0sCiAJeyBQQ0lfVkVORE9SX0lEX1BST01JU0UsIDB4M2QxOCwg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwKLQkgIGJvYXJkXzIwMzE5IH0sCisJICBib2Fy ZF80MDUxOCB9LAogCiAJeyBQQ0lfVkVORE9SX0lEX1BST01JU0UsIDB4NjYyOSwgUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgMCwgMCwKIAkgIGJvYXJkXzIwNjE5IH0sCkBAIC00MzIsMzkgKzQ3OCwz NiBAQCBzdGF0aWMgdm9pZCBwZGNfaXJxX2NsZWFyKHN0cnVjdCBhdGFfcG9yCiAJcmVhZGwobW1p byArIFBEQ19JTlRfU0VRTUFTSyk7CiB9CiAKLXN0YXRpYyBpcnFyZXR1cm5fdCBwZGNfaW50ZXJy dXB0IChpbnQgaXJxLCB2b2lkICpkZXZfaW5zdGFuY2UsIHN0cnVjdCBwdF9yZWdzICpyZWdzKQor c3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcGRjX2ludGVycnVwdF9jb21tb24oaW50IGlycSwg dm9pZCAqZGV2X2luc3RhbmNlLCBzdHJ1Y3QgcHRfcmVncyAqcmVncywgdW5zaWduZWQgaW50IGhv dHBsdWdfcmVncykKIHsKIAlzdHJ1Y3QgYXRhX2hvc3Rfc2V0ICpob3N0X3NldCA9IGRldl9pbnN0 YW5jZTsKIAlzdHJ1Y3QgYXRhX3BvcnQgKmFwOwotCXUzMiBtYXNrID0gMDsKLQl1bnNpZ25lZCBp bnQgaSwgdG1wOwotCXVuc2lnbmVkIGludCBoYW5kbGVkID0gMDsKIAl2b2lkICptbWlvX2Jhc2U7 Ci0KLQlWUFJJTlRLKCJFTlRFUlxuIik7CisJdTMyIG1hc2sgPSAwOworCXVuc2lnbmVkIGludCBp LCB0bXAsIGhhbmRsZWQgPSAwOworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKIAlpZiAoIWhvc3Rf c2V0IHx8ICFob3N0X3NldC0+bW1pb19iYXNlKSB7Ci0JCVZQUklOVEsoIlFVSUNLIEVYSVRcbiIp OwotCQlyZXR1cm4gSVJRX05PTkU7CisJCXJldHVybiAwOwogCX0KIAogCW1taW9fYmFzZSA9IGhv c3Rfc2V0LT5tbWlvX2Jhc2U7CisJCisJc3Bpbl9sb2NrX2lycXNhdmUoJmhvc3Rfc2V0LT5sb2Nr LCBmbGFncyk7CiAKIAkvKiByZWFkaW5nIHNob3VsZCBhbHNvIGNsZWFyIGludGVycnVwdHMgKi8K IAltYXNrID0gcmVhZGwobW1pb19iYXNlICsgUERDX0lOVF9TRVFNQVNLKTsKIAogCWlmIChtYXNr ID09IDB4ZmZmZmZmZmYpIHsKIAkJVlBSSU5USygiUVVJQ0sgRVhJVCAyXG4iKTsKLQkJcmV0dXJu IElSUV9OT05FOworCQlnb3RvIGRvbmVfaXJxOwogCX0KIAltYXNrICY9IDB4ZmZmZjsJCS8qIG9u bHkgMTYgdGFncyBwb3NzaWJsZSAqLwogCWlmICghbWFzaykgewogCQlWUFJJTlRLKCJRVUlDSyBF WElUIDNcbiIpOwotCQlyZXR1cm4gSVJRX05PTkU7CisJCWdvdG8gZG9uZV9pcnE7CiAJfQogCi0J c3Bpbl9sb2NrKCZob3N0X3NldC0+bG9jayk7Ci0KIAl3cml0ZWwobWFzaywgbW1pb19iYXNlICsg UERDX0lOVF9TRVFNQVNLKTsKIAogCWZvciAoaSA9IDA7IGkgPCBob3N0X3NldC0+bl9wb3J0czsg aSsrKSB7CkBAIC00NzksMTIgKzUyMiwyMCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcGRjX2ludGVy cnVwdCAoaW50IGlyCiAJCQkJaGFuZGxlZCArPSBwZGNfaG9zdF9pbnRyKGFwLCBxYyk7CiAJCX0K IAl9CisgICAgICAgCitkb25lX2lycToKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZob3N0X3Nl dC0+bG9jaywgZmxhZ3MpOworCXJldHVybiBoYW5kbGVkOworfQogCi0gICAgICAgIHNwaW5fdW5s b2NrKCZob3N0X3NldC0+bG9jayk7Ci0KLQlWUFJJTlRLKCJFWElUXG4iKTsKK3N0YXRpYyBpcnFy ZXR1cm5fdCBwZGMyX2ludGVycnVwdChpbnQgaXJxLCB2b2lkICpkZXZfaW5zdGFuY2UsIHN0cnVj dCBwdF9yZWdzICpyZWdzKQoreworCXJldHVybiBJUlFfUkVUVkFMKHBkY19pbnRlcnJ1cHRfY29t bW9uKGlycSwgZGV2X2luc3RhbmNlLCByZWdzLCBQREMyX1NBVEFfUExVR19DU1IpKTsKK30KIAot CXJldHVybiBJUlFfUkVUVkFMKGhhbmRsZWQpOworc3RhdGljIGlycXJldHVybl90IHBkY19pbnRl cnJ1cHQgKGludCBpcnEsIHZvaWQgKmRldl9pbnN0YW5jZSwgc3RydWN0IHB0X3JlZ3MgKnJlZ3Mp Cit7CisJcmV0dXJuIElSUV9SRVRWQUwocGRjX2ludGVycnVwdF9jb21tb24oaXJxLCBkZXZfaW5z dGFuY2UsIHJlZ3MsIFBEQ19TQVRBX1BMVUdfQ1NSKSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9p ZCBwZGNfcGFja2V0X3N0YXJ0KHN0cnVjdCBhdGFfcXVldWVkX2NtZCAqcWMpCkBAIC01NjEsNiAr NjEyLDcgQEAgc3RhdGljIHZvaWQgcGRjX2F0YV9zZXR1cF9wb3J0KHN0cnVjdCBhdAogc3RhdGlj IHZvaWQgcGRjX2hvc3RfaW5pdCh1bnNpZ25lZCBpbnQgY2hpcF9pZCwgc3RydWN0IGF0YV9wcm9i ZV9lbnQgKnBlKQogewogCXZvaWQgKm1taW8gPSBwZS0+bW1pb19iYXNlOworCXZvaWQqIG9mZnNl dDsKIAl1MzIgdG1wOwogCiAJLyoKQEAgLTU3NCwxMyArNjI2LDE5IEBAIHN0YXRpYyB2b2lkIHBk Y19ob3N0X2luaXQodW5zaWduZWQgaW50IGMKIAl0bXAgfD0gMHgxMjAwMDsJLyogYml0IDE2IChm aWZvIDggZHcpIGFuZCAxMyAoYm1yIGJ1cnN0PykgKi8KIAl3cml0ZWwodG1wLCBtbWlvICsgUERD X0ZMQVNIX0NUTCk7CiAKKwlvZmZzZXQgPSBtbWlvOworCWlmIChjaGlwX2lkID49IGJvYXJkXzIw NTd4ICYmIGNoaXBfaWQgPD0gYm9hcmRfNDA1MTgpCisJCW9mZnNldCArPSBQREMyX1NBVEFfUExV R19DU1I7CisJZWxzZQorCQlvZmZzZXQgKz0gUERDX1NBVEFfUExVR19DU1I7CisJCiAJLyogY2xl YXIgcGx1Zy91bnBsdWcgZmxhZ3MgZm9yIGFsbCBwb3J0cyAqLwotCXRtcCA9IHJlYWRsKG1taW8g KyBQRENfU0FUQV9QTFVHX0NTUik7Ci0Jd3JpdGVsKHRtcCB8IDB4ZmYsIG1taW8gKyBQRENfU0FU QV9QTFVHX0NTUik7CisJdG1wID0gcmVhZGwob2Zmc2V0KTsKKwl3cml0ZWwodG1wIHwgMHhmZiwg b2Zmc2V0KTsKIAogCS8qIG1hc2sgcGx1Zy91bnBsdWcgaW50cyAqLwotCXRtcCA9IHJlYWRsKG1t aW8gKyBQRENfU0FUQV9QTFVHX0NTUik7Ci0Jd3JpdGVsKHRtcCB8IDB4ZmYwMDAwLCBtbWlvICsg UERDX1NBVEFfUExVR19DU1IpOworCXRtcCA9IHJlYWRsKG9mZnNldCk7CisJd3JpdGVsKHRtcCB8 IDB4ZmYwMDAwLCBvZmZzZXQpOwogCiAJLyogcmVkdWNlIFRCRyBjbG9jayB0byAxMzMgTWh6LiAq LwogCXRtcCA9IHJlYWRsKG1taW8gKyBQRENfVEJHX01PREUpOwpAQCAtNjc0LDYgKzczMiw3IEBA IHN0YXRpYyBpbnQgcGRjX2F0YV9pbml0X29uZSAoc3RydWN0IHBjaV8KIAkvKiBub3RpY2UgNC1w b3J0IGJvYXJkcyAqLwogCXN3aXRjaCAoYm9hcmRfaWR4KSB7CiAJY2FzZSBib2FyZF8yMDMxOToK KwljYXNlIGJvYXJkXzQwNTE4OgogICAgICAgIAkJcHJvYmVfZW50LT5uX3BvcnRzID0gNDsKIAog CQlwZGNfYXRhX3NldHVwX3BvcnQoJnByb2JlX2VudC0+cG9ydFsyXSwgYmFzZSArIDB4MzAwKTsK QEAgLTY4Niw2ICs3NDUsNyBAQCBzdGF0aWMgaW50IHBkY19hdGFfaW5pdF9vbmUgKHN0cnVjdCBw Y2lfCiAJCXByb2JlX2VudC0+cG9ydF9mbGFnc1szXSA9IEFUQV9GTEFHX1NBVEE7CiAJCWJyZWFr OwogCWNhc2UgYm9hcmRfMjAzN3g6CisJY2FzZSBib2FyZF8yMDU3eDoKIAkJLyogU29tZSBib2Fy ZHMgaGF2ZSBhbHNvIFBBVEEgcG9ydCAqLwogCQl0bXAgPSByZWFkYihtbWlvX2Jhc2UgKyBQRENf RkxBU0hfQ1RMKzEpOwogCQlpZiAoISh0bXAgJiAweDgwKSkK ------=_Part_682_20936341.1122056757047--