From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757487AbYCDIx4 (ORCPT ); Tue, 4 Mar 2008 03:53:56 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752534AbYCDIxs (ORCPT ); Tue, 4 Mar 2008 03:53:48 -0500 Received: from ns.miraclelinux.com ([219.118.163.66]:4628 "EHLO mail.miraclelinux.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752353AbYCDIxq (ORCPT ); Tue, 4 Mar 2008 03:53:46 -0500 Message-ID: <47CD0DD7.8010306@miraclelinux.com> Date: Tue, 04 Mar 2008 17:52:39 +0900 From: Hirofumi Nakagawa User-Agent: Thunderbird 2.0.0.9 (X11/20071031) MIME-Version: 1.0 To: linux-kernel@vger.kernel.org Subject: [PATCH] Remove duplicated unlikely() at IS_ERR() References: <47CD0582.4080407@miraclelinux.com> In-Reply-To: <47CD0582.4080407@miraclelinux.com> Content-Type: multipart/mixed; boundary="------------090502090502080207080106" X-PMX-Version: 5.3.1.294258, Antispam-Engine: 2.5.1.298604, Antispam-Data: 2007.9.13.165324 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a multi-part message in MIME format. --------------090502090502080207080106 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Hi Some drivers have duplicated unlikely() macros. IS_ERR() already has unlikely() in itself. This patch cleans up such pointless codes although there is no real effect on the kernel's behaviour. Thanks, Hirofumi Nakagawa --------------090502090502080207080106 Content-Type: text/plain; name="0001-Remove-duplicated-unlikely-at-IS_ERR.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="0001-Remove-duplicated-unlikely-at-IS_ERR.patch" RnJvbSAzZmQ4NmQ0ODk4ZGYxMGVlMGI4ODg0YjVhMzFhNTEyY2I5MGYzMzYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIaXJvZnVtaSBOYWthZ2F3YSA8aG5ha2FnYXdhQG1p cmFjbGVsaW51eC5jb20+CkRhdGU6IFR1ZSwgNCBNYXIgMjAwOCAxNjo0OToyMSArMDkwMApT dWJqZWN0OiBbUEFUQ0hdIFJlbW92ZSBkdXBsaWNhdGVkIHVubGlrZWx5KCkgYXQgSVNfRVJS KCkKU29tZSBkcml2ZXJzIGhhdmUgZHVwbGljYXRlZCB1bmxpa2VseSgpIG1hY3Jvcy4KSVNf RVJSKCkgYWxyZWFkeSBoYXMgdW5saWtlbHkoKSBpbiBpdHNlbGYuClRoaXMgcGF0Y2ggY2xl YW5zIHVwIHN1Y2ggcG9pbnRsZXNzIGNvZGVzIGFsdGhvdWdoIHRoZXJlIGlzIG5vIHJlYWwK ZWZmZWN0IG9uIHRoZSBrZXJuZWwncyBiZWhhdmlvdXIuCgpTaWduZWQtb2ZmLWJ5OiBIaXJv ZnVtaSBOYWthZ2F3YSA8aG5ha2FnYXdhQG1pcmFjbGVsaW51eC5jb20+Ci0tLQogZHJpdmVy cy9ibG9jay9uYmQuYyAgICAgICAgICAgICB8ICAgIDIgKy0KIGRyaXZlcnMvbGVkcy9sZWQt Y2xhc3MuYyAgICAgICAgfCAgICAyICstCiBkcml2ZXJzL21lc3NhZ2UvaTJvL2kyb19ibG9j ay5jIHwgICAgMiArLQogZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYyB8ICAgIDIg Ky0KIGRyaXZlcnMvbmV0L3RnMy5jICAgICAgICAgICAgICAgfCAgICAyICstCiBkcml2ZXJz L3J0Yy9ydGMtYmZpbi5jICAgICAgICAgIHwgICAgMiArLQogZHJpdmVycy9zY3NpL3Njc2lf c2Nhbi5jICAgICAgICB8ICAgIDIgKy0KIGZzL2Fpby5jICAgICAgICAgICAgICAgICAgICAg ICAgfCAgICAyICstCiBmcy9lY3J5cHRmcy9pbm9kZS5jICAgICAgICAgICAgIHwgICAgMiAr LQogZnMvaW5vdGlmeV91c2VyLmMgICAgICAgICAgICAgICB8ICAgIDIgKy0KIGZzL250ZnMv bWZ0LmMgICAgICAgICAgICAgICAgICAgfCAgICA2ICsrKy0tLQoga2VybmVsL2F1ZGl0Zmls dGVyLmMgICAgICAgICAgICB8ICAgMTAgKysrKystLS0tLQogbW0vZmlsZW1hcF94aXAuYyAg ICAgICAgICAgICAgICB8ICAgIDQgKystLQogbmV0L2NvcmUvZGV2LmMgICAgICAgICAgICAg ICAgICB8ICAgIDIgKy0KIG5ldC9pcHY0L2FmX2luZXQuYyAgICAgICAgICAgICAgfCAgICAy ICstCiBuZXQvaXB2Ni9pcHY2X3NvY2tnbHVlLmMgICAgICAgIHwgICAgMiArLQogbmV0L25l dGZpbHRlci9uZl9xdWV1ZS5jICAgICAgICB8ICAgIDIgKy0KIG5ldC94ZnJtL3hmcm1fb3V0 cHV0LmMgICAgICAgICAgfCAgICAyICstCiBzb3VuZC9zaC9haWNhLmMgICAgICAgICAgICAg ICAgIHwgICAgMiArLQogMTkgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMjYg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ibG9jay9uYmQuYyBiL2RyaXZl cnMvYmxvY2svbmJkLmMKaW5kZXggYjUzZmRiMC4uODNiYzI4OSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ibG9jay9uYmQuYworKysgYi9kcml2ZXJzL2Jsb2NrL25iZC5jCkBAIC0zMzEsNyAr MzMxLDcgQEAgc3RhdGljIHN0cnVjdCByZXF1ZXN0ICpuYmRfcmVhZF9zdGF0KHN0cnVjdCBu YmRfZGV2aWNlICpsbykKIAl9CiAKIAlyZXEgPSBuYmRfZmluZF9yZXF1ZXN0KGxvLCAqKHN0 cnVjdCByZXF1ZXN0ICoqKXJlcGx5LmhhbmRsZSk7Ci0JaWYgKHVubGlrZWx5KElTX0VSUihy ZXEpKSkgeworCWlmIChJU19FUlIocmVxKSkgewogCQlyZXN1bHQgPSBQVFJfRVJSKHJlcSk7 CiAJCWlmIChyZXN1bHQgIT0gLUVOT0VOVCkKIAkJCWdvdG8gaGFyZGVycm9yOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9sZWRzL2xlZC1jbGFzcy5jIGIvZHJpdmVycy9sZWRzL2xlZC1jbGFz cy5jCmluZGV4IDRhOTM4NzguLjMyNGNmNDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbGVkcy9s ZWQtY2xhc3MuYworKysgYi9kcml2ZXJzL2xlZHMvbGVkLWNsYXNzLmMKQEAgLTk1LDcgKzk1 LDcgQEAgaW50IGxlZF9jbGFzc2Rldl9yZWdpc3RlcihzdHJ1Y3QgZGV2aWNlICpwYXJlbnQs IHN0cnVjdCBsZWRfY2xhc3NkZXYgKmxlZF9jZGV2KQogCiAJbGVkX2NkZXYtPmRldiA9IGRl dmljZV9jcmVhdGUobGVkc19jbGFzcywgcGFyZW50LCAwLCAiJXMiLAogCQkJCQkgICAgbGVk X2NkZXYtPm5hbWUpOwotCWlmICh1bmxpa2VseShJU19FUlIobGVkX2NkZXYtPmRldikpKQor CWlmIChJU19FUlIobGVkX2NkZXYtPmRldikpCiAJCXJldHVybiBQVFJfRVJSKGxlZF9jZGV2 LT5kZXYpOwogCiAJZGV2X3NldF9kcnZkYXRhKGxlZF9jZGV2LT5kZXYsIGxlZF9jZGV2KTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2Jsb2NrLmMgYi9kcml2ZXJz L21lc3NhZ2UvaTJvL2kyb19ibG9jay5jCmluZGV4IGE5NTMxNDguLjgxNDgzZGUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvbWVzc2FnZS9pMm8vaTJvX2Jsb2NrLmMKKysrIGIvZHJpdmVycy9t ZXNzYWdlL2kyby9pMm9fYmxvY2suYwpAQCAtMzcxLDcgKzM3MSw3IEBAIHN0YXRpYyBpbnQg aTJvX2Jsb2NrX3ByZXBfcmVxX2ZuKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBzdHJ1Y3Qg cmVxdWVzdCAqcmVxKQogCS8qIGNvbm5lY3QgdGhlIGkyb19ibG9ja19yZXF1ZXN0IHRvIHRo ZSByZXF1ZXN0ICovCiAJaWYgKCFyZXEtPnNwZWNpYWwpIHsKIAkJaXJlcSA9IGkyb19ibG9j a19yZXF1ZXN0X2FsbG9jKCk7Ci0JCWlmICh1bmxpa2VseShJU19FUlIoaXJlcSkpKSB7CisJ CWlmIChJU19FUlIoaXJlcSkpIHsKIAkJCW9zbV9kZWJ1ZygidW5hYmxlIHRvIGFsbG9jYXRl IGkyb19ibG9ja19yZXF1ZXN0IVxuIik7CiAJCQlyZXR1cm4gQkxLUFJFUF9ERUZFUjsKIAkJ fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYyBiL2RyaXZl cnMvbmV0L215cmkxMGdlL215cmkxMGdlLmMKaW5kZXggY2VhZDgxZS4uZWY2M2M4ZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvbXlyaTEwZ2UvbXlyaTEwZ2UuYworKysgYi9kcml2ZXJz L25ldC9teXJpMTBnZS9teXJpMTBnZS5jCkBAIC0yNDM3LDcgKzI0MzcsNyBAQCBzdGF0aWMg aW50IG15cmkxMGdlX3N3X3RzbyhzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2Rl dmljZSAqZGV2KQogCWludCBzdGF0dXM7CiAKIAlzZWdzID0gc2tiX2dzb19zZWdtZW50KHNr YiwgZGV2LT5mZWF0dXJlcyAmIH5ORVRJRl9GX1RTTzYpOwotCWlmICh1bmxpa2VseShJU19F UlIoc2VncykpKQorCWlmIChJU19FUlIoc2VncykpCiAJCWdvdG8gZHJvcDsKIAogCXdoaWxl IChzZWdzKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC90ZzMuYyBiL2RyaXZlcnMvbmV0 L3RnMy5jCmluZGV4IDI2ZmZiNjcuLjM0MThiMzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0 L3RnMy5jCisrKyBiL2RyaXZlcnMvbmV0L3RnMy5jCkBAIC00Mjc5LDcgKzQyNzksNyBAQCBz dGF0aWMgaW50IHRnM190c29fYnVnKHN0cnVjdCB0ZzMgKnRwLCBzdHJ1Y3Qgc2tfYnVmZiAq c2tiKQogCX0KIAogCXNlZ3MgPSBza2JfZ3NvX3NlZ21lbnQoc2tiLCB0cC0+ZGV2LT5mZWF0 dXJlcyAmIH5ORVRJRl9GX1RTTyk7Ci0JaWYgKHVubGlrZWx5KElTX0VSUihzZWdzKSkpCisJ aWYgKElTX0VSUihzZWdzKSkKIAkJZ290byB0ZzNfdHNvX2J1Z19lbmQ7CiAKIAlkbyB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL3J0Yy9ydGMtYmZpbi5jIGIvZHJpdmVycy9ydGMvcnRjLWJm aW4uYwppbmRleCBkOTBiYTg2Li5iNTE1MDNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3J0Yy9y dGMtYmZpbi5jCisrKyBiL2RyaXZlcnMvcnRjL3J0Yy1iZmluLmMKQEAgLTQxOSw3ICs0MTks NyBAQCBzdGF0aWMgaW50IF9fZGV2aW5pdCBiZmluX3J0Y19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQogCQlyZXR1cm4gLUVOT01FTTsKIAogCXJ0Yy0+cnRjX2RldiA9 IHJ0Y19kZXZpY2VfcmVnaXN0ZXIocGRldi0+bmFtZSwgJnBkZXYtPmRldiwgJmJmaW5fcnRj X29wcywgVEhJU19NT0RVTEUpOwotCWlmICh1bmxpa2VseShJU19FUlIocnRjKSkpIHsKKwlp ZiAoSVNfRVJSKHJ0YykpIHsKIAkJcmV0ID0gUFRSX0VSUihydGMtPnJ0Y19kZXYpOwogCQln b3RvIGVycjsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kvc2NzaV9zY2FuLmMgYi9k cml2ZXJzL3Njc2kvc2NzaV9zY2FuLmMKaW5kZXggZTY3YzE0ZS4uZTNjZTk0MCAxMDA2NDQK LS0tIGEvZHJpdmVycy9zY3NpL3Njc2lfc2Nhbi5jCisrKyBiL2RyaXZlcnMvc2NzaS9zY3Np X3NjYW4uYwpAQCAtMTgyNCw3ICsxODI0LDcgQEAgdm9pZCBzY3NpX3NjYW5faG9zdChzdHJ1 Y3QgU2NzaV9Ib3N0ICpzaG9zdCkKIAl9CiAKIAlwID0ga3RocmVhZF9ydW4oZG9fc2Nhbl9h c3luYywgZGF0YSwgInNjc2lfc2Nhbl8lZCIsIHNob3N0LT5ob3N0X25vKTsKLQlpZiAodW5s aWtlbHkoSVNfRVJSKHApKSkKKwlpZiAoSVNfRVJSKHApKQogCQlkb19zY2FuX2FzeW5jKGRh dGEpOwogfQogRVhQT1JUX1NZTUJPTChzY3NpX3NjYW5faG9zdCk7CmRpZmYgLS1naXQgYS9m cy9haW8uYyBiL2ZzL2Fpby5jCmluZGV4IGI3NGM1NjcuLmM2MTA2MzMgMTAwNjQ0Ci0tLSBh L2ZzL2Fpby5jCisrKyBiL2ZzL2Fpby5jCkBAIC0xNTc0LDcgKzE1NzQsNyBAQCBpbnQgaW9f c3VibWl0X29uZShzdHJ1Y3Qga2lvY3R4ICpjdHgsIHN0cnVjdCBpb2NiIF9fdXNlciAqdXNl cl9pb2NiLAogCQkgKiBldmVudCB1c2luZyB0aGUgZXZlbnRmZF9zaWduYWwoKSBmdW5jdGlv bi4KIAkJICovCiAJCXJlcS0+a2lfZXZlbnRmZCA9IGV2ZW50ZmRfZmdldCgoaW50KSBpb2Ni LT5haW9fcmVzZmQpOwotCQlpZiAodW5saWtlbHkoSVNfRVJSKHJlcS0+a2lfZXZlbnRmZCkp KSB7CisJCWlmIChJU19FUlIocmVxLT5raV9ldmVudGZkKSkgewogCQkJcmV0ID0gUFRSX0VS UihyZXEtPmtpX2V2ZW50ZmQpOwogCQkJZ290byBvdXRfcHV0X3JlcTsKIAkJfQpkaWZmIC0t Z2l0IGEvZnMvZWNyeXB0ZnMvaW5vZGUuYyBiL2ZzL2VjcnlwdGZzL2lub2RlLmMKaW5kZXgg ZTIzODYxMS4uODMwMGFlNyAxMDA2NDQKLS0tIGEvZnMvZWNyeXB0ZnMvaW5vZGUuYworKysg Yi9mcy9lY3J5cHRmcy9pbm9kZS5jCkBAIC0xMTEsNyArMTExLDcgQEAgZWNyeXB0ZnNfZG9f Y3JlYXRlKHN0cnVjdCBpbm9kZSAqZGlyZWN0b3J5X2lub2RlLAogCiAJbG93ZXJfZGVudHJ5 ID0gZWNyeXB0ZnNfZGVudHJ5X3RvX2xvd2VyKGVjcnlwdGZzX2RlbnRyeSk7CiAJbG93ZXJf ZGlyX2RlbnRyeSA9IGxvY2tfcGFyZW50KGxvd2VyX2RlbnRyeSk7Ci0JaWYgKHVubGlrZWx5 KElTX0VSUihsb3dlcl9kaXJfZGVudHJ5KSkpIHsKKwlpZiAoSVNfRVJSKGxvd2VyX2Rpcl9k ZW50cnkpKSB7CiAJCWVjcnlwdGZzX3ByaW50ayhLRVJOX0VSUiwgIkVycm9yIGxvY2tpbmcg ZGlyZWN0b3J5IG9mICIKIAkJCQkiZGVudHJ5XG4iKTsKIAkJcmMgPSBQVFJfRVJSKGxvd2Vy X2Rpcl9kZW50cnkpOwpkaWZmIC0tZ2l0IGEvZnMvaW5vdGlmeV91c2VyLmMgYi9mcy9pbm90 aWZ5X3VzZXIuYwppbmRleCA3Yjk0YTFlLi42Njc2YzA2IDEwMDY0NAotLS0gYS9mcy9pbm90 aWZ5X3VzZXIuYworKysgYi9mcy9pbm90aWZ5X3VzZXIuYwpAQCAtNTk4LDcgKzU5OCw3IEBA IGFzbWxpbmthZ2UgbG9uZyBzeXNfaW5vdGlmeV9pbml0KHZvaWQpCiAJfQogCiAJaWggPSBp bm90aWZ5X2luaXQoJmlub3RpZnlfdXNlcl9vcHMpOwotCWlmICh1bmxpa2VseShJU19FUlIo aWgpKSkgeworCWlmIChJU19FUlIoaWgpKSB7CiAJCXJldCA9IFBUUl9FUlIoaWgpOwogCQln b3RvIG91dF9mcmVlX2RldjsKIAl9CmRpZmYgLS1naXQgYS9mcy9udGZzL21mdC5jIGIvZnMv bnRmcy9tZnQuYwppbmRleCAyYWQ1YzhiLi43OTBkZWZiIDEwMDY0NAotLS0gYS9mcy9udGZz L21mdC5jCisrKyBiL2ZzL250ZnMvbWZ0LmMKQEAgLTExOTEsNyArMTE5MSw3IEBAIHN0YXRp YyBpbnQgbnRmc19tZnRfYml0bWFwX2ZpbmRfYW5kX2FsbG9jX2ZyZWVfcmVjX25vbG9jayhu dGZzX3ZvbHVtZSAqdm9sLAogCQlpZiAoc2l6ZSkgewogCQkJcGFnZSA9IG50ZnNfbWFwX3Bh Z2UobWZ0Ym1wX21hcHBpbmcsCiAJCQkJCW9mcyA+PiBQQUdFX0NBQ0hFX1NISUZUKTsKLQkJ CWlmICh1bmxpa2VseShJU19FUlIocGFnZSkpKSB7CisJCQlpZiAoSVNfRVJSKHBhZ2UpKSB7 CiAJCQkJbnRmc19lcnJvcih2b2wtPnNiLCAiRmFpbGVkIHRvIHJlYWQgbWZ0ICIKIAkJCQkJ CSJiaXRtYXAsIGFib3J0aW5nLiIpOwogCQkJCXJldHVybiBQVFJfRVJSKHBhZ2UpOwpAQCAt MjExOCw3ICsyMTE4LDcgQEAgc3RhdGljIGludCBudGZzX21mdF9yZWNvcmRfZm9ybWF0KGNv bnN0IG50ZnNfdm9sdW1lICp2b2wsIGNvbnN0IHM2NCBtZnRfbm8pCiAJfQogCS8qIFJlYWQs IG1hcCwgYW5kIHBpbiB0aGUgcGFnZSBjb250YWluaW5nIHRoZSBtZnQgcmVjb3JkLiAqLwog CXBhZ2UgPSBudGZzX21hcF9wYWdlKG1mdF92aS0+aV9tYXBwaW5nLCBpbmRleCk7Ci0JaWYg KHVubGlrZWx5KElTX0VSUihwYWdlKSkpIHsKKwlpZiAoSVNfRVJSKHBhZ2UpKSB7CiAJCW50 ZnNfZXJyb3Iodm9sLT5zYiwgIkZhaWxlZCB0byBtYXAgcGFnZSBjb250YWluaW5nIG1mdCBy ZWNvcmQgIgogCQkJCSJ0byBmb3JtYXQgMHglbGx4LiIsIChsb25nIGxvbmcpbWZ0X25vKTsK IAkJcmV0dXJuIFBUUl9FUlIocGFnZSk7CkBAIC0yNTE5LDcgKzI1MTksNyBAQCBtZnRfcmVj X2FscmVhZHlfaW5pdGlhbGl6ZWQ6CiAJb2ZzID0gKGJpdCA8PCB2b2wtPm1mdF9yZWNvcmRf c2l6ZV9iaXRzKSAmIH5QQUdFX0NBQ0hFX01BU0s7CiAJLyogUmVhZCwgbWFwLCBhbmQgcGlu IHRoZSBwYWdlIGNvbnRhaW5pbmcgdGhlIG1mdCByZWNvcmQuICovCiAJcGFnZSA9IG50ZnNf bWFwX3BhZ2Uodm9sLT5tZnRfaW5vLT5pX21hcHBpbmcsIGluZGV4KTsKLQlpZiAodW5saWtl bHkoSVNfRVJSKHBhZ2UpKSkgeworCWlmIChJU19FUlIocGFnZSkpIHsKIAkJbnRmc19lcnJv cih2b2wtPnNiLCAiRmFpbGVkIHRvIG1hcCBwYWdlIGNvbnRhaW5pbmcgYWxsb2NhdGVkICIK IAkJCQkibWZ0IHJlY29yZCAweCVsbHguIiwgKGxvbmcgbG9uZyliaXQpOwogCQllcnIgPSBQ VFJfRVJSKHBhZ2UpOwpkaWZmIC0tZ2l0IGEva2VybmVsL2F1ZGl0ZmlsdGVyLmMgYi9rZXJu ZWwvYXVkaXRmaWx0ZXIuYwppbmRleCAyZjI5MTRiLi40Mjc3M2M2IDEwMDY0NAotLS0gYS9r ZXJuZWwvYXVkaXRmaWx0ZXIuYworKysgYi9rZXJuZWwvYXVkaXRmaWx0ZXIuYwpAQCAtMjcy LDcgKzI3Miw3IEBAIHN0YXRpYyBpbnQgYXVkaXRfdG9fd2F0Y2goc3RydWN0IGF1ZGl0X2ty dWxlICprcnVsZSwgY2hhciAqcGF0aCwgaW50IGxlbiwKIAkJcmV0dXJuIC1FSU5WQUw7CiAK IAl3YXRjaCA9IGF1ZGl0X2luaXRfd2F0Y2gocGF0aCk7Ci0JaWYgKHVubGlrZWx5KElTX0VS Uih3YXRjaCkpKQorCWlmIChJU19FUlIod2F0Y2gpKQogCQlyZXR1cm4gUFRSX0VSUih3YXRj aCk7CiAKIAlhdWRpdF9nZXRfd2F0Y2god2F0Y2gpOwpAQCAtODQ4LDcgKzg0OCw3IEBAIHN0 YXRpYyBzdHJ1Y3QgYXVkaXRfd2F0Y2ggKmF1ZGl0X2R1cGVfd2F0Y2goc3RydWN0IGF1ZGl0 X3dhdGNoICpvbGQpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCiAJbmV3ID0gYXVk aXRfaW5pdF93YXRjaChwYXRoKTsKLQlpZiAodW5saWtlbHkoSVNfRVJSKG5ldykpKSB7CisJ aWYgKElTX0VSUihuZXcpKSB7CiAJCWtmcmVlKHBhdGgpOwogCQlnb3RvIG91dDsKIAl9CkBA IC05ODksNyArOTg5LDcgQEAgc3RhdGljIHZvaWQgYXVkaXRfdXBkYXRlX3dhdGNoKHN0cnVj dCBhdWRpdF9wYXJlbnQgKnBhcmVudCwKIAkJCWF1ZGl0X3NldF9hdWRpdGFibGUoY3VycmVu dC0+YXVkaXRfY29udGV4dCk7CiAKIAkJbndhdGNoID0gYXVkaXRfZHVwZV93YXRjaChvd2F0 Y2gpOwotCQlpZiAodW5saWtlbHkoSVNfRVJSKG53YXRjaCkpKSB7CisJCWlmIChJU19FUlIo bndhdGNoKSkgewogCQkJbXV0ZXhfdW5sb2NrKCZhdWRpdF9maWx0ZXJfbXV0ZXgpOwogCQkJ YXVkaXRfcGFuaWMoImVycm9yIHVwZGF0aW5nIHdhdGNoLCBza2lwcGluZyIpOwogCQkJcmV0 dXJuOwpAQCAtMTAwNCw3ICsxMDA0LDcgQEAgc3RhdGljIHZvaWQgYXVkaXRfdXBkYXRlX3dh dGNoKHN0cnVjdCBhdWRpdF9wYXJlbnQgKnBhcmVudCwKIAkJCWxpc3RfZGVsX3JjdSgmb2Vu dHJ5LT5saXN0KTsKIAogCQkJbmVudHJ5ID0gYXVkaXRfZHVwZV9ydWxlKCZvZW50cnktPnJ1 bGUsIG53YXRjaCk7Ci0JCQlpZiAodW5saWtlbHkoSVNfRVJSKG5lbnRyeSkpKQorCQkJaWYg KElTX0VSUihuZW50cnkpKQogCQkJCWF1ZGl0X3BhbmljKCJlcnJvciB1cGRhdGluZyB3YXRj aCwgcmVtb3ZpbmciKTsKIAkJCWVsc2UgewogCQkJCWludCBoID0gYXVkaXRfaGFzaF9pbm8o KHUzMilpbm8pOwpAQCAtMTgxMCw3ICsxODEwLDcgQEAgaW50IHNlbGludXhfYXVkaXRfcnVs ZV91cGRhdGUodm9pZCkKIAkJCXdhdGNoID0gZW50cnktPnJ1bGUud2F0Y2g7CiAJCQl0cmVl ID0gZW50cnktPnJ1bGUudHJlZTsKIAkJCW5lbnRyeSA9IGF1ZGl0X2R1cGVfcnVsZSgmZW50 cnktPnJ1bGUsIHdhdGNoKTsKLQkJCWlmICh1bmxpa2VseShJU19FUlIobmVudHJ5KSkpIHsK KwkJCWlmIChJU19FUlIobmVudHJ5KSkgewogCQkJCS8qIHNhdmUgdGhlIGZpcnN0IGVycm9y IGVuY291bnRlcmVkIGZvciB0aGUKIAkJCQkgKiByZXR1cm4gdmFsdWUgKi8KIAkJCQlpZiAo IWVycikKZGlmZiAtLWdpdCBhL21tL2ZpbGVtYXBfeGlwLmMgYi9tbS9maWxlbWFwX3hpcC5j CmluZGV4IDVlNTk4YzQuLjVkYTNkNGUgMTAwNjQ0Ci0tLSBhL21tL2ZpbGVtYXBfeGlwLmMK KysrIGIvbW0vZmlsZW1hcF94aXAuYwpAQCAtOTAsNyArOTAsNyBAQCBkb194aXBfbWFwcGlu Z19yZWFkKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLAogCQkJaW5kZXgqKFBBR0Vf U0laRS81MTIpLCAwKTsKIAkJaWYgKCFwYWdlKQogCQkJZ290byBub194aXBfcGFnZTsKLQkJ aWYgKHVubGlrZWx5KElTX0VSUihwYWdlKSkpIHsKKwkJaWYgKElTX0VSUihwYWdlKSkgewog CQkJaWYgKFBUUl9FUlIocGFnZSkgPT0gLUVOT0RBVEEpIHsKIAkJCQkvKiBzcGFyc2UgKi8K IAkJCQlwYWdlID0gWkVST19QQUdFKDApOwpAQCAtNDI1LDcgKzQyNSw3IEBAIHhpcF90cnVu Y2F0ZV9wYWdlKHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgZnJvbSkK IAkJCQkJICAgIGluZGV4KihQQUdFX1NJWkUvNTEyKSwgMCk7CiAJaWYgKCFwYWdlKQogCQly ZXR1cm4gLUVOT01FTTsKLQlpZiAodW5saWtlbHkoSVNfRVJSKHBhZ2UpKSkgeworCWlmIChJ U19FUlIocGFnZSkpIHsKIAkJaWYgKFBUUl9FUlIocGFnZSkgPT0gLUVOT0RBVEEpCiAJCQkv KiBIb2xlPyBObyBuZWVkIHRvIHRydW5jYXRlICovCiAJCQlyZXR1cm4gMDsKZGlmZiAtLWdp dCBhL25ldC9jb3JlL2Rldi5jIGIvbmV0L2NvcmUvZGV2LmMKaW5kZXggZmNkZjAzYy4uNjY0 NGYzNCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvZGV2LmMKKysrIGIvbmV0L2NvcmUvZGV2LmMK QEAgLTE1MjQsNyArMTUyNCw3IEBAIHN0YXRpYyBpbnQgZGV2X2dzb19zZWdtZW50KHN0cnVj dCBza19idWZmICpza2IpCiAJaWYgKCFzZWdzKQogCQlyZXR1cm4gMDsKIAotCWlmICh1bmxp a2VseShJU19FUlIoc2VncykpKQorCWlmIChJU19FUlIoc2VncykpCiAJCXJldHVybiBQVFJf RVJSKHNlZ3MpOwogCiAJc2tiLT5uZXh0ID0gc2VnczsKZGlmZiAtLWdpdCBhL25ldC9pcHY0 L2FmX2luZXQuYyBiL25ldC9pcHY0L2FmX2luZXQuYwppbmRleCAwOWNhNTI5Li5lOTRjNDIz IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9hZl9pbmV0LmMKKysrIGIvbmV0L2lwdjQvYWZfaW5l dC5jCkBAIC0xMjE1LDcgKzEyMTUsNyBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmluZXRf Z3NvX3NlZ21lbnQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgaW50IGZlYXR1cmVzKQogCQlzZWdz ID0gb3BzLT5nc29fc2VnbWVudChza2IsIGZlYXR1cmVzKTsKIAlyY3VfcmVhZF91bmxvY2so KTsKIAotCWlmICghc2VncyB8fCB1bmxpa2VseShJU19FUlIoc2VncykpKQorCWlmICghc2Vn cyB8fCBJU19FUlIoc2VncykpCiAJCWdvdG8gb3V0OwogCiAJc2tiID0gc2VnczsKZGlmZiAt LWdpdCBhL25ldC9pcHY2L2lwdjZfc29ja2dsdWUuYyBiL25ldC9pcHY2L2lwdjZfc29ja2ds dWUuYwppbmRleCBiZjJhNjg2Li4xMTc4YmJiIDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcHY2 X3NvY2tnbHVlLmMKKysrIGIvbmV0L2lwdjYvaXB2Nl9zb2NrZ2x1ZS5jCkBAIC0xNDksNyAr MTQ5LDcgQEAgc3RhdGljIHN0cnVjdCBza19idWZmICppcHY2X2dzb19zZWdtZW50KHN0cnVj dCBza19idWZmICpza2IsIGludCBmZWF0dXJlcykKIAl9CiAJcmN1X3JlYWRfdW5sb2NrKCk7 CiAKLQlpZiAodW5saWtlbHkoSVNfRVJSKHNlZ3MpKSkKKwlpZiAoSVNfRVJSKHNlZ3MpKQog CQlnb3RvIG91dDsKIAogCWZvciAoc2tiID0gc2Vnczsgc2tiOyBza2IgPSBza2ItPm5leHQp IHsKZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfcXVldWUuYyBiL25ldC9uZXRmaWx0 ZXIvbmZfcXVldWUuYwppbmRleCBiZmMyOTI4Li5mMDE2YzY4IDEwMDY0NAotLS0gYS9uZXQv bmV0ZmlsdGVyL25mX3F1ZXVlLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9xdWV1ZS5jCkBA IC0yMTQsNyArMjE0LDcgQEAgaW50IG5mX3F1ZXVlKHN0cnVjdCBza19idWZmICpza2IsCiAK IAlzZWdzID0gc2tiX2dzb19zZWdtZW50KHNrYiwgMCk7CiAJa2ZyZWVfc2tiKHNrYik7Ci0J aWYgKHVubGlrZWx5KElTX0VSUihzZWdzKSkpCisJaWYgKElTX0VSUihzZWdzKSkKIAkJcmV0 dXJuIDE7CiAKIAlkbyB7CmRpZmYgLS1naXQgYS9uZXQveGZybS94ZnJtX291dHB1dC5jIGIv bmV0L3hmcm0veGZybV9vdXRwdXQuYwppbmRleCA1NjlkMzc3Li4zNGJiODJkIDEwMDY0NAot LS0gYS9uZXQveGZybS94ZnJtX291dHB1dC5jCisrKyBiL25ldC94ZnJtL3hmcm1fb3V0cHV0 LmMKQEAgLTE1MCw3ICsxNTAsNyBAQCBzdGF0aWMgaW50IHhmcm1fb3V0cHV0X2dzbyhzdHJ1 Y3Qgc2tfYnVmZiAqc2tiKQogCiAJc2VncyA9IHNrYl9nc29fc2VnbWVudChza2IsIDApOwog CWtmcmVlX3NrYihza2IpOwotCWlmICh1bmxpa2VseShJU19FUlIoc2VncykpKQorCWlmIChJ U19FUlIoc2VncykpCiAJCXJldHVybiBQVFJfRVJSKHNlZ3MpOwogCiAJZG8gewpkaWZmIC0t Z2l0IGEvc291bmQvc2gvYWljYS5jIGIvc291bmQvc2gvYWljYS5jCmluZGV4IGQ0OTQxN2Iu LjljYTExMzMgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NoL2FpY2EuYworKysgYi9zb3VuZC9zaC9h aWNhLmMKQEAgLTY2Myw3ICs2NjMsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBhaWNhX2luaXQo dm9pZCkKIAkJcmV0dXJuIGVycjsKIAlwZCA9IHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9z aW1wbGUoU05EX0FJQ0FfRFJJVkVSLCAtMSwKIAkJCQkJICAgICBhaWNhX21lbW9yeV9zcGFj ZSwgMik7Ci0JaWYgKHVubGlrZWx5KElTX0VSUihwZCkpKSB7CisJaWYgKElTX0VSUihwZCkp IHsKIAkJcGxhdGZvcm1fZHJpdmVyX3VucmVnaXN0ZXIoJnNuZF9haWNhX2RyaXZlcik7CiAJ CXJldHVybiBQVFJfRVJSKHBkKTsKIAl9Ci0tIAoxLjUuMi4yCgo= --------------090502090502080207080106--