From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH 13/32] acpi-video: Fix acpi_video _register vs _unregister_backlight race Date: Wed, 10 Jun 2015 15:01:13 +0200 Message-ID: <1433941292-21530-14-git-send-email-hdegoede@redhat.com> References: <1433941292-21530-1-git-send-email-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1433941292-21530-1-git-send-email-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Darren Hart , "Rafael J. Wysocki" Cc: Matthew Garrett , Hans de Goede , Ike Panhc , linux-acpi@vger.kernel.org, ibm-acpi-devel@lists.sourceforge.net, acpi4asus-user@lists.sourceforge.net, Henrique de Moraes Holschuh , dri-devel@lists.freedesktop.org, Azael Avalos , Lee Chun-Yi , Mattia Dongili , Cezary Jackiewicz , Ben Skeggs , Corentin Chary , =?UTF-8?q?Pali=20Roh=C3=A1r?= , platform-driver-x86@vger.kernel.org, Aaron Lu List-Id: linux-acpi@vger.kernel.org SXQgaXMgcG9zc2libGUgZm9yIGEgbmF0aXZlIGJhY2tsaWdodCBkcml2ZXIgdG8gbG9hZCB3aGls ZQphY3BpX3ZpZGVvX3JlZ2lzdGVyIGlzIHJ1bm5pbmcsIHdoaWNoIG1heSBsZWFkIHRvCmFjcGlf dmlkZW9fdW5yZWdpc3Rlcl9iYWNrbGlnaHQgYmVpbmcgY2FsbGVkIHdoaWxlIGFjcGlfdmlkZW9f cmVnaXN0ZXIKaXMgcnVubmluZyBhbmQgdGhlIDIgcmFjaW5nIGFnYWluc3QgZWFjaG90aGVyLgoK VGhlIHJlZ2lzdGVyX2NvdW50IHZhcmlhYmxlIHByb3RlY3RzIGFnYWluc3QgdGhpcywgYnV0IG5v dCBpbiBhIHRocmVhZApzYWZlIG1hbm5lciwgdGhpcyBjb21taXQgYWRkcyBsb2NraW5nIHRvIG1h a2UgdGhpcyB0aHJlYWQgc2FmZS4KClNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29lZGUgPGhkZWdv ZWRlQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVycy9hY3BpL3ZpZGVvLmMgfCA0MyArKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjEgaW5z ZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL3Zp ZGVvLmMgYi9kcml2ZXJzL2FjcGkvdmlkZW8uYwppbmRleCBiODA1M2E4Li5mY2M3YzJlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2FjcGkvdmlkZW8uYworKysgYi9kcml2ZXJzL2FjcGkvdmlkZW8uYwpA QCAtNzksNiArNzksNyBAQCBzdGF0aWMgYm9vbCBhbGxvd19kdXBsaWNhdGVzOwogbW9kdWxlX3Bh cmFtKGFsbG93X2R1cGxpY2F0ZXMsIGJvb2wsIDA2NDQpOwogCiBzdGF0aWMgaW50IHJlZ2lzdGVy X2NvdW50Oworc3RhdGljIERFRklORV9NVVRFWChyZWdpc3Rlcl9jb3VudF9tdXRleCk7CiBzdGF0 aWMgc3RydWN0IG11dGV4IHZpZGVvX2xpc3RfbG9jazsKIHN0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFk IHZpZGVvX2J1c19oZWFkOwogc3RhdGljIGludCBhY3BpX3ZpZGVvX2J1c19hZGQoc3RydWN0IGFj cGlfZGV2aWNlICpkZXZpY2UpOwpAQCAtMTkzMSwxNCArMTkzMiwxNSBAQCBzdGF0aWMgaW50IF9f aW5pdCBpbnRlbF9vcHJlZ2lvbl9wcmVzZW50KHZvaWQpCiAKIGludCBhY3BpX3ZpZGVvX3JlZ2lz dGVyKHZvaWQpCiB7Ci0JaW50IHJldDsKKwlpbnQgcmV0ID0gMDsKIAorCW11dGV4X2xvY2soJnJl Z2lzdGVyX2NvdW50X211dGV4KTsKIAlpZiAocmVnaXN0ZXJfY291bnQpIHsKIAkJLyoKIAkJICog aWYgdGhlIGZ1bmN0aW9uIG9mIGFjcGlfdmlkZW9fcmVnaXN0ZXIgaXMgYWxyZWFkeSBjYWxsZWQs CiAJCSAqIGRvbid0IHJlZ2lzdGVyIHRoZSBhY3BpX3ZpZGVfYnVzIGFnYWluIGFuZCByZXR1cm4g bm8gZXJyb3IuCiAJCSAqLwotCQlyZXR1cm4gMDsKKwkJZ290byBsZWF2ZTsKIAl9CiAKIAltdXRl eF9pbml0KCZ2aWRlb19saXN0X2xvY2spOwpAQCAtMTk0OCw3ICsxOTUwLDcgQEAgaW50IGFjcGlf dmlkZW9fcmVnaXN0ZXIodm9pZCkKIAogCXJldCA9IGFjcGlfYnVzX3JlZ2lzdGVyX2RyaXZlcigm YWNwaV92aWRlb19idXMpOwogCWlmIChyZXQpCi0JCXJldHVybiByZXQ7CisJCWdvdG8gbGVhdmU7 CiAKIAkvKgogCSAqIFdoZW4gdGhlIGFjcGlfdmlkZW9fYnVzIGlzIGxvYWRlZCBzdWNjZXNzZnVs bHksIGluY3JlYXNlCkBAIC0xOTU2LDI0ICsxOTU4LDIwIEBAIGludCBhY3BpX3ZpZGVvX3JlZ2lz dGVyKHZvaWQpCiAJICovCiAJcmVnaXN0ZXJfY291bnQgPSAxOwogCi0JcmV0dXJuIDA7CitsZWF2 ZToKKwltdXRleF91bmxvY2soJnJlZ2lzdGVyX2NvdW50X211dGV4KTsKKwlyZXR1cm4gcmV0Owog fQogRVhQT1JUX1NZTUJPTChhY3BpX3ZpZGVvX3JlZ2lzdGVyKTsKIAogdm9pZCBhY3BpX3ZpZGVv X3VucmVnaXN0ZXIodm9pZCkKIHsKLQlpZiAoIXJlZ2lzdGVyX2NvdW50KSB7Ci0JCS8qCi0JCSAq IElmIHRoZSBhY3BpIHZpZGVvIGJ1cyBpcyBhbHJlYWR5IHVubG9hZGVkLCBkb24ndAotCQkgKiB1 bmxvYWQgaXQgYWdhaW4gYW5kIHJldHVybiBkaXJlY3RseS4KLQkJICovCi0JCXJldHVybjsKKwlt dXRleF9sb2NrKCZyZWdpc3Rlcl9jb3VudF9tdXRleCk7CisJaWYgKHJlZ2lzdGVyX2NvdW50KSB7 CisJCWFjcGlfYnVzX3VucmVnaXN0ZXJfZHJpdmVyKCZhY3BpX3ZpZGVvX2J1cyk7CisJCXJlZ2lz dGVyX2NvdW50ID0gMDsKIAl9Ci0JYWNwaV9idXNfdW5yZWdpc3Rlcl9kcml2ZXIoJmFjcGlfdmlk ZW9fYnVzKTsKLQotCXJlZ2lzdGVyX2NvdW50ID0gMDsKLQotCXJldHVybjsKKwltdXRleF91bmxv Y2soJnJlZ2lzdGVyX2NvdW50X211dGV4KTsKIH0KIEVYUE9SVF9TWU1CT0woYWNwaV92aWRlb191 bnJlZ2lzdGVyKTsKIApAQCAtMTk4MSwxMyArMTk3OSwxNCBAQCB2b2lkIGFjcGlfdmlkZW9fdW5y ZWdpc3Rlcl9iYWNrbGlnaHQodm9pZCkKIHsKIAlzdHJ1Y3QgYWNwaV92aWRlb19idXMgKnZpZGVv OwogCi0JaWYgKCFyZWdpc3Rlcl9jb3VudCkKLQkJcmV0dXJuOwotCi0JbXV0ZXhfbG9jaygmdmlk ZW9fbGlzdF9sb2NrKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZpZGVvLCAmdmlkZW9fYnVzX2hl YWQsIGVudHJ5KQotCQlhY3BpX3ZpZGVvX2J1c191bnJlZ2lzdGVyX2JhY2tsaWdodCh2aWRlbyk7 Ci0JbXV0ZXhfdW5sb2NrKCZ2aWRlb19saXN0X2xvY2spOworCW11dGV4X2xvY2soJnJlZ2lzdGVy X2NvdW50X211dGV4KTsKKwlpZiAocmVnaXN0ZXJfY291bnQpIHsKKwkJbXV0ZXhfbG9jaygmdmlk ZW9fbGlzdF9sb2NrKTsKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2aWRlbywgJnZpZGVvX2J1c19o ZWFkLCBlbnRyeSkKKwkJCWFjcGlfdmlkZW9fYnVzX3VucmVnaXN0ZXJfYmFja2xpZ2h0KHZpZGVv KTsKKwkJbXV0ZXhfdW5sb2NrKCZ2aWRlb19saXN0X2xvY2spOworCX0KKwltdXRleF91bmxvY2so JnJlZ2lzdGVyX2NvdW50X211dGV4KTsKIH0KIEVYUE9SVF9TWU1CT0woYWNwaV92aWRlb191bnJl Z2lzdGVyX2JhY2tsaWdodCk7CiAKLS0gCjIuNC4yCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=