From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH] drm/i915: Fix failure paths around initial fbdev allocation Date: Tue, 30 Jun 2015 10:06:27 +0100 Message-ID: <1435655187-8769-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 4C7586E25D for ; Tue, 30 Jun 2015 02:06:32 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldlIGhhZCB0 aHJlZSBmYWlsdXJlIG1vZGVzIGhlcmU6CgoxLgpEZWFkbG9jayBpbiBpbnRlbGZiX2FsbG9jIGZh aWx1cmUgcGF0aCB3aGVyZSBpdCBjYWxscwpkcm1fZnJhbWVidWZmZXJfcmVtb3ZlLCB3aGljaCBn cmFicyB0aGUgc3RydWN0IG11dGV4IGFuZCBpbnRlbGZiX2NyZWF0ZQooY2FsbGVyIG9mIGludGVs ZmJfYWxsb2MpIHdhcyBhbHJlYWR5IGhvbGRpbmcgaXQuCgoyLgpEb3VibGUgdW5yZWZlcmVuY2Ug b24gdGhlIG9iamVjdCBpZiBfX2ludGVsX2ZyYW1lYnVmZmVyX2NyZWF0ZSBmYWlscwpzaW5jZSBi b3RoIGl0IGFuZCB0aGUgY2FsbGVyIChpbnRlbGZiX2FsbG9jKSBkbyB0aGUgdW5yZWZlcmVuY2Uu CgozLgpEZWFkbG9jayBpbiBpbnRlbGZiX2NyZWF0ZSBmYWlsdXJlIHBhdGggd2hlcmUgaXQgY2Fs bHMKZHJtX2ZyYW1lYnVmZmVyX3VucmVmZXJlbmNlLCB3aGljaCBncmFicyB0aGUgc3RydWN0IG11 dGV4IGFuZAppbnRlbGZiX2NyZWF0ZSB3YXMgYWxyZWFkeSBob2xkaW5nIGl0LgoKdjI6CiAgICog UmVmb3JtYXQgY29tbWl0IG1zZyB0byA3MiBjaGFycy4gKEx1a2FzIFd1bm5lcikKICAgKiBBZGRl ZCB0aGlyZCBmYWlsdXJlIG1vZGUuIChMdWthcyBXdW5uZXIpCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpGaXhlczogNjBhNWNhMDE1ZmZk MmFhY2ZlNTY3NGI1YTQwMWNkMmEzNzE1OWUwNwpSZXBvcnRlZC1CeTogTHVrYXMgV3VubmVyIDxs dWthc0B3dW5uZXIuZGU+ClRlc3RlZC1CeTogTHVrYXMgV3VubmVyIDxsdWthc0B3dW5uZXIuZGU+ CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBMdWthcyBXdW5uZXIg PGx1a2FzQHd1bm5lci5kZT4KLS0tClZpbGxlLCB5b3Ugc3VnZ2VzdGVkIHNvbWUgY2hhbmdlcyBl YXJsaWVyOwoKIiIiCkkgc3VnZ2VzdCByZW1vdmluZyB0aGUgdW5yZWYgZnJvbSBfX2ludGVsX2Zy YW1lYnVmZmVyX2NyZWF0ZSgpLgoiIiIKCkRvIHlvdSB2aWV3IHRoYXQgYXMgYW4gaW1wcm92ZW1l bnQgaW4gY29kZSBjbGFyaXR5L29yZ2FuaXNhdGlvbiwKb3IgeW91IHRoaW5rIG15IHZlcnNpb24g aXMgYWN0dWFsbHkgd3JvbmcgZm9yIHNvbWUgcmVhc29uPwotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2ZiZGV2LmMgfCAyMSArKysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCAxMyBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9mYmRldi5jCmluZGV4IDJhMTcyNGUuLjExODQyMGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZmJkZXYuYwpAQCAtMTQxLDcgKzE0MSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxmYl9hbGxvYyhzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogewogCXN0cnVjdCBpbnRlbF9mYmRldiAqaWZiZGV2 ID0KIAkJY29udGFpbmVyX29mKGhlbHBlciwgc3RydWN0IGludGVsX2ZiZGV2LCBoZWxwZXIpOwot CXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiOworCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi ID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaGVscGVyLT5kZXY7CiAJc3RydWN0 IGRybV9tb2RlX2ZiX2NtZDIgbW9kZV9jbWQgPSB7fTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqOwpAQCAtMTU5LDYgKzE1OSw4IEBAIHN0YXRpYyBpbnQgaW50ZWxmYl9hbGxvYyhz dHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCW1vZGVfY21kLnBpeGVsX2Zvcm1hdCA9IGRy bV9tb2RlX2xlZ2FjeV9mYl9mb3JtYXQoc2l6ZXMtPnN1cmZhY2VfYnBwLAogCQkJCQkJCSAgc2l6 ZXMtPnN1cmZhY2VfZGVwdGgpOwogCisJbXV0ZXhfbG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwor CiAJc2l6ZSA9IG1vZGVfY21kLnBpdGNoZXNbMF0gKiBtb2RlX2NtZC5oZWlnaHQ7CiAJc2l6ZSA9 IFBBR0VfQUxJR04oc2l6ZSk7CiAJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4o ZGV2LCBzaXplKTsKQEAgLTE3Miw4ICsxNzQsOSBAQCBzdGF0aWMgaW50IGludGVsZmJfYWxsb2Mo c3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciwKIAogCWZiID0gX19pbnRlbF9mcmFtZWJ1ZmZl cl9jcmVhdGUoZGV2LCAmbW9kZV9jbWQsIG9iaik7CiAJaWYgKElTX0VSUihmYikpIHsKKwkJLyog RHJvcHMgb2JqZWN0IHJlZmVyZW5jZSBvbiBmYWlsdXJlLiAqLwogCQlyZXQgPSBQVFJfRVJSKGZi KTsKLQkJZ290byBvdXRfdW5yZWY7CisJCWdvdG8gb3V0OwogCX0KIAogCS8qIEZsdXNoIGV2ZXJ5 dGhpbmcgb3V0LCB3ZSdsbCBiZSBkb2luZyBHVFQgb25seSBmcm9tIG5vdyBvbiAqLwpAQCAtMTgz LDE1ICsxODYsMTggQEAgc3RhdGljIGludCBpbnRlbGZiX2FsbG9jKHN0cnVjdCBkcm1fZmJfaGVs cGVyICpoZWxwZXIsCiAJCWdvdG8gb3V0X2ZiOwogCX0KIAorCW11dGV4X3VubG9jaygmZGV2LT5z dHJ1Y3RfbXV0ZXgpOworCiAJaWZiZGV2LT5mYiA9IHRvX2ludGVsX2ZyYW1lYnVmZmVyKGZiKTsK IAogCXJldHVybiAwOwogCiBvdXRfZmI6Ci0JZHJtX2ZyYW1lYnVmZmVyX3JlbW92ZShmYik7Ci1v dXRfdW5yZWY6CiAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJm9iai0+YmFzZSk7CiBvdXQ6 CisJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisJaWYgKGZiKQorCQlkcm1fZnJh bWVidWZmZXJfcmVtb3ZlKGZiKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0yMDksOCArMjE1LDYg QEAgc3RhdGljIGludCBpbnRlbGZiX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVy LAogCWludCBzaXplLCByZXQ7CiAJYm9vbCBwcmVhbGxvYyA9IGZhbHNlOwogCi0JbXV0ZXhfbG9j aygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwotCiAJaWYgKGludGVsX2ZiICYmCiAJICAgIChzaXplcy0+ ZmJfd2lkdGggPiBpbnRlbF9mYi0+YmFzZS53aWR0aCB8fAogCSAgICAgc2l6ZXMtPmZiX2hlaWdo dCA+IGludGVsX2ZiLT5iYXNlLmhlaWdodCkpIHsKQEAgLTIyNSw3ICsyMjksNyBAQCBzdGF0aWMg aW50IGludGVsZmJfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCiAJCURSTV9E RUJVR19LTVMoIm5vIEJJT1MgZmIsIGFsbG9jYXRpbmcgYSBuZXcgb25lXG4iKTsKIAkJcmV0ID0g aW50ZWxmYl9hbGxvYyhoZWxwZXIsIHNpemVzKTsKIAkJaWYgKHJldCkKLQkJCWdvdG8gb3V0X3Vu bG9jazsKKwkJCXJldHVybiByZXQ7CiAJCWludGVsX2ZiID0gaWZiZGV2LT5mYjsKIAl9IGVsc2Ug ewogCQlEUk1fREVCVUdfS01TKCJyZS11c2luZyBCSU9TIGZiXG4iKTsKQEAgLTIzNyw2ICsyNDEs OCBAQCBzdGF0aWMgaW50IGludGVsZmJfY3JlYXRlKHN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxw ZXIsCiAJb2JqID0gaW50ZWxfZmItPm9iajsKIAlzaXplID0gb2JqLT5iYXNlLnNpemU7CiAKKwlt dXRleF9sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CisKIAlpbmZvID0gZnJhbWVidWZmZXJfYWxs b2MoMCwgJmRldi0+cGRldi0+ZGV2KTsKIAlpZiAoIWluZm8pIHsKIAkJcmV0ID0gLUVOT01FTTsK QEAgLTMwNyw3ICszMTMsNiBAQCBzdGF0aWMgaW50IGludGVsZmJfY3JlYXRlKHN0cnVjdCBkcm1f ZmJfaGVscGVyICpoZWxwZXIsCiBvdXRfdW5waW46CiAJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5w aW4ob2JqKTsKIAlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgmb2JqLT5iYXNlKTsKLW91dF91 bmxvY2s6CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJcmV0dXJuIHJldDsK IH0KLS0gCjIuNC4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=