From owner-freebsd-stable@FreeBSD.ORG Wed May 26 13:55:53 2010 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C54A31065673 for ; Wed, 26 May 2010 13:55:53 +0000 (UTC) (envelope-from giovanni.trematerra@gmail.com) Received: from mail-fx0-f54.google.com (mail-fx0-f54.google.com [209.85.161.54]) by mx1.freebsd.org (Postfix) with ESMTP id 491E88FC08 for ; Wed, 26 May 2010 13:55:53 +0000 (UTC) Received: by fxm17 with SMTP id 17so1768718fxm.13 for ; Wed, 26 May 2010 06:55:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=gbfSc2fFKdhsh+BolZDwL9zB4DDX1wU4k8O4PNfxH9g=; b=uD38gLEB8jnyqnPY3y65MOWQ+af5dNtiXkokZA2bUq+4hwPR11jJ0gZM16iMKS+Q8O UL7/f8xCOy1oNglfQJxlk49hciGYzrcjJMVH//Q5D/1JLSNp7tQVRdsoK18ulmz5tfKs jxd0tjrzkz5lzCIMFsYRrESrvv2v3Uep8Sl5s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=VI8rHV7KznXF/zKE1xPl/1QFodyjQFZLfO7+PgtIjs5L6s5mXNDxAzxXAvzJIwoWBd MxnuENdVLX3WiTR6EFVrowuZn5TEjCY96O8ywQNrExX0U5POsQnnre56dzPTLCxIgxQz CRjGc2B+1ThmLYB8D3L1i9eC3TwZXq/f9BBbI= MIME-Version: 1.0 Received: by 10.223.132.210 with SMTP id c18mr7591626fat.48.1274882152301; Wed, 26 May 2010 06:55:52 -0700 (PDT) Received: by 10.223.103.209 with HTTP; Wed, 26 May 2010 06:55:52 -0700 (PDT) In-Reply-To: References: <4DEBDE2C-C0D2-469D-AC42-DD5027926424@FreeBSD.org> Date: Wed, 26 May 2010 15:55:52 +0200 Message-ID: From: Giovanni Trematerra To: David DEMELIER Content-Type: multipart/mixed; boundary=0023545bddb8d183f304877fa18a Cc: Brandon Gooch , freebsd-stable@freebsd.org Subject: Re: Kernel panic when unpluggin AC adaptor X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 May 2010 13:55:53 -0000 --0023545bddb8d183f304877fa18a Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Wed, May 26, 2010 at 3:55 PM, Giovanni Trematerra wrote: > On Wed, May 26, 2010 at 12:01 PM, David DEMELIER > wrote: >> 2010/5/26 Giovanni Trematerra : >>> On Wed, May 26, 2010 at 11:14 AM, David DEMELIER >>> wrote: >>>> 2010/5/25 Giovanni Trematerra : >>>>> On Tue, May 25, 2010 at 5:52 PM, David DEMELIER >>>>> wrote: >>>>>> 2010/5/25 Giovanni Trematerra : >>>>>>> On Mon, May 24, 2010 at 9:43 PM, David DEMELIER >>>>>>> wrote: >>>>>>>> 2010/5/12 Giovanni Trematerra : >>>>>>>>> On Fri, May 7, 2010 at 8:33 PM, Demelier David wrote: >>>>>>>>>> Le Vendredi 07 mai 2010 =E0 18:22 +0200, Giovanni Trematerra a = =E9crit : >>>>>>>>>>> On Fri, May 7, 2010 at 2:08 PM, Demelier David wrote: >>>>>>>>>>> > Hi, >>>>>>>>>>> > =A0 =A0 =A0 =A0I noticed that pluggin the AC adaptor when I b= oot without it does not >>>>>>>>>>> > =A0 =A0 =A0 =A0panic. It only panic when removing it. >>>>>>>>>>> > >>>>>>>>>>> > =A0 =A0 =A0 =A0Maybe that could help ? >>>>>>>>>>> > >>>>>>>>>>> >>>>>>>>>>> Good to know. The problem lies somewhere when performance state= change. >>>>>>>>>>> In your case it happens when you remove AC adaptor. Let's hope = someone on >>>>>>>>>>> acpi@ ml comes up with a good idea. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Okay so for the moment no change, I'll wait for someone with an = idea >>>>>>>>>> that could solve my problem. For me because the panic only happe= ns when >>>>>>>>>> changing profile from ac plugged -> ac unplugged (and not the re= verse) I >>>>>>>>>> would think it's a cpu related acpi issue. >>>>>>>>>> >>>>>>>>> >>>>>>>>> I looked deeper and it seems to me that when you unplug the AC >>>>>>>>> adapter, acpi_cpu_notify calls acpi_cpu_cx_cst that try to alloca= te a >>>>>>>>> new cx_ptr->p_lvlx =A0via acpi_PkgGas. >>>>>>>>> If acpi_PkgGas set cx_ptr->p_lvlx to NULL for any reasons you'll = have >>>>>>>>> the panic that you reported. >>>>>>>>> A solution would be to set acpi_cpu_hook to NULL so acpi_cpu_idle= won't call it. >>>>>>>>> I need some time to have a patch because of the possible race bet= ween >>>>>>>>> acpi_cpu_notify and >>>>>>>>> acpi_cpu_idle during set acpi_cpu_hook to NULL. >>>>>>>>> if you have time and want panic your system you could try the att= ached >>>>>>>>> patch, just to be >>>>>>>>> sure that we catch it. >>>>>>>>> >>>>>>>> >>>>>>>> Hi, it paniced today ! I don't know why it randomly panic but it d= id, >>>>>>>> the backtrace didn't change. There is a picture about the panic : >>>>>>>> >>>>>>>> http://img541.imageshack.us/img541/2773/dsc00388xa.jpg >>>>>>> >>>>>>> What was you trying? acpi_idle5.diff.txt patch? >>>>>>> How did it panic? Unplugging AC adapter? >>>>>>> >>>>>> >>>>>> Hi, I tried this one : lvlx.diff.txt. Yes by unplugging the AC adapt= er. >>>>>> >>>>> >>>>> This is an old one. Could you try acpi_idle5.diff.txt? I kept you in >>>>> Cc when I sent to >>>>> the list. If you have problems, let me know, I'll resend to you =A0th= e patch. >>>>> >>>>> Thank you. >>>>> >>>> >>>> Hi, it panic'ed with the same backtrace. >>>> >>> >>> Can you please post your dmesg? >>> >> >> Sent ! > > As your PC is in a good mood to make test, :) > could you try this patch? > > Thank you > > -- > Gianni > Here the patch :( --0023545bddb8d183f304877fa18a Content-Type: text/plain; charset=US-ASCII; name="acpi_idle8.diff.txt" Content-Disposition: attachment; filename="acpi_idle8.diff.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g9o7xb6d0 ZGlmZiAtciBhYzk1YTczZDM1OGQgc3lzL2Rldi9hY3BpY2EvYWNwaV9jcHUuYwotLS0gYS9zeXMv ZGV2L2FjcGljYS9hY3BpX2NwdS5jCVR1ZSBNYXkgMTggMDg6MTM6NDAgMjAxMCAtMDQwMAorKysg Yi9zeXMvZGV2L2FjcGljYS9hY3BpX2NwdS5jCVdlZCBNYXkgMjYgMDk6NDQ6NDkgMjAxMCAtMDQw MApAQCAtODgsNiArODgsNyBAQCBzdHJ1Y3QgYWNwaV9jcHVfc29mdGMgewogICAgIGludAkJCSBj cHVfY3hfbG93ZXN0OwogICAgIGNoYXIgCQkgY3B1X2N4X3N1cHBvcnRlZFs2NF07CiAgICAgaW50 CQkJIGNwdV9yaWQ7CisgICAgc3RydWN0IG10eAkJIGNwdV9sb2NrOwogfTsKIAogc3RydWN0IGFj cGlfY3B1X2RldmljZSB7CkBAIC0xMDAsNiArMTAxLDEwIEBAIHN0cnVjdCBhY3BpX2NwdV9kZXZp Y2UgewogI2RlZmluZSBDUFVfU0VUX1JFRyhyZWcsIHdpZHRoLCB2YWwpCQkJCQlcCiAgICAgKGJ1 c19zcGFjZV93cml0ZV8gIyMgd2lkdGgocm1hbl9nZXRfYnVzdGFnKChyZWcpKSwgCQkJXAogCQkg ICAgICAgcm1hbl9nZXRfYnVzaGFuZGxlKChyZWcpKSwgMCwgKHZhbCkpKQorI2RlZmluZSBBQ1BJ X0NQVV9MT0NLKHNjKQkgICAgXAorICAgIG10eF9sb2NrX3NwaW4oJnNjLT5jcHVfbG9jaykKKyNk ZWZpbmUgQUNQSV9DUFVfVU5MT0NLKHNjKQkgICAgXAorICAgIG10eF91bmxvY2tfc3Bpbigmc2Mt PmNwdV9sb2NrKQogCiAjZGVmaW5lIFBNX1VTRUMoeCkJICgoeCkgPj4gMikJLyogfjQgY2xvY2tz IHBlciB1c2VjICgzLjU3OTU1IE1oeikgKi8KIApAQCAtMTI3LDcgKzEzMiw3IEBAIHN0YXRpYyBp bnQJCSBjcHVfcXVpcmtzOwkvKiBJbmRpY2F0ZSBhbnkKIHN0YXRpYyBpbnQJCSBjcHVfcXVpcmtz OwkvKiBJbmRpY2F0ZSBhbnkgaGFyZHdhcmUgYnVncy4gKi8KIAogLyogUnVudGltZSBzdGF0ZS4g Ki8KLXN0YXRpYyBpbnQJCSBjcHVfZGlzYWJsZV9pZGxlOyAvKiBEaXNhYmxlIGVudHJ5IHRvIGlk bGUgZnVuY3Rpb24gKi8KK3N0YXRpYyBpbnQJCSBjcHVfZGlzYWJsZV9pZGxlOyAvKiBHbG9iYWwg ZGlzYWJsZSBpZGxlIGZ1bmN0aW9uICovCiBzdGF0aWMgaW50CQkgY3B1X2N4X2NvdW50OwkvKiBO dW1iZXIgb2YgdmFsaWQgQ3ggc3RhdGVzICovCiAKIC8qIFZhbHVlcyBmb3Igc3lzY3RsLiAqLwpA QCAtMjg0LDYgKzI4OSw3IEBAIGFjcGlfY3B1X2F0dGFjaChkZXZpY2VfdCBkZXYpCiAgICAgQUNQ SV9GVU5DVElPTl9UUkFDRSgoY2hhciAqKSh1aW50cHRyX3QpX19mdW5jX18pOwogCiAgICAgc2Mg PSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7CisgICAgbXR4X2luaXQoJnNjLT5jcHVfbG9jaywgIm50 ZmxjayIsIE5VTEwsIE1UWF9TUElOKTsKICAgICBzYy0+Y3B1X2RldiA9IGRldjsKICAgICBzYy0+ Y3B1X2hhbmRsZSA9IGFjcGlfZ2V0X2hhbmRsZShkZXYpOwogICAgIGNwdV9pZCA9IChpbnQpKGlu dHB0cl90KWFjcGlfZ2V0X3ByaXZhdGUoZGV2KTsKQEAgLTQxNiwyMCArNDIyLDI1IEBAIHN0YXRp YyBpbnQKIHN0YXRpYyBpbnQKIGFjcGlfY3B1X3N1c3BlbmQoZGV2aWNlX3QgZGV2KQogeworICAg IHN0cnVjdCBhY3BpX2NwdV9zb2Z0YyAqc2M7CiAgICAgaW50IGVycm9yOwogCisgICAgc2MgPSBk ZXZpY2VfZ2V0X3NvZnRjKGRldik7CisgICAgQUNQSV9DUFVfTE9DSyhzYyk7CisgICAgY3B1X2Rp c2FibGVfaWRsZSA9IFRSVUU7CisgICAgQUNQSV9DUFVfVU5MT0NLKHNjKTsKICAgICBlcnJvciA9 IGJ1c19nZW5lcmljX3N1c3BlbmQoZGV2KTsKICAgICBpZiAoZXJyb3IpCiAJcmV0dXJuIChlcnJv cik7Ci0gICAgY3B1X2Rpc2FibGVfaWRsZSA9IFRSVUU7CisKICAgICByZXR1cm4gKDApOwogfQog CiBzdGF0aWMgaW50CiBhY3BpX2NwdV9yZXN1bWUoZGV2aWNlX3QgZGV2KQogeworICAgIGNwdV9k aXNhYmxlX2lkbGUgPSBGQUxTRTsKIAotICAgIGNwdV9kaXNhYmxlX2lkbGUgPSBGQUxTRTsKICAg ICByZXR1cm4gKGJ1c19nZW5lcmljX3Jlc3VtZShkZXYpKTsKIH0KIApAQCAtNTIzLDE2ICs1MzQs MTUgQEAgYWNwaV9jcHVfc2h1dGRvd24oZGV2aWNlX3QgZGV2KQogewogICAgIEFDUElfRlVOQ1RJ T05fVFJBQ0UoKGNoYXIgKikodWludHB0cl90KV9fZnVuY19fKTsKIAorICAgIHN0cnVjdCBhY3Bp X2NwdV9zb2Z0YyAqc2M7CisKKyAgICBzYyA9IGRldmljZV9nZXRfc29mdGMoZGV2KTsKKyAgICBB Q1BJX0NQVV9MT0NLKHNjKTsKKyAgICBjcHVfZGlzYWJsZV9pZGxlID0gVFJVRTsKKyAgICBBQ1BJ X0NQVV9VTkxPQ0soc2MpOworCiAgICAgLyogQWxsb3cgY2hpbGRyZW4gdG8gc2h1dGRvd24gZmly c3QuICovCiAgICAgYnVzX2dlbmVyaWNfc2h1dGRvd24oZGV2KTsKLQotICAgIC8qCi0gICAgICog RGlzYWJsZSBhbnkgZW50cnkgdG8gdGhlIGlkbGUgZnVuY3Rpb24uICBUaGVyZSBpcyBhIHNtYWxs IHJhY2Ugd2hlcmUKLSAgICAgKiBhbiBpZGxlIHRocmVhZCBoYXZlIHBhc3NlZCB0aGlzIGNoZWNr IGJ1dCBub3QgZ29uZSB0byBzbGVlcC4gIFRoaXMKLSAgICAgKiBpcyBvayBzaW5jZSBkZXZpY2Vf c2h1dGRvd24oKSBkb2VzIG5vdCBmcmVlIHRoZSBzb2Z0Yywgb3RoZXJ3aXNlCi0gICAgICogd2Un ZCBoYXZlIHRvIGJlIHN1cmUgYWxsIHRocmVhZHMgd2VyZSBldmljdGVkIGJlZm9yZSByZXR1cm5p bmcuCi0gICAgICovCi0gICAgY3B1X2Rpc2FibGVfaWRsZSA9IFRSVUU7CiAKICAgICByZXR1cm5f VkFMVUUgKDApOwogfQpAQCAtNjA5LDcgKzYxOSw5IEBAIGFjcGlfY3B1X2dlbmVyaWNfY3hfcHJv YmUoc3RydWN0IGFjcGlfY3AKIAkgICAgY3hfcHRyLT50cmFuc19sYXQgPSBBY3BpR2JsX0ZBRFQu QzJMYXRlbmN5OwogCSAgICBjeF9wdHIrKzsKIAkgICAgc2MtPmNwdV9jeF9jb3VudCsrOwotCX0K Kwl9IGVsc2UKKwkgICAgcGFuaWMoIiVzOiBDYW5ub3QgYWxsb2NhdGUgcmVzb3VyY2UgJWQgZm9y IEMzIHN0YXRlIiwgX19mdW5jX18sIAorCSAgICAgICAgY3hfcHRyLT5yZXNfdHlwZSk7CiAgICAg fQogICAgIGlmIChzYy0+Y3B1X3BfYmxrX2xlbiA8IDYpCiAJcmV0dXJuOwpAQCAtNjI1LDcgKzYz Nyw5IEBAIGFjcGlfY3B1X2dlbmVyaWNfY3hfcHJvYmUoc3RydWN0IGFjcGlfY3AKIAkgICAgY3hf cHRyLT50cmFuc19sYXQgPSBBY3BpR2JsX0ZBRFQuQzNMYXRlbmN5OwogCSAgICBjeF9wdHIrKzsK IAkgICAgc2MtPmNwdV9jeF9jb3VudCsrOwotCX0KKwl9IGVsc2UKKwkgICAgcGFuaWMoIiVzOiBD YW5ub3QgYWxsb2NhdGUgcmVzb3VyY2UgJWQgZm9yIEMzIHN0YXRlIiwgX19mdW5jX18sIAorCSAg ICAgICAgY3hfcHRyLT5yZXNfdHlwZSk7CiAgICAgfQogfQogCkBAIC02MzcsMTMgKzY1MSwxNCBA QCBzdGF0aWMgaW50CiBzdGF0aWMgaW50CiBhY3BpX2NwdV9jeF9jc3Qoc3RydWN0IGFjcGlfY3B1 X3NvZnRjICpzYykKIHsKKyAgICBzdHJ1Y3QgCSByZXNvdXJjZSAqbHZseDsKICAgICBzdHJ1Y3QJ IGFjcGlfY3ggKmN4X3B0cjsKICAgICBBQ1BJX1NUQVRVUwkgc3RhdHVzOwogICAgIEFDUElfQlVG RkVSCSBidWY7CiAgICAgQUNQSV9PQkpFQ1QJKnRvcDsKICAgICBBQ1BJX09CSkVDVAkqcGtnOwog ICAgIHVpbnQzMl90CSBjb3VudDsKLSAgICBpbnQJCSBpOworICAgIGludAkJIGksIHR5cGUsIHJp ZDsKIAogICAgIEFDUElfRlVOQ1RJT05fVFJBQ0UoKGNoYXIgKikodWludHB0cl90KV9fZnVuY19f KTsKIApAQCAtNzIyLDggKzczNywxOCBAQCBhY3BpX2NwdV9jeF9jc3Qoc3RydWN0IGFjcGlfY3B1 X3NvZnRjICpzCiAjZW5kaWYKIAogCS8qIEFsbG9jYXRlIHRoZSBjb250cm9sIHJlZ2lzdGVyIGZv ciBDMiBvciBDMy4gKi8KLQlhY3BpX1BrZ0dhcyhzYy0+Y3B1X2RldiwgcGtnLCAwLCAmY3hfcHRy LT5yZXNfdHlwZSwgJnNjLT5jcHVfcmlkLAotCSAgICAmY3hfcHRyLT5wX2x2bHgsIFJGX1NIQVJF QUJMRSk7CisJYWNwaV9Qa2dHYXMoc2MtPmNwdV9kZXYsIHBrZywgMCwgJnR5cGUsICZyaWQsCisJ ICAgICZsdmx4LCBSRl9TSEFSRUFCTEUpOworCUFDUElfQ1BVX0xPQ0soc2MpOworCisJLyogCisJ ICogIGlmIHlvdSBjYW5ub3QgYWxsb2NhdGUgdGhlIGNvbnRyb2wgcmVnaXN0ZXIgeW91IG5lZWQg dG8gc3RvcAorCSAqICB0aGUgYWNwaV9jcHVfaWRsZSBob29rLgorCSAqLworCWNwdV9kaXNhYmxl X2lkbGUgPSAobHZseCA9PSBOVUxMKSA/IFRSVUUgOiBGQUxTRTsKKwlzYy0+Y3B1X3JpZCAgCSA9 IHJpZDsKKwljeF9wdHItPnBfbHZseCAgID0gbHZseDsKKwljeF9wdHItPnJlc190eXBlID0gdHlw ZTsKIAlpZiAoY3hfcHRyLT5wX2x2bHgpIHsKIAkgICAgc2MtPmNwdV9yaWQrKzsKIAkgICAgQUNQ SV9ERUJVR19QUklOVCgoQUNQSV9EQl9JTkZPLApAQCAtNzMyLDcgKzc1NywxMCBAQCBhY3BpX2Nw dV9jeF9jc3Qoc3RydWN0IGFjcGlfY3B1X3NvZnRjICpzCiAJCQkgICAgIGN4X3B0ci0+dHJhbnNf bGF0KSk7CiAJICAgIGN4X3B0cisrOwogCSAgICBzYy0+Y3B1X2N4X2NvdW50Kys7Ci0JfQorCX0g ZWxzZQorCSAgICBkZXZpY2VfcHJpbnRmKHNjLT5jcHVfZGV2LCAiY2Fubm90IGFsbG9jYXRlIGNv bnRyb2wgcmVnaXN0ZXIiCisJICAgICAgICAiIGZvciBDMiBvciBDMy4iKTsKKwlBQ1BJX0NQVV9V TkxPQ0soc2MpOwogICAgIH0KICAgICBBY3BpT3NGcmVlKGJ1Zi5Qb2ludGVyKTsKIApAQCAtODgz LDEyICs5MTEsNiBAQCBhY3BpX2NwdV9pZGxlKCkKICAgICB1aW50MzJfdAlzdGFydF90aW1lLCBl bmRfdGltZTsKICAgICBpbnQJCWJtX2FjdGl2ZSwgY3hfbmV4dF9pZHgsIGk7CiAKLSAgICAvKiBJ ZiBkaXNhYmxlZCwgcmV0dXJuIGltbWVkaWF0ZWx5LiAqLwotICAgIGlmIChjcHVfZGlzYWJsZV9p ZGxlKSB7Ci0JQUNQSV9FTkFCTEVfSVJRUygpOwotCXJldHVybjsKLSAgICB9Ci0KICAgICAvKgog ICAgICAqIExvb2sgdXAgb3VyIENQVSBpZCB0byBnZXQgb3VyIHNvZnRjLiAgSWYgaXQncyBOVUxM LCB3ZSdsbCB1c2UgQzEKICAgICAgKiBzaW5jZSB0aGVyZSBpcyBubyBBQ1BJIHByb2Nlc3NvciBv YmplY3QgZm9yIHRoaXMgQ1BVLiAgVGhpcyBvY2N1cnMKQEAgLTg5Niw3ICs5MTgsMTcgQEAgYWNw aV9jcHVfaWRsZSgpCiAgICAgICovCiAgICAgc2MgPSBjcHVfc29mdGNbUENQVV9HRVQoY3B1aWQp XTsKICAgICBpZiAoc2MgPT0gTlVMTCkgewotCWFjcGlfY3B1X2MxKCk7CisJaWYgKGNwdV9kaXNh YmxlX2lkbGUpCisJICAgIEFDUElfRU5BQkxFX0lSUVMoKTsKKwllbHNlCisJICAgIGFjcGlfY3B1 X2MxKCk7CisJcmV0dXJuOworICAgIH0KKworICAgIEFDUElfQ1BVX0xPQ0soc2MpOworICAgIGlm IChjcHVfZGlzYWJsZV9pZGxlKSB7CisJQUNQSV9DUFVfVU5MT0NLKHNjKTsKKwlBQ1BJX0VOQUJM RV9JUlFTKCk7CiAJcmV0dXJuOwogICAgIH0KIApAQCAtOTM1LDYgKzk2Nyw3IEBAIGFjcGlfY3B1 X2lkbGUoKQogICAgICAqLwogICAgIGlmIChjeF9uZXh0LT50eXBlID09IEFDUElfU1RBVEVfQzEp IHsKIAlzYy0+Y3B1X3ByZXZfc2xlZXAgPSAoc2MtPmNwdV9wcmV2X3NsZWVwICogMyArIDUwMDAw MCAvIGh6KSAvIDQ7CisJQUNQSV9DUFVfVU5MT0NLKHNjKTsKIAlhY3BpX2NwdV9jMSgpOwogCXJl dHVybjsKICAgICB9CkBAIC05NzUsNiArMTAwOCw3IEBAIGFjcGlfY3B1X2lkbGUoKQogCUFjcGlX cml0ZUJpdFJlZ2lzdGVyKEFDUElfQklUUkVHX0FSQl9ESVNBQkxFLCAwKTsKIAlBY3BpV3JpdGVC aXRSZWdpc3RlcihBQ1BJX0JJVFJFR19CVVNfTUFTVEVSX1JMRCwgMCk7CiAgICAgfQorICAgIEFD UElfQ1BVX1VOTE9DSyhzYyk7CiAgICAgQUNQSV9FTkFCTEVfSVJRUygpOwogCiAgICAgLyogRmlu ZCB0aGUgYWN0dWFsIHRpbWUgYXNsZWVwIGluIG1pY3Jvc2Vjb25kcy4gKi8K --0023545bddb8d183f304877fa18a--