From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bartlomiej Zolnierkiewicz Subject: [git pull] IDE fixes for 2.6.28-rc7 Date: Tue, 2 Dec 2008 21:02:14 +0100 Message-ID: <200812022102.14690.bzolnier@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: base64 Return-path: Received: from gv-out-0910.google.com ([216.239.58.184]:64384 "EHLO gv-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750995AbYLBUFs (ORCPT ); Tue, 2 Dec 2008 15:05:48 -0500 Received: by gv-out-0910.google.com with SMTP id e6so589266gvc.37 for ; Tue, 02 Dec 2008 12:05:46 -0800 (PST) Content-Disposition: inline Sender: linux-ide-owner@vger.kernel.org List-Id: linux-ide@vger.kernel.org To: Linus Torvalds Cc: Andrew Morton , Stephen Rothwell , linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org CiogYW1kNzR4eCBob3N0IGRyaXZlciBmaXggZm9yIG5WaWRpYSBjb250cm9sbGVycyAodGhpcyBz aG91bGQgdGFrZQogIGNhcmUgb2YgbW9zdCBidWdyZXBvcnRzIGFib3V0IEFUQVBJIGRldmljZXMg bm90IHdvcmtpbmcgcHJvcGVybHkpIAoKICBbIGxpYmF0YSBkZXZlbG9wZXJzIGFyZSBlbmNvdXJh Z2VkIHRvIGNvcHkgdGhlIGZpeCB0byBwYXRhX2FtZAogICAgKHRoZSBpc3N1ZSBtYW5pZmVzdHMg aXRzZWxmIHdpdGggcGF0YV9hbWQgcmVwb3J0aW5nIGRpYWdub3N0aWNzCiAgICBmYWlsdXJlIG9u IGdvb2QgZGV2aWNlcykgXQoKKiBxdWlyayBmb3IgU0FNU1VORyBTUDA4MjJOIHdpdGggZmlybXdh cmUgV0ExMDAtMTAgdG8gYWxsb3cgVURNQSA+IDMzCgoqIGZpeCBpZGVfcmVsZWFzZV9sb2NrIGlt YmFsYW5jZSBmb3IgQXRhcmkgKGZyb20gTWljaGFlbCBTY2htaXR6KQoKKyBmZXcgbWlzYyBmaXhl cwoKCkxpbnVzLCBwbGVhc2UgcHVsbCBmcm9tOgoKbWFzdGVyLmtlcm5lbC5vcmc6L3B1Yi9zY20v bGludXgva2VybmVsL2dpdC9iYXJ0L2lkZS0yLjYuZ2l0LwoKdG8gcmVjZWl2ZSB0aGUgZm9sbG93 aW5nIHVwZGF0ZXM6CgogZHJpdmVycy9pZGUvYWxpbTE1eDMuYyAgfCAgICAyICstCiBkcml2ZXJz L2lkZS9hbWQ3NHh4LmMgICB8ICAgMTEgKysrKysrKysrKy0KIGRyaXZlcnMvaWRlL2lkZS1pby5j ICAgIHwgICAzMCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvaWRlL2lk ZS1pb3BzLmMgIHwgICAgOSArKystLS0tLS0KIGRyaXZlcnMvaWRlL2lkZS1wcm9iZS5jIHwgICAg MyArKy0KIGluY2x1ZGUvbGludXgvaWRlLmggICAgIHwgICAgOCArKysrKysrKwogNiBmaWxlcyBj aGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCgpCYXJ0bG9taWVqIFpv bG5pZXJraWV3aWN6ICg1KToKICAgICAgYW1kNzR4eDogd29ya2Fyb3VuZCB1bnJlbGlhYmxlIEFs dFN0YXR1cyByZWdpc3RlciBmb3IgblZpZGlhIGNvbnRyb2xsZXJzCiAgICAgIGlkZTogYWRkIFNB TVNVTkcgU1AwODIyTiB3aXRoIGZpcm13YXJlIFdBMTAwLTEwIHRvIGl2Yl9saXN0W10KICAgICAg aWRlOiByZXNwZWN0IGN1cnJlbnQgRE1BIHNldHRpbmcgZHVyaW5nIHJlc3VtZQogICAgICBpZGU6 IGZpeCBidWlsZCBmb3IgREVCVUdfUE0KICAgICAgaWRlOiByZW1vdmUgZGVhZCBjb2RlIGZyb20g ZHJpdmVfaXNfcmVhZHkoKQoKSGFubmVzIEVkZXIgKDEpOgogICAgICBhbGltMTV4MzogZml4IHNw YXJzZSB3YXJuaW5nCgpNaWNoYWVsIFNjaG1pdHogKDEpOgogICAgICBpZGU6IGZpeCB0aGUgaWRl X3JlbGVhc2VfbG9jayBpbWJhbGFuY2UKCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvYWxpbTE1 eDMuYyBiL2RyaXZlcnMvaWRlL2FsaW0xNXgzLmMKaW5kZXggZTU2YzdiNy4uNDVkMjM1NiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9pZGUvYWxpbTE1eDMuYworKysgYi9kcml2ZXJzL2lkZS9hbGltMTV4 My5jCkBAIC01OTEsNyArNTkxLDcgQEAgc3RhdGljIGludCBfX2luaXQgYWxpMTV4M19pZGVfaW5p dCh2b2lkKQogCiBzdGF0aWMgdm9pZCBfX2V4aXQgYWxpMTV4M19pZGVfZXhpdCh2b2lkKQogewot CXJldHVybiBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIoJmFsaW0xNXgzX3BjaV9kcml2ZXIpOworCXBj aV91bnJlZ2lzdGVyX2RyaXZlcigmYWxpbTE1eDNfcGNpX2RyaXZlcik7CiB9CiAKIG1vZHVsZV9p bml0KGFsaTE1eDNfaWRlX2luaXQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUvYW1kNzR4eC5j IGIvZHJpdmVycy9pZGUvYW1kNzR4eC5jCmluZGV4IDgxZWM3MzEuLmM2YmNkMzAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvaWRlL2FtZDc0eHguYworKysgYi9kcml2ZXJzL2lkZS9hbWQ3NHh4LmMKQEAg LTMsNyArMyw3IEBACiAgKiBJREUgZHJpdmVyIGZvciBMaW51eC4KICAqCiAgKiBDb3B5cmlnaHQg KGMpIDIwMDAtMjAwMiBWb2p0ZWNoIFBhdmxpawotICogQ29weXJpZ2h0IChjKSAyMDA3IEJhcnRs b21pZWogWm9sbmllcmtpZXdpY3oKKyAqIENvcHlyaWdodCAoYykgMjAwNy0yMDA4IEJhcnRsb21p ZWogWm9sbmllcmtpZXdpY3oKICAqCiAgKiBCYXNlZCBvbiB0aGUgd29yayBvZjoKICAqICAgICAg QW5kcmUgSGVkcmljawpAQCAtMjYzLDYgKzI2MywxNSBAQCBzdGF0aWMgaW50IF9fZGV2aW5pdCBh bWQ3NHh4X3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNl XwogCQkJZC51ZG1hX21hc2sgPSBBVEFfVURNQTU7CiAJfQogCisJLyoKKwkgKiBJdCBzZWVtcyB0 aGF0IG9uIHNvbWUgblZpZGlhIGNvbnRyb2xsZXJzIHVzaW5nIEFsdFN0YXR1cworCSAqIHJlZ2lz dGVyIGNhbiBiZSB1bnJlbGlhYmxlIHNvIGRlZmF1bHQgdG8gU3RhdHVzIHJlZ2lzdGVyCisJICog aWYgdGhlIGRldmljZSBpcyBpbiBDb21wYXRpYmlsaXR5IE1vZGUuCisJICovCisJaWYgKGRldi0+ dmVuZG9yID09IFBDSV9WRU5ET1JfSURfTlZJRElBICYmCisJICAgIGlkZV9wY2lfaXNfaW5fY29t cGF0aWJpbGl0eV9tb2RlKGRldikpCisJCWQuaG9zdF9mbGFncyB8PSBJREVfSEZMQUdfQlJPS0VO X0FMVFNUQVRVUzsKKwogCXByaW50ayhLRVJOX0lORk8gIiVzICVzOiBVRE1BJXMgY29udHJvbGxl clxuIiwKIAkJZC5uYW1lLCBwY2lfbmFtZShkZXYpLCBhbWRfZG1hW2ZscyhkLnVkbWFfbWFzaykg LSAxXSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWRlL2lkZS1pby5jIGIvZHJpdmVycy9pZGUv aWRlLWlvLmMKaW5kZXggNzE2MmQ2Ny4uN2QyNzViMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUv aWRlLWlvLmMKKysrIGIvZHJpdmVycy9pZGUvaWRlLWlvLmMKQEAgLTEzMiwxMCArMTMyLDE0IEBA IGludCBpZGVfZW5kX3JlcXVlc3QgKGlkZV9kcml2ZV90ICpkcml2ZSwgaW50IHVwdG9kYXRlLCBp bnQgbnJfc2VjdG9ycykKIH0KIEVYUE9SVF9TWU1CT0woaWRlX2VuZF9yZXF1ZXN0KTsKIAotc3Rh dGljIHZvaWQgaWRlX2NvbXBsZXRlX3Bvd2VyX3N0ZXAoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1 Y3QgcmVxdWVzdCAqcnEsIHU4IHN0YXQsIHU4IGVycm9yKQorc3RhdGljIHZvaWQgaWRlX2NvbXBs ZXRlX3Bvd2VyX3N0ZXAoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1Y3QgcmVxdWVzdCAqcnEpCiB7 CiAJc3RydWN0IHJlcXVlc3RfcG1fc3RhdGUgKnBtID0gcnEtPmRhdGE7CiAKKyNpZmRlZiBERUJV R19QTQorCXByaW50ayhLRVJOX0lORk8gIiVzOiBjb21wbGV0ZV9wb3dlcl9zdGVwKHN0ZXA6ICVk KVxuIiwKKwkJZHJpdmUtPm5hbWUsIHBtLT5wbV9zdGVwKTsKKyNlbmRpZgogCWlmIChkcml2ZS0+ bWVkaWEgIT0gaWRlX2Rpc2spCiAJCXJldHVybjsKIApAQCAtMTcyLDcgKzE3Niw3IEBAIHN0YXRp YyBpZGVfc3RhcnRzdG9wX3QgaWRlX3N0YXJ0X3Bvd2VyX3N0ZXAoaWRlX2RyaXZlX3QgKmRyaXZl LCBzdHJ1Y3QgcmVxdWVzdCAqCiAJCS8qIE5vdCBzdXBwb3J0ZWQ/IFN3aXRjaCB0byBuZXh0IHN0 ZXAgbm93LiAqLwogCQlpZiAoYXRhX2lkX2ZsdXNoX2VuYWJsZWQoZHJpdmUtPmlkKSA9PSAwIHx8 CiAJCSAgICAoZHJpdmUtPmRldl9mbGFncyAmIElERV9ERkxBR19XQ0FDSEUpID09IDApIHsKLQkJ CWlkZV9jb21wbGV0ZV9wb3dlcl9zdGVwKGRyaXZlLCBycSwgMCwgMCk7CisJCQlpZGVfY29tcGxl dGVfcG93ZXJfc3RlcChkcml2ZSwgcnEpOwogCQkJcmV0dXJuIGlkZV9zdG9wcGVkOwogCQl9CiAJ CWlmIChhdGFfaWRfZmx1c2hfZXh0X2VuYWJsZWQoZHJpdmUtPmlkKSkKQEAgLTE5MSw3ICsxOTUs NyBAQCBzdGF0aWMgaWRlX3N0YXJ0c3RvcF90IGlkZV9zdGFydF9wb3dlcl9zdGVwKGlkZV9kcml2 ZV90ICpkcml2ZSwgc3RydWN0IHJlcXVlc3QgKgogCQlpZiAoZHJpdmUtPm1lZGlhICE9IGlkZV9k aXNrKQogCQkJcG0tPnBtX3N0ZXAgPSBJREVfUE1fUkVTVE9SRV9ETUE7CiAJCWVsc2UKLQkJCWlk ZV9jb21wbGV0ZV9wb3dlcl9zdGVwKGRyaXZlLCBycSwgMCwgMCk7CisJCQlpZGVfY29tcGxldGVf cG93ZXJfc3RlcChkcml2ZSwgcnEpOwogCQlyZXR1cm4gaWRlX3N0b3BwZWQ7CiAJY2FzZSBJREVf UE1fSURMRToJCS8qIFJlc3VtZSBzdGVwIDIgKGlkbGUpICovCiAJCWFyZ3MtPnRmLmNvbW1hbmQg PSBBVEFfQ01EX0lETEVJTU1FRElBVEU7CkBAIC0yMDQsMTAgKzIwOCw4IEBAIHN0YXRpYyBpZGVf c3RhcnRzdG9wX3QgaWRlX3N0YXJ0X3Bvd2VyX3N0ZXAoaWRlX2RyaXZlX3QgKmRyaXZlLCBzdHJ1 Y3QgcmVxdWVzdCAqCiAJCSAqLwogCQlpZiAoZHJpdmUtPmh3aWYtPmRtYV9vcHMgPT0gTlVMTCkK IAkJCWJyZWFrOwotCQkvKgotCQkgKiBUT0RPOiByZXNwZWN0IElERV9ERkxBR19VU0lOR19ETUEK LQkJICovCi0JCWlkZV9zZXRfZG1hKGRyaXZlKTsKKwkJaWYgKGRyaXZlLT5kZXZfZmxhZ3MgJiBJ REVfREZMQUdfVVNJTkdfRE1BKQorCQkJaWRlX3NldF9kbWEoZHJpdmUpOwogCQlicmVhazsKIAl9 CiAKQEAgLTMyMiwxMSArMzI0LDggQEAgdm9pZCBpZGVfZW5kX2RyaXZlX2NtZCAoaWRlX2RyaXZl X3QgKmRyaXZlLCB1OCBzdGF0LCB1OCBlcnIpCiAJCX0KIAl9IGVsc2UgaWYgKGJsa19wbV9yZXF1 ZXN0KHJxKSkgewogCQlzdHJ1Y3QgcmVxdWVzdF9wbV9zdGF0ZSAqcG0gPSBycS0+ZGF0YTsKLSNp ZmRlZiBERUJVR19QTQotCQlwcmludGsoIiVzOiBjb21wbGV0ZV9wb3dlcl9zdGVwKHN0ZXA6ICVk LCBzdGF0OiAleCwgZXJyOiAleClcbiIsCi0JCQlkcml2ZS0+bmFtZSwgcnEtPnBtLT5wbV9zdGVw LCBzdGF0LCBlcnIpOwotI2VuZGlmCi0JCWlkZV9jb21wbGV0ZV9wb3dlcl9zdGVwKGRyaXZlLCBy cSwgc3RhdCwgZXJyKTsKKworCQlpZGVfY29tcGxldGVfcG93ZXJfc3RlcChkcml2ZSwgcnEpOwog CQlpZiAocG0tPnBtX3N0ZXAgPT0gSURFX1BNX0NPTVBMRVRFRCkKIAkJCWlkZV9jb21wbGV0ZV9w bV9yZXF1ZXN0KGRyaXZlLCBycSk7CiAJCXJldHVybjsKQEAgLTgwNCw3ICs4MDMsNyBAQCBzdGF0 aWMgaWRlX3N0YXJ0c3RvcF90IHN0YXJ0X3JlcXVlc3QgKGlkZV9kcml2ZV90ICpkcml2ZSwgc3Ry dWN0IHJlcXVlc3QgKnJxKQogCQkJc3RydWN0IHJlcXVlc3RfcG1fc3RhdGUgKnBtID0gcnEtPmRh dGE7CiAjaWZkZWYgREVCVUdfUE0KIAkJCXByaW50aygiJXM6IHN0YXJ0X3Bvd2VyX3N0ZXAoc3Rl cDogJWQpXG4iLAotCQkJCWRyaXZlLT5uYW1lLCBycS0+cG0tPnBtX3N0ZXApOworCQkJCWRyaXZl LT5uYW1lLCBwbS0+cG1fc3RlcCk7CiAjZW5kaWYKIAkJCXN0YXJ0c3RvcCA9IGlkZV9zdGFydF9w b3dlcl9zdGVwKGRyaXZlLCBycSk7CiAJCQlpZiAoc3RhcnRzdG9wID09IGlkZV9zdG9wcGVkICYm CkBAIC05NjcsMTQgKzk2NiwxMyBAQCBzdGF0aWMgdm9pZCBpZGVfZG9fcmVxdWVzdCAoaWRlX2h3 Z3JvdXBfdCAqaHdncm91cCwgaW50IG1hc2tlZF9pcnEpCiAJaWRlX3N0YXJ0c3RvcF90CXN0YXJ0 c3RvcDsKIAlpbnQgICAgICAgICAgICAgbG9vcHMgPSAwOwogCi0JLyogZm9yIGF0YXJpIG9ubHk6 IFBPU1NJQkxZIEJST0tFTiBIRVJFKD8pICovCi0JaWRlX2dldF9sb2NrKGlkZV9pbnRyLCBod2dy b3VwKTsKLQogCS8qIGNhbGxlciBtdXN0IG93biBpZGVfbG9jayAqLwogCUJVR19PTighaXJxc19k aXNhYmxlZCgpKTsKIAogCXdoaWxlICghaHdncm91cC0+YnVzeSkgewogCQlod2dyb3VwLT5idXN5 ID0gMTsKKwkJLyogZm9yIGF0YXJpIG9ubHkgKi8KKwkJaWRlX2dldF9sb2NrKGlkZV9pbnRyLCBo d2dyb3VwKTsKIAkJZHJpdmUgPSBjaG9vc2VfZHJpdmUoaHdncm91cCk7CiAJCWlmIChkcml2ZSA9 PSBOVUxMKSB7CiAJCQlpbnQgc2xlZXBpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pZGUv aWRlLWlvcHMuYyBiL2RyaXZlcnMvaWRlL2lkZS1pb3BzLmMKaW5kZXggNWQ2YmExNC4uYzQxYzNi OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9pZGUvaWRlLWlvcHMuYworKysgYi9kcml2ZXJzL2lkZS9p ZGUtaW9wcy5jCkBAIC00NTcsMTggKzQ1NywxNCBAQCBpbnQgZHJpdmVfaXNfcmVhZHkgKGlkZV9k cml2ZV90ICpkcml2ZSkKIAlpZiAoZHJpdmUtPndhaXRpbmdfZm9yX2RtYSkKIAkJcmV0dXJuIGh3 aWYtPmRtYV9vcHMtPmRtYV90ZXN0X2lycShkcml2ZSk7CiAKLSNpZiAwCi0JLyogbmVlZCB0byBn dWFyYW50ZWUgNDAwbnMgc2luY2UgbGFzdCBjb21tYW5kIHdhcyBpc3N1ZWQgKi8KLQl1ZGVsYXko MSk7Ci0jZW5kaWYKLQogCS8qCiAJICogV2UgZG8gYSBwYXNzaXZlIHN0YXR1cyB0ZXN0IHVuZGVy IHNoYXJlZCBQQ0kgaW50ZXJydXB0cyBvbgogCSAqIGNhcmRzIHRoYXQgdHJ1bHkgc2hhcmUgdGhl IEFUQSBzaWRlIGludGVycnVwdCwgYnV0IG1heSBhbHNvIHNoYXJlCiAJICogYW4gaW50ZXJydXB0 IHdpdGggYW5vdGhlciBwY2kgY2FyZC9kZXZpY2UuICBXZSBtYWtlIG5vIGFzc3VtcHRpb25zCiAJ ICogYWJvdXQgcG9zc2libGUgaXNhLXBucCBhbmQgcGNpLXBucCBpc3N1ZXMgeWV0LgogCSAqLwot CWlmIChod2lmLT5pb19wb3J0cy5jdGxfYWRkcikKKwlpZiAoaHdpZi0+aW9fcG9ydHMuY3RsX2Fk ZHIgJiYKKwkgICAgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVfSEZMQUdfQlJPS0VOX0FMVFNUQVRV UykgPT0gMCkKIAkJc3RhdCA9IGh3aWYtPnRwX29wcy0+cmVhZF9hbHRzdGF0dXMoaHdpZik7CiAJ ZWxzZQogCQkvKiBOb3RlOiB0aGlzIG1heSBjbGVhciBhIHBlbmRpbmcgSVJRISEgKi8KQEAgLTYx MCw2ICs2MDYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRyaXZlX2xpc3RfZW50cnkgaXZiX2xp c3RbXSA9IHsKIAl7ICJUU1NUY29ycCBDRERWRFcgU0gtUzIwMk4iCSwgIlNCMDEiCX0sCiAJeyAi VFNTVGNvcnAgQ0REVkRXIFNILVMyMDJIIgksICJTQjAwIgl9LAogCXsgIlRTU1Rjb3JwIENERFZE VyBTSC1TMjAySCIJLCAiU0IwMSIJfSwKKwl7ICJTQU1TVU5HIFNQMDgyMk4iCQksICJXQTEwMC0x MCIJfSwKIAl7IE5VTEwJCQkJLCBOVUxMCQl9CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lk ZS9pZGUtcHJvYmUuYyBiL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCmluZGV4IDE2NDllYTUuLmM1 NWJkYmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaWRlL2lkZS1wcm9iZS5jCisrKyBiL2RyaXZlcnMv aWRlL2lkZS1wcm9iZS5jCkBAIC0yNjYsNyArMjY2LDggQEAgc3RhdGljIGludCBhY3R1YWxfdHJ5 X3RvX2lkZW50aWZ5IChpZGVfZHJpdmVfdCAqZHJpdmUsIHU4IGNtZCkKIAkvKiB0YWtlIGEgZGVl cCBicmVhdGggKi8KIAltc2xlZXAoNTApOwogCi0JaWYgKGlvX3BvcnRzLT5jdGxfYWRkcikgewor CWlmIChpb19wb3J0cy0+Y3RsX2FkZHIgJiYKKwkgICAgKGh3aWYtPmhvc3RfZmxhZ3MgJiBJREVf SEZMQUdfQlJPS0VOX0FMVFNUQVRVUykgPT0gMCkgewogCQlhID0gdHBfb3BzLT5yZWFkX2FsdHN0 YXR1cyhod2lmKTsKIAkJcyA9IHRwX29wcy0+cmVhZF9zdGF0dXMoaHdpZik7CiAJCWlmICgoYSBe IHMpICYgfkFUQV9JRFgpCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lkZS5oIGIvaW5jbHVk ZS9saW51eC9pZGUuaAppbmRleCA1NDUyNWJlLi4wMTBmYjI2IDEwMDY0NAotLS0gYS9pbmNsdWRl L2xpbnV4L2lkZS5oCisrKyBiL2luY2x1ZGUvbGludXgvaWRlLmgKQEAgLTEyOTYsNiArMTI5Niwx MyBAQCBleHRlcm4gaW50IF9faWRlX3BjaV9yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHBjaV9kcml2 ZXIgKmRyaXZlciwgc3RydWN0IG1vZHVsZSAqbwogI2RlZmluZSBpZGVfcGNpX3JlZ2lzdGVyX2Ry aXZlcihkKSBwY2lfcmVnaXN0ZXJfZHJpdmVyKGQpCiAjZW5kaWYKIAorc3RhdGljIGlubGluZSBp bnQgaWRlX3BjaV9pc19pbl9jb21wYXRpYmlsaXR5X21vZGUoc3RydWN0IHBjaV9kZXYgKmRldikK K3sKKwlpZiAoKGRldi0+Y2xhc3MgPj4gOCkgPT0gUENJX0NMQVNTX1NUT1JBR0VfSURFICYmIChk ZXYtPmNsYXNzICYgNSkgIT0gNSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKIHZvaWQg aWRlX3BjaV9zZXR1cF9wb3J0cyhzdHJ1Y3QgcGNpX2RldiAqLCBjb25zdCBzdHJ1Y3QgaWRlX3Bv cnRfaW5mbyAqLCBpbnQsCiAJCQkgaHdfcmVnc190ICosIGh3X3JlZ3NfdCAqKik7CiB2b2lkIGlk ZV9zZXR1cF9wY2lfbm9pc2Uoc3RydWN0IHBjaV9kZXYgKiwgY29uc3Qgc3RydWN0IGlkZV9wb3J0 X2luZm8gKik7CkBAIC0xMzc1LDYgKzEzODIsNyBAQCBlbnVtIHsKIAlJREVfSEZMQUdfSU9fMzJC SVQJCT0gKDEgPDwgMjQpLAogCS8qIHVubWFzayBJUlFzICovCiAJSURFX0hGTEFHX1VOTUFTS19J UlFTCQk9ICgxIDw8IDI1KSwKKwlJREVfSEZMQUdfQlJPS0VOX0FMVFNUQVRVUwk9ICgxIDw8IDI2 KSwKIAkvKiBzZXJpYWxpemUgcG9ydHMgaWYgRE1BIGlzIHBvc3NpYmxlIChmb3Igc2w4MmMxMDUp ICovCiAJSURFX0hGTEFHX1NFUklBTElaRV9ETUEJCT0gKDEgPDwgMjcpLAogCS8qIGZvcmNlIGhv c3Qgb3V0IG9mICJzaW1wbGV4IiBtb2RlICovCgAK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752535AbYLBUGG (ORCPT ); Tue, 2 Dec 2008 15:06:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751018AbYLBUFu (ORCPT ); Tue, 2 Dec 2008 15:05:50 -0500 Received: from gv-out-0910.google.com ([216.239.58.185]:3366 "EHLO gv-out-0910.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751006AbYLBUFt (ORCPT ); Tue, 2 Dec 2008 15:05:49 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:subject:user-agent:cc:mime-version:content-disposition:date :message-id:content-type:content-transfer-encoding; b=gni8LMNadN6Sca5E/zGmb9uHJ4zpOP59QvKIXt9qclz3AraZgbbH4U9IMtxfGeYWd7 E7FO+4aBB58tw75KeQosjVCyLzB9oU9X601nJy9Hlxrzoa07ZIC6rrIOW3ZyT/+vr9nM b2mORQ2dqWptV0v/bs4DRnjRCUG2V+JM5+500= From: Bartlomiej Zolnierkiewicz To: Linus Torvalds Subject: [git pull] IDE fixes for 2.6.28-rc7 User-Agent: KMail/1.9.9 Cc: Andrew Morton , Stephen Rothwell , linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org MIME-Version: 1.0 Content-Disposition: inline Date: Tue, 2 Dec 2008 21:02:14 +0100 Message-Id: <200812022102.14690.bzolnier@gmail.com> Content-Type: text/plain; charset="iso-8859-1" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by alpha id mB2K6Adq027437 * amd74xx host driver fix for nVidia controllers (this should take care of most bugreports about ATAPI devices not working properly) [ libata developers are encouraged to copy the fix to pata_amd (the issue manifests itself with pata_amd reporting diagnostics failure on good devices) ] * quirk for SAMSUNG SP0822N with firmware WA100-10 to allow UDMA > 33 * fix ide_release_lock imbalance for Atari (from Michael Schmitz) + few misc fixes Linus, please pull from: master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6.git/ to receive the following updates: drivers/ide/alim15x3.c | 2 +- drivers/ide/amd74xx.c | 11 ++++++++++- drivers/ide/ide-io.c | 30 ++++++++++++++---------------- drivers/ide/ide-iops.c | 9 +++------ drivers/ide/ide-probe.c | 3 ++- include/linux/ide.h | 8 ++++++++ 6 files changed, 38 insertions(+), 25 deletions(-) Bartlomiej Zolnierkiewicz (5): amd74xx: workaround unreliable AltStatus register for nVidia controllers ide: add SAMSUNG SP0822N with firmware WA100-10 to ivb_list[] ide: respect current DMA setting during resume ide: fix build for DEBUG_PM ide: remove dead code from drive_is_ready() Hannes Eder (1): alim15x3: fix sparse warning Michael Schmitz (1): ide: fix the ide_release_lock imbalance diff --git a/drivers/ide/alim15x3.c b/drivers/ide/alim15x3.cindex e56c7b7..45d2356 100644--- a/drivers/ide/alim15x3.c+++ b/drivers/ide/alim15x3.c@@ -591,7 +591,7 @@ static int __init ali15x3_ide_init(void) static void __exit ali15x3_ide_exit(void) {- return pci_unregister_driver(&alim15x3_pci_driver);+ pci_unregister_driver(&alim15x3_pci_driver); } module_init(ali15x3_ide_init);diff --git a/drivers/ide/amd74xx.c b/drivers/ide/amd74xx.cindex 81ec731..c6bcd30 100644--- a/drivers/ide/amd74xx.c+++ b/drivers/ide/amd74xx.c@@ -3,7 +3,7 @@ * IDE driver for Linux. * * Copyright (c) 2000-2002 Vojtech Pavlik- * Copyright (c) 2007 Bartlomiej Zolnierkiewicz+ * Copyright (c) 2007-2008 Bartlomiej Zolnierkiewicz * * Based on the work of: * Andre Hedrick@@ -263,6 +263,15 @@ static int __devinit amd74xx_probe(struct pci_dev *dev, const struct pci_device_ d.udma_mask = ATA_UDMA5; } + /*+ * It seems that on some nVidia controllers using AltStatus+ * register can be unreliable so default to Status register+ * if the device is in Compatibility Mode.+ */+ if (dev->vendor == PCI_VENDOR_ID_NVIDIA &&+ ide_pci_is_in_compatibility_mode(dev))+ d.host_flags |= IDE_HFLAG_BROKEN_ALTSTATUS;+ printk(KERN_INFO "%s %s: UDMA%s controller\n", d.name, pci_name(dev), amd_dma[fls(d.udma_mask) - 1]); diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.cindex 7162d67..7d275b2 100644--- a/drivers/ide/ide-io.c+++ b/drivers/ide/ide-io.c@@ -132,10 +132,14 @@ int ide_end_request (ide_drive_t *drive, int uptodate, int nr_sectors) } EXPORT_SYMBOL(ide_end_request); -static void ide_complete_power_step(ide_drive_t *drive, struct request *rq, u8 stat, u8 error)+static void ide_complete_power_step(ide_drive_t *drive, struct request *rq) { struct request_pm_state *pm = rq->data; +#ifdef DEBUG_PM+ printk(KERN_INFO "%s: complete_power_step(step: %d)\n",+ drive->name, pm->pm_step);+#endif if (drive->media != ide_disk) return; @@ -172,7 +176,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * /* Not supported? Switch to next step now. */ if (ata_id_flush_enabled(drive->id) == 0 || (drive->dev_flags & IDE_DFLAG_WCACHE) == 0) {- ide_complete_power_step(drive, rq, 0, 0);+ ide_complete_power_step(drive, rq); return ide_stopped; } if (ata_id_flush_ext_enabled(drive->id))@@ -191,7 +195,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * if (drive->media != ide_disk) pm->pm_step = IDE_PM_RESTORE_DMA; else- ide_complete_power_step(drive, rq, 0, 0);+ ide_complete_power_step(drive, rq); return ide_stopped; case IDE_PM_IDLE: /* Resume step 2 (idle) */ args->tf.command = ATA_CMD_IDLEIMMEDIATE;@@ -204,10 +208,8 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request * */ if (drive->hwif->dma_ops == NULL) break;- /*- * TODO: respect IDE_DFLAG_USING_DMA- */- ide_set_dma(drive);+ if (drive->dev_flags & IDE_DFLAG_USING_DMA)+ ide_set_dma(drive); break; } @@ -322,11 +324,8 @@ void ide_end_drive_cmd (ide_drive_t *drive, u8 stat, u8 err) } } else if (blk_pm_request(rq)) { struct request_pm_state *pm = rq->data;-#ifdef DEBUG_PM- printk("%s: complete_power_step(step: %d, stat: %x, err: %x)\n",- drive->name, rq->pm->pm_step, stat, err);-#endif- ide_complete_power_step(drive, rq, stat, err);++ ide_complete_power_step(drive, rq); if (pm->pm_step == IDE_PM_COMPLETED) ide_complete_pm_request(drive, rq); return;@@ -804,7 +803,7 @@ static ide_startstop_t start_request (ide_drive_t *drive, struct request *rq) struct request_pm_state *pm = rq->data; #ifdef DEBUG_PM printk("%s: start_power_step(step: %d)\n",- drive->name, rq->pm->pm_step);+ drive->name, pm->pm_step); #endif startstop = ide_start_power_step(drive, rq); if (startstop == ide_stopped &&@@ -967,14 +966,13 @@ static void ide_do_request (ide_hwgroup_t *hwgroup, int masked_irq) ide_startstop_t startstop; int loops = 0; - /* for atari only: POSSIBLY BROKEN HERE(?) */- ide_get_lock(ide_intr, hwgroup);- /* caller must own ide_lock */ BUG_ON(!irqs_disabled()); while (!hwgroup->busy) { hwgroup->busy = 1;+ /* for atari only */+ ide_get_lock(ide_intr, hwgroup); drive = choose_drive(hwgroup); if (drive == NULL) { int sleeping = 0;diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.cindex 5d6ba14..c41c3b9 100644--- a/drivers/ide/ide-iops.c+++ b/drivers/ide/ide-iops.c@@ -457,18 +457,14 @@ int drive_is_ready (ide_drive_t *drive) if (drive->waiting_for_dma) return hwif->dma_ops->dma_test_irq(drive); -#if 0- /* need to guarantee 400ns since last command was issued */- udelay(1);-#endif- /* * We do a passive status test under shared PCI interrupts on * cards that truly share the ATA side interrupt, but may also share * an interrupt with another pci card/device. We make no assumptions * about possible isa-pnp and pci-pnp issues yet. */- if (hwif->io_ports.ctl_addr)+ if (hwif->io_ports.ctl_addr &&+ (hwif->host_flags & IDE_HFLAG_BROKEN_ALTSTATUS) == 0) stat = hwif->tp_ops->read_altstatus(hwif); else /* Note: this may clear a pending IRQ!! */@@ -610,6 +606,7 @@ static const struct drive_list_entry ivb_list[] = { { "TSSTcorp CDDVDW SH-S202N" , "SB01" }, { "TSSTcorp CDDVDW SH-S202H" , "SB00" }, { "TSSTcorp CDDVDW SH-S202H" , "SB01" },+ { "SAMSUNG SP0822N" , "WA100-10" }, { NULL , NULL } }; diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.cindex 1649ea5..c55bdbd 100644--- a/drivers/ide/ide-probe.c+++ b/drivers/ide/ide-probe.c@@ -266,7 +266,8 @@ static int actual_try_to_identify (ide_drive_t *drive, u8 cmd) /* take a deep breath */ msleep(50); - if (io_ports->ctl_addr) {+ if (io_ports->ctl_addr &&+ (hwif->host_flags & IDE_HFLAG_BROKEN_ALTSTATUS) == 0) { a = tp_ops->read_altstatus(hwif); s = tp_ops->read_status(hwif); if ((a ^ s) & ~ATA_IDX)diff --git a/include/linux/ide.h b/include/linux/ide.hindex 54525be..010fb26 100644--- a/include/linux/ide.h+++ b/include/linux/ide.h@@ -1296,6 +1296,13 @@ extern int __ide_pci_register_driver(struct pci_driver *driver, struct module *o #define ide_pci_register_driver(d) pci_register_driver(d) #endif +static inline int ide_pci_is_in_compatibility_mode(struct pci_dev *dev)+{+ if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE && (dev->class & 5) != 5)+ return 1;+ return 0;+}+ void ide_pci_setup_ports(struct pci_dev *, const struct ide_port_info *, int, hw_regs_t *, hw_regs_t **); void ide_setup_pci_noise(struct pci_dev *, const struct ide_port_info *);@@ -1375,6 +1382,7 @@ enum { IDE_HFLAG_IO_32BIT = (1 << 24), /* unmask IRQs */ IDE_HFLAG_UNMASK_IRQS = (1 << 25),+ IDE_HFLAG_BROKEN_ALTSTATUS = (1 << 26), /* serialize ports if DMA is possible (for sl82c105) */ IDE_HFLAG_SERIALIZE_DMA = (1 << 27), /* force host out of "simplex" mode */ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayºʇڙë,j­¢f£¢·hšïêÿ‘êçz_è®(­éšŽŠÝ¢j"ú¶m§ÿÿ¾«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^¶m§ÿÿà ÿ¶ìÿ¢¸?–I¥