From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: [PATCH v3 3/4] drm/nouveau/acpi: check for function 0x1B before using it Date: Fri, 15 Jul 2016 15:12:17 +0200 Message-ID: <20160715131218.2416-4-peter@lekensteyn.nl> References: <20160715131218.2416-1-peter@lekensteyn.nl> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160715131218.2416-1-peter-VTkQYDcBqhK7DlmcbJSQ7g@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Dave Airlie Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org RG8gbm90IHVuY29uZGl0aW9uYWxseSBpbnZva2UgZnVuY3Rpb24gMHgxQiB3aXRob3V0IGNoZWNr aW5nIGZvciBpdHMKYXZhaWxhYmlsaXR5LCBpdCBsZWFkcyB0byBhbiBpbmZpbml0ZSBsb29wIG9u IHNvbWUgZmlybXdhcmUuCgpCdWd6aWxsYTogaHR0cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3No b3dfYnVnLmNnaT9pZD0xMDQ3OTEKRml4ZXM6IDVhZGRjZjBhNWYwZmFkICgibm91dmVhdTogYWRk IHJ1bnRpbWUgUE0gc3VwcG9ydCAodjAuOSkiKQpSZXZpZXdlZC1ieTogSGFucyBkZSBHb2VkZSA8 aGRlZ29lZGVAcmVkaGF0LmNvbT4KU2lnbmVkLW9mZi1ieTogUGV0ZXIgV3UgPHBldGVyQGxla2Vu c3RleW4ubmw+Ci0tLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMgfCAx OCArKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfYWNwaS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMKaW5kZXgg NTcyYWMzMC4uYWQyNzNhZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91 dmVhdV9hY3BpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9hY3BpLmMK QEAgLTQ1LDYgKzQ1LDcgQEAKIHN0YXRpYyBzdHJ1Y3Qgbm91dmVhdV9kc21fcHJpdiB7CiAJYm9v bCBkc21fZGV0ZWN0ZWQ7CiAJYm9vbCBvcHRpbXVzX2RldGVjdGVkOworCWJvb2wgb3B0aW11c19m bGFnc19kZXRlY3RlZDsKIAlhY3BpX2hhbmRsZSBkaGFuZGxlOwogCWFjcGlfaGFuZGxlIHJvbV9o YW5kbGU7CiB9IG5vdXZlYXVfZHNtX3ByaXY7CkBAIC0yMTIsNyArMjEzLDggQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB2Z2Ffc3dpdGNoZXJvb19oYW5kbGVyIG5vdXZlYXVfZHNtX2hhbmRsZXIgPSB7 CiB9OwogCiBzdGF0aWMgdm9pZCBub3V2ZWF1X2RzbV9wY2lfcHJvYmUoc3RydWN0IHBjaV9kZXYg KnBkZXYsIGFjcGlfaGFuZGxlICpkaGFuZGxlX291dCwKLQkJCQkgIGJvb2wgKmhhc19tdXgsIGJv b2wgKmhhc19vcHQpCisJCQkJICBib29sICpoYXNfbXV4LCBib29sICpoYXNfb3B0LAorCQkJCSAg Ym9vbCAqaGFzX29wdF9mbGFncykKIHsKIAlhY3BpX2hhbmRsZSBkaGFuZGxlOwogCWJvb2wgc3Vw cG9ydHNfbXV4OwpAQCAtMjM2LDYgKzIzOCw3IEBAIHN0YXRpYyB2b2lkIG5vdXZlYXVfZHNtX3Bj aV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgYWNwaV9oYW5kbGUgKmRoYW5kbGVfb3V0CiAJ KmRoYW5kbGVfb3V0ID0gZGhhbmRsZTsKIAkqaGFzX211eCA9IHN1cHBvcnRzX211eDsKIAkqaGFz X29wdCA9ICEhb3B0aW11c19mdW5jczsKKwkqaGFzX29wdF9mbGFncyA9IG9wdGltdXNfZnVuY3Mg JiAoMSA8PCBOT1VWRUFVX0RTTV9PUFRJTVVTX0ZMQUdTKTsKIAogCWlmIChvcHRpbXVzX2Z1bmNz KSB7CiAJCXVpbnQzMl90IHJlc3VsdDsKQEAgLTI1Niw2ICsyNTksNyBAQCBzdGF0aWMgYm9vbCBu b3V2ZWF1X2RzbV9kZXRlY3Qodm9pZCkKIAlhY3BpX2hhbmRsZSBkaGFuZGxlID0gTlVMTDsKIAli b29sIGhhc19tdXggPSBmYWxzZTsKIAlib29sIGhhc19vcHRpbXVzID0gZmFsc2U7CisJYm9vbCBo YXNfb3B0aW11c19mbGFncyA9IGZhbHNlOwogCWludCB2Z2FfY291bnQgPSAwOwogCWJvb2wgZ3Vp ZF92YWxpZDsKIAlib29sIHJldCA9IGZhbHNlOwpAQCAtMjcwLDEzICsyNzQsMTUgQEAgc3RhdGlj IGJvb2wgbm91dmVhdV9kc21fZGV0ZWN0KHZvaWQpCiAJd2hpbGUgKChwZGV2ID0gcGNpX2dldF9j bGFzcyhQQ0lfQ0xBU1NfRElTUExBWV9WR0EgPDwgOCwgcGRldikpICE9IE5VTEwpIHsKIAkJdmdh X2NvdW50Kys7CiAKLQkJbm91dmVhdV9kc21fcGNpX3Byb2JlKHBkZXYsICZkaGFuZGxlLCAmaGFz X211eCwgJmhhc19vcHRpbXVzKTsKKwkJbm91dmVhdV9kc21fcGNpX3Byb2JlKHBkZXYsICZkaGFu ZGxlLCAmaGFzX211eCwgJmhhc19vcHRpbXVzLAorCQkJCSAgICAgICZoYXNfb3B0aW11c19mbGFn cyk7CiAJfQogCiAJd2hpbGUgKChwZGV2ID0gcGNpX2dldF9jbGFzcyhQQ0lfQ0xBU1NfRElTUExB WV8zRCA8PCA4LCBwZGV2KSkgIT0gTlVMTCkgewogCQl2Z2FfY291bnQrKzsKIAotCQlub3V2ZWF1 X2RzbV9wY2lfcHJvYmUocGRldiwgJmRoYW5kbGUsICZoYXNfbXV4LCAmaGFzX29wdGltdXMpOwor CQlub3V2ZWF1X2RzbV9wY2lfcHJvYmUocGRldiwgJmRoYW5kbGUsICZoYXNfbXV4LCAmaGFzX29w dGltdXMsCisJCQkJICAgICAgJmhhc19vcHRpbXVzX2ZsYWdzKTsKIAl9CiAKIAkvKiBmaW5kIHRo ZSBvcHRpbXVzIERTTSBvciB0aGUgb2xkIHYxIERTTSAqLwpAQCAtMjg3LDYgKzI5Myw3IEBAIHN0 YXRpYyBib29sIG5vdXZlYXVfZHNtX2RldGVjdCh2b2lkKQogCQlwcmludGsoS0VSTl9JTkZPICJW R0Egc3dpdGNoZXJvbzogZGV0ZWN0ZWQgT3B0aW11cyBEU00gbWV0aG9kICVzIGhhbmRsZVxuIiwK IAkJCWFjcGlfbWV0aG9kX25hbWUpOwogCQlub3V2ZWF1X2RzbV9wcml2Lm9wdGltdXNfZGV0ZWN0 ZWQgPSB0cnVlOworCQlub3V2ZWF1X2RzbV9wcml2Lm9wdGltdXNfZmxhZ3NfZGV0ZWN0ZWQgPSBo YXNfb3B0aW11c19mbGFnczsKIAkJcmV0ID0gdHJ1ZTsKIAl9IGVsc2UgaWYgKHZnYV9jb3VudCA9 PSAyICYmIGhhc19tdXggJiYgZ3VpZF92YWxpZCkgewogCQlub3V2ZWF1X2RzbV9wcml2LmRoYW5k bGUgPSBkaGFuZGxlOwpAQCAtMzIwLDggKzMyNyw5IEBAIHZvaWQgbm91dmVhdV9zd2l0Y2hlcm9v X29wdGltdXNfZHNtKHZvaWQpCiAJaWYgKCFub3V2ZWF1X2RzbV9wcml2Lm9wdGltdXNfZGV0ZWN0 ZWQpCiAJCXJldHVybjsKIAotCW5vdXZlYXVfb3B0aW11c19kc20obm91dmVhdV9kc21fcHJpdi5k aGFuZGxlLCBOT1VWRUFVX0RTTV9PUFRJTVVTX0ZMQUdTLAotCQkJICAgIDB4MywgJnJlc3VsdCk7 CisJaWYgKG5vdXZlYXVfZHNtX3ByaXYub3B0aW11c19mbGFnc19kZXRlY3RlZCkKKwkJbm91dmVh dV9vcHRpbXVzX2RzbShub3V2ZWF1X2RzbV9wcml2LmRoYW5kbGUsIE5PVVZFQVVfRFNNX09QVElN VVNfRkxBR1MsCisJCQkJICAgIDB4MywgJnJlc3VsdCk7CiAKIAlub3V2ZWF1X29wdGltdXNfZHNt KG5vdXZlYXVfZHNtX3ByaXYuZGhhbmRsZSwgTk9VVkVBVV9EU01fT1BUSU1VU19DQVBTLAogCQlO T1VWRUFVX0RTTV9PUFRJTVVTX1NFVF9QT1dFUkRPV04sICZyZXN1bHQpOwotLSAKMi45LjAKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk5vdXZlYXUgbWFp bGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91dmVhdQo=