From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= Subject: [PATCH 4/9] Input: Block suspend while event queue is not empty. Date: Tue, 5 May 2009 21:18:44 -0700 Message-ID: <1241583529-5092-5-git-send-email-arve@android.com> References: <1241583529-5092-1-git-send-email-arve@android.com> <1241583529-5092-2-git-send-email-arve@android.com> <1241583529-5092-3-git-send-email-arve@android.com> <1241583529-5092-4-git-send-email-arve@android.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1241583529-5092-4-git-send-email-arve@android.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: linux-pm@lists.linux-foundation.org Cc: ncunningham@crca.org.au, u.luckas@road.de, swetland@google.com List-Id: linux-pm@vger.kernel.org QWRkIGFuIGlvY3RsLCBFVklPQ1NTVVNQRU5EQkxPQ0ssIHRvIGVuYWJsZSBhIHN1c3BlbmRfYmxv Y2tlciB0aGF0IHdpbGwgYmxvY2sKc3VzcGVuZCB3aGlsZSB0aGUgZXZlbnQgcXVldWUgaXMgbm90 IGVtcHR5LiBUaGlzIGFsbG93cyB1c2Vyc3BhY2UgY29kZSB0bwpwcm9jZXNzIGlucHV0IGV2ZW50 cyB3aGlsZSB0aGUgZGV2aWNlIGFwcGVhcnMgdG8gYmUgYXNsZWVwLgoKU2lnbmVkLW9mZi1ieTog QXJ2ZSBIasO4bm5ldsOlZyA8YXJ2ZUBhbmRyb2lkLmNvbT4KLS0tCiBkcml2ZXJzL2lucHV0L2V2 ZGV2LmMgfCAgIDIyICsrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvaW5wdXQu aCB8ICAgIDMgKysrCiAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDAgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9ldmRldi5jIGIvZHJpdmVycy9pbnB1 dC9ldmRldi5jCmluZGV4IDdhN2EwMjYuLjBiYjY3MGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5w dXQvZXZkZXYuYworKysgYi9kcml2ZXJzL2lucHV0L2V2ZGV2LmMKQEAgLTE5LDYgKzE5LDcgQEAK ICNpbmNsdWRlIDxsaW51eC9pbnB1dC5oPgogI2luY2x1ZGUgPGxpbnV4L21ham9yLmg+CiAjaW5j bHVkZSA8bGludXgvZGV2aWNlLmg+CisjaW5jbHVkZSA8bGludXgvc3VzcGVuZF9ibG9ja2VyLmg+ CiAjaW5jbHVkZSAiaW5wdXQtY29tcGF0LmgiCiAKIHN0cnVjdCBldmRldiB7CkBAIC00Myw2ICs0 NCw4IEBAIHN0cnVjdCBldmRldl9jbGllbnQgewogCXN0cnVjdCBmYXN5bmNfc3RydWN0ICpmYXN5 bmM7CiAJc3RydWN0IGV2ZGV2ICpldmRldjsKIAlzdHJ1Y3QgbGlzdF9oZWFkIG5vZGU7CisJc3Ry dWN0IHN1c3BlbmRfYmxvY2tlciBzdXNwZW5kX2Jsb2NrZXI7CisJYm9vbCB1c2Vfc3VzcGVuZF9i bG9ja2VyOwogfTsKIAogc3RhdGljIHN0cnVjdCBldmRldiAqZXZkZXZfdGFibGVbRVZERVZfTUlO T1JTXTsKQEAgLTU1LDYgKzU4LDggQEAgc3RhdGljIHZvaWQgZXZkZXZfcGFzc19ldmVudChzdHJ1 Y3QgZXZkZXZfY2xpZW50ICpjbGllbnQsCiAJICogSW50ZXJydXB0cyBhcmUgZGlzYWJsZWQsIGp1 c3QgYWNxdWlyZSB0aGUgbG9jawogCSAqLwogCXNwaW5fbG9jaygmY2xpZW50LT5idWZmZXJfbG9j ayk7CisJaWYgKGNsaWVudC0+dXNlX3N1c3BlbmRfYmxvY2tlcikKKwkJc3VzcGVuZF9ibG9jaygm Y2xpZW50LT5zdXNwZW5kX2Jsb2NrZXIpOwogCWNsaWVudC0+YnVmZmVyW2NsaWVudC0+aGVhZCsr XSA9ICpldmVudDsKIAljbGllbnQtPmhlYWQgJj0gRVZERVZfQlVGRkVSX1NJWkUgLSAxOwogCXNw aW5fdW5sb2NrKCZjbGllbnQtPmJ1ZmZlcl9sb2NrKTsKQEAgLTIzMyw2ICsyMzgsOCBAQCBzdGF0 aWMgaW50IGV2ZGV2X3JlbGVhc2Uoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZp bGUpCiAJbXV0ZXhfdW5sb2NrKCZldmRldi0+bXV0ZXgpOwogCiAJZXZkZXZfZGV0YWNoX2NsaWVu dChldmRldiwgY2xpZW50KTsKKwlpZiAoY2xpZW50LT51c2Vfc3VzcGVuZF9ibG9ja2VyKQorCQlz dXNwZW5kX2Jsb2NrZXJfZGVzdHJveSgmY2xpZW50LT5zdXNwZW5kX2Jsb2NrZXIpOwogCWtmcmVl KGNsaWVudCk7CiAKIAlldmRldl9jbG9zZV9kZXZpY2UoZXZkZXYpOwpAQCAtMzMyLDYgKzMzOSw4 IEBAIHN0YXRpYyBpbnQgZXZkZXZfZmV0Y2hfbmV4dF9ldmVudChzdHJ1Y3QgZXZkZXZfY2xpZW50 ICpjbGllbnQsCiAJaWYgKGhhdmVfZXZlbnQpIHsKIAkJKmV2ZW50ID0gY2xpZW50LT5idWZmZXJb Y2xpZW50LT50YWlsKytdOwogCQljbGllbnQtPnRhaWwgJj0gRVZERVZfQlVGRkVSX1NJWkUgLSAx OworCQlpZiAoY2xpZW50LT51c2Vfc3VzcGVuZF9ibG9ja2VyICYmIGNsaWVudC0+aGVhZCA9PSBj bGllbnQtPnRhaWwpCisJCQlzdXNwZW5kX3VuYmxvY2soJmNsaWVudC0+c3VzcGVuZF9ibG9ja2Vy KTsKIAl9CiAKIAlzcGluX3VubG9ja19pcnEoJmNsaWVudC0+YnVmZmVyX2xvY2spOwpAQCAtNTgy LDYgKzU5MSwxOSBAQCBzdGF0aWMgbG9uZyBldmRldl9kb19pb2N0bChzdHJ1Y3QgZmlsZSAqZmls ZSwgdW5zaWduZWQgaW50IGNtZCwKIAkJZWxzZQogCQkJcmV0dXJuIGV2ZGV2X3VuZ3JhYihldmRl diwgY2xpZW50KTsKIAorCWNhc2UgRVZJT0NHU1VTUEVOREJMT0NLOgorCQlyZXR1cm4gcHV0X3Vz ZXIoY2xpZW50LT51c2Vfc3VzcGVuZF9ibG9ja2VyLCBpcCk7CisKKwljYXNlIEVWSU9DU1NVU1BF TkRCTE9DSzoKKwkJc3Bpbl9sb2NrX2lycSgmY2xpZW50LT5idWZmZXJfbG9jayk7CisJCWlmICgh Y2xpZW50LT51c2Vfc3VzcGVuZF9ibG9ja2VyICYmIHApCisJCQlzdXNwZW5kX2Jsb2NrZXJfaW5p dCgmY2xpZW50LT5zdXNwZW5kX2Jsb2NrZXIsICJldmRldiIpOworCQllbHNlIGlmIChjbGllbnQt PnVzZV9zdXNwZW5kX2Jsb2NrZXIgJiYgIXApCisJCQlzdXNwZW5kX2Jsb2NrZXJfZGVzdHJveSgm Y2xpZW50LT5zdXNwZW5kX2Jsb2NrZXIpOworCQljbGllbnQtPnVzZV9zdXNwZW5kX2Jsb2NrZXIg PSAhIXA7CisJCXNwaW5fdW5sb2NrX2lycSgmY2xpZW50LT5idWZmZXJfbG9jayk7CisJCXJldHVy biAwOworCiAJZGVmYXVsdDoKIAogCQlpZiAoX0lPQ19UWVBFKGNtZCkgIT0gJ0UnKQpkaWZmIC0t Z2l0IGEvaW5jbHVkZS9saW51eC9pbnB1dC5oIGIvaW5jbHVkZS9saW51eC9pbnB1dC5oCmluZGV4 IDZiMjgwNDguLmUwOTFlYTggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvaW5wdXQuaAorKysg Yi9pbmNsdWRlL2xpbnV4L2lucHV0LmgKQEAgLTgxLDYgKzgxLDkgQEAgc3RydWN0IGlucHV0X2Fi c2luZm8gewogCiAjZGVmaW5lIEVWSU9DR1JBQgkJX0lPVygnRScsIDB4OTAsIGludCkJCQkvKiBH cmFiL1JlbGVhc2UgZGV2aWNlICovCiAKKyNkZWZpbmUgRVZJT0NHU1VTUEVOREJMT0NLCV9JT1Io J0UnLCAweDkxLCBpbnQpCQkJLyogZ2V0IHN1c3BlbmQgYmxvY2sgZW5hYmxlICovCisjZGVmaW5l IEVWSU9DU1NVU1BFTkRCTE9DSwlfSU9XKCdFJywgMHg5MSwgaW50KQkJCS8qIHNldCBzdXNwZW5k IGJsb2NrIGVuYWJsZSAqLworCiAvKgogICogRXZlbnQgdHlwZXMKICAqLwotLSAKMS42LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LXBtIG1h aWxpbmcgbGlzdApsaW51eC1wbUBsaXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xp c3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcG0=