From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4F7C2C433E4 for ; Thu, 2 Jul 2020 17:50:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 29D8920702 for ; Thu, 2 Jul 2020 17:50:02 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Su8z7mc7" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727983AbgGBRt5 (ORCPT ); Thu, 2 Jul 2020 13:49:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50410 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727977AbgGBRt5 (ORCPT ); Thu, 2 Jul 2020 13:49:57 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A794DC08C5E0 for ; Thu, 2 Jul 2020 10:49:56 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id 22so28067078wmg.1 for ; Thu, 02 Jul 2020 10:49:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=xQ/jbEIoi0E5v/8Oaxv5C/iCmVriuxnyUPKYmwbLhJI=; b=Su8z7mc7dYnPY7oZG6Qfy2JYbC+KUSrWJlUQisUIJi7j2laFEpLi08Hzg9aJEscsNx CNgySZxbqQ8zHjlIkbChmzaDwLiFGQwPsO3X5dNSPEv/D5J2XxENVkxE3rCu+0kw3Es7 gAu0S3jeVQa36FEZB8+0pnpQLob/I5kajgBvYbdEAUC2zXC03tOVuW0syjSnQ5dcFOLr ZhU6sAuB6QYQCHmMi/h06UeD2lfNsx6eXpsJmeVe2jge71IivDIZvo67ktv2TyZILyZG EmVXGKoi77uzrMMN0wg4385tboOrgBWpkgPF2IGUOOhSAlQOZN0/WykOwi01hI1ZnfMr vsSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=xQ/jbEIoi0E5v/8Oaxv5C/iCmVriuxnyUPKYmwbLhJI=; b=JgcLyideMUOXo1Pd6xedvCTCBN2m7AKr/n+yr1wC/Vkmn5uzTV7Yps9nfVSuGf9HXz MYJgRAhrKRAx2S1bcMenJwvxQXiMDhzlr9PzJDpg7Hg/qI4/hQSWI4k7Gg6zPRoHpHns PNfEU+D4qNL+2XA+c6IVmIBZ772oxbnBRfNOiczwlIZp09JnSZcBeJauOg3vh+zU2a3W cCeAK+G6M8lj+40spCKSZnp0EcVPxH3056F3x8x7mVox8HyA3brrFq5gLrOlfNE3kWpK LHtFj4RENvuEejSZFxi5c4a6kuoc0XYDNVlQv7QjdVi36B4wzrVRgr2PZ00eOnpiaiGj vPQA== X-Gm-Message-State: AOAM530YAWcPaAFKsWuMg9OFc+nC2Xcxy06BfHWMSJk+98v+dmw6uXJs qCKi9ZfZCo7NkwbFdNrPdDU1Dw== X-Google-Smtp-Source: ABdhPJyzRv8aoQm207JFCd7UUYqXvDOaDeuaWNHVTkS4tsgnm3DlNfQKfqswQjF2MPlESIwAbwvFXw== X-Received: by 2002:a1c:f203:: with SMTP id s3mr31694303wmc.126.1593712194925; Thu, 02 Jul 2020 10:49:54 -0700 (PDT) Received: from ?IPv6:2a01:e34:ed2f:f020:c88a:7b2b:a4a1:46d0? ([2a01:e34:ed2f:f020:c88a:7b2b:a4a1:46d0]) by smtp.googlemail.com with ESMTPSA id b18sm2353454wrs.46.2020.07.02.10.49.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Jul 2020 10:49:54 -0700 (PDT) Subject: Re: [PATCH v7 00/11] Stop monitoring disabled devices To: Andrzej Pietrasiewicz , linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org Cc: "Rafael J . Wysocki" , Len Brown , Vishal Kulkarni , "David S . Miller" , Jiri Pirko , Ido Schimmel , Johannes Berg , Emmanuel Grumbach , Luca Coelho , Intel Linux Wireless , Kalle Valo , Peter Kaestle , Darren Hart , Andy Shevchenko , Sebastian Reichel , Miquel Raynal , Amit Kucheria , Support Opensource , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , NXP Linux Team , =?UTF-8?Q?Niklas_S=c3=b6derlund?= , Heiko Stuebner , Orson Zhai , Baolin Wang , Chunyan Zhang , Zhang Rui , Allison Randal , Enrico Weigelt , Gayatri Kammela , Thomas Gleixner , Bartlomiej Zolnierkiewicz , kernel@collabora.com References: <20200629122925.21729-1-andrzej.p@collabora.com> <3d03d1a2-ac06-b69b-93cb-e0203be62c10@collabora.com> <47111821-d691-e71d-d740-e4325e290fa4@linaro.org> <4353a939-3f5e-8369-5bc0-ad8162b5ffc7@linaro.org> <73942aea-ae79-753c-fe90-d4a99423d548@collabora.com> <374dddd9-b600-3a30-d6c3-8cfcefc944d9@linaro.org> <5a28deb7-f307-8b03-faad-ab05cb8095d1@collabora.com> <8aeb4f51-1813-63c1-165b-06640af5968f@linaro.org> <685ef627-e377-bbf1-da11-7f7556ca2dd7@collabora.com> From: Daniel Lezcano Message-ID: Date: Thu, 2 Jul 2020 19:49:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <685ef627-e377-bbf1-da11-7f7556ca2dd7@collabora.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org On 02/07/2020 19:19, Andrzej Pietrasiewicz wrote: > Hi, > > W dniu 02.07.2020 o 19:01, Daniel Lezcano pisze: >> On 02/07/2020 15:53, Andrzej Pietrasiewicz wrote: >>> Hi Daniel, >>> >>> >>> >>>>>>>> >>>>>>>> I did reproduce: >>>>>>>> >>>>>>>> v5.8-rc3 + series => imx6 hang at boot time >>>>>>>> v5.8-rc3 => imx6 boots correctly >>>> >>>> So finally I succeeded to reproduce it on my imx7 locally. The sensor >>>> was failing to initialize for another reason related to the legacy >>>> cooling device, this is why it is not appearing on the imx7. >>>> >>>> I can now git-bisect :) >>>> >>> >>> That would be very kind of you, thank you! >> >> With the lock correctness option enabled: >> >> [    4.179223] imx_thermal tempmon: Extended Commercial CPU temperature >> grade - max:105C critical:100C passive:95C >> [    4.189557] >> [    4.191060] ============================================ >> [    4.196378] WARNING: possible recursive locking detected >> [    4.201699] 5.8.0-rc3-00011-gf5e50bf4d3ef #42 Not tainted >> [    4.207102] -------------------------------------------- >> [    4.212421] kworker/0:3/54 is trying to acquire lock: >> [    4.217480] ca09a3e4 (&tz->lock){+.+.}-{3:3}, at: >> thermal_zone_device_is_enabled+0x18/0x34 >> [    4.225777] >> [    4.225777] but task is already holding lock: >> [    4.231615] ca09a3e4 (&tz->lock){+.+.}-{3:3}, at: >> thermal_zone_get_temp+0x38/0x6c >> [    4.239121] >> [    4.239121] other info that might help us debug this: >> [    4.245655]  Possible unsafe locking scenario: >> [    4.245655] >> [    4.251579]        CPU0 >> [    4.254031]        ---- >> [    4.256481]   lock(&tz->lock); >> [    4.259544]   lock(&tz->lock); >> [    4.262608] >> [    4.262608]  *** DEADLOCK *** >> [    4.262608] >> [    4.268533]  May be due to missing lock nesting notation >> [    4.268533] >> [    4.275329] 4 locks held by kworker/0:3/54: >> [    4.279517]  #0: cb0066a8 ((wq_completion)events){+.+.}-{0:0}, at: >> process_one_work+0x224/0x808 >> [    4.288241]  #1: ca075f10 (deferred_probe_work){+.+.}-{0:0}, at: >> process_one_work+0x224/0x808 >> [    4.296787]  #2: cb1a48d8 (&dev->mutex){....}-{3:3}, at: >> __device_attach+0x30/0x140 >> [    4.304468]  #3: ca09a3e4 (&tz->lock){+.+.}-{3:3}, at: >> thermal_zone_get_temp+0x38/0x6c >> [    4.312408] >> [    4.312408] stack backtrace: >> [    4.316778] CPU: 0 PID: 54 Comm: kworker/0:3 Not tainted >> 5.8.0-rc3-00011-gf5e50bf4d3ef #42 >> [    4.325048] Hardware name: Freescale i.MX7 Dual (Device Tree) >> [    4.330809] Workqueue: events deferred_probe_work_func >> [    4.335973] [] (unwind_backtrace) from [] >> (show_stack+0x10/0x14) >> [    4.343734] [] (show_stack) from [] >> (dump_stack+0xe8/0x114) >> [    4.351062] [] (dump_stack) from [] >> (__lock_acquire+0xbfc/0x2cb4) >> [    4.358909] [] (__lock_acquire) from [] >> (lock_acquire+0xf4/0x4e4) >> [    4.366758] [] (lock_acquire) from [] >> (__mutex_lock+0xb0/0xaa8) >> [    4.374431] [] (__mutex_lock) from [] >> (mutex_lock_nested+0x1c/0x24) >> [    4.382452] [] (mutex_lock_nested) from [] >> (thermal_zone_device_is_enabled+0x18/0x34) >> [    4.392036] [] (thermal_zone_device_is_enabled) from >> [] (imx_get_temp+0x30/0x208) >> [    4.401271] [] (imx_get_temp) from [] >> (thermal_zone_get_temp+0x4c/0x6c) >> [    4.409640] [] (thermal_zone_get_temp) from [] >> (thermal_zone_device_update+0x8c/0x258) >> [    4.419310] [] (thermal_zone_device_update) from >> [] (thermal_zone_device_set_mode+0x60/0x88) >> [    4.429500] [] (thermal_zone_device_set_mode) from >> [] (imx_thermal_probe+0x3e4/0x578) >> [    4.439082] [] (imx_thermal_probe) from [] >> (platform_drv_probe+0x48/0x98) >> [    4.447622] [] (platform_drv_probe) from [] >> (really_probe+0x218/0x348) >> [    4.455903] [] (really_probe) from [] >> (driver_probe_device+0x5c/0xb4) >> [    4.464098] [] (driver_probe_device) from [] >> (bus_for_each_drv+0x58/0xb8) >> [    4.472638] [] (bus_for_each_drv) from [] >> (__device_attach+0xd4/0x140) >> [    4.480919] [] (__device_attach) from [] >> (bus_probe_device+0x88/0x90) >> [    4.489112] [] (bus_probe_device) from [] >> (deferred_probe_work_func+0x68/0x98) >> [    4.498088] [] (deferred_probe_work_func) from [] >> (process_one_work+0x2e0/0x808) >> [    4.507237] [] (process_one_work) from [] >> (worker_thread+0x2a0/0x59c) >> [    4.515432] [] (worker_thread) from [] >> (kthread+0x16c/0x178) >> [    4.522843] [] (kthread) from [] >> (ret_from_fork+0x14/0x20) >> [    4.530074] Exception stack(0xca075fb0 to 0xca075ff8) >> [    4.535138] 5fa0:                                     00000000 >> 00000000 00000000 00000000 >> [    4.543328] 5fc0: 00000000 00000000 00000000 00000000 00000000 >> 00000000 00000000 00000000 >> [    4.551516] 5fe0: 00000000 00000000 00000000 00000000 00000013 >> 00000000 >> >> >> > > Thanks! > > That confirms your suspicions. > > So the reason is that ->get_temp() is called while the mutex is held and > thermal_zone_device_is_enabled() wants to take the same mutex. Yes, that's correct. > Is adding a comment to thermal_zone_device_is_enabled() to never call > it while the mutex is held and adding another version of it which does > not take the mutex ok? The thermal_zone_device_is_enabled() is only used in two places, acpi and this imx driver, and given: 1. as soon as the mutex is released, there is no guarantee the thermal zone won't be changed right after, the lock is pointless, thus the information also. 2. from a design point of view, I don't see why a driver should know if a thermal zone is disabled or not It would make sense to end with this function and do not give the different drivers an opportunity to access this information. Why not add change_mode for the acpi in order to enable or disable the events and for imx_thermal use irq_enabled flag instead of the thermal zone mode? Moreover it is very unclear why this function is needed in imx_get_temp(), and I suspect we should be able to get rid of it. -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Lezcano Subject: Re: [PATCH v7 00/11] Stop monitoring disabled devices Date: Thu, 2 Jul 2020 19:49:51 +0200 Message-ID: References: <20200629122925.21729-1-andrzej.p@collabora.com> <3d03d1a2-ac06-b69b-93cb-e0203be62c10@collabora.com> <47111821-d691-e71d-d740-e4325e290fa4@linaro.org> <4353a939-3f5e-8369-5bc0-ad8162b5ffc7@linaro.org> <73942aea-ae79-753c-fe90-d4a99423d548@collabora.com> <374dddd9-b600-3a30-d6c3-8cfcefc944d9@linaro.org> <5a28deb7-f307-8b03-faad-ab05cb8095d1@collabora.com> <8aeb4f51-1813-63c1-165b-06640af5968f@linaro.org> <685ef627-e377-bbf1-da11-7f7556ca2dd7@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: <685ef627-e377-bbf1-da11-7f7556ca2dd7@collabora.com> Content-Language: en-US Sender: linux-acpi-owner@vger.kernel.org To: Andrzej Pietrasiewicz , linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org Cc: "Rafael J . Wysocki" , Len Brown , Vishal Kulkarni , "David S . Miller" , Jiri Pirko , Ido Schimmel , Johannes Berg , Emmanuel Grumbach , Luca Coelho , Intel Linux Wireless , Kalle Valo , Peter Kaestle , Darren Hart , Andy Shevchenko , Sebastian Reichel , Miquel Raynal , Amit Kucheria , Support Opensource , Shawn Guo List-Id: platform-driver-x86.vger.kernel.org On 02/07/2020 19:19, Andrzej Pietrasiewicz wrote: > Hi, > > W dniu 02.07.2020 o 19:01, Daniel Lezcano pisze: >> On 02/07/2020 15:53, Andrzej Pietrasiewicz wrote: >>> Hi Daniel, >>> >>> >>> >>>>>>>> >>>>>>>> I did reproduce: >>>>>>>> >>>>>>>> v5.8-rc3 + series => imx6 hang at boot time >>>>>>>> v5.8-rc3 => imx6 boots correctly >>>> >>>> So finally I succeeded to reproduce it on my imx7 locally. The sensor >>>> was failing to initialize for another reason related to the legacy >>>> cooling device, this is why it is not appearing on the imx7. >>>> >>>> I can now git-bisect :) >>>> >>> >>> That would be very kind of you, thank you! >> >> With the lock correctness option enabled: >> >> [    4.179223] imx_thermal tempmon: Extended Commercial CPU temperature >> grade - max:105C critical:100C passive:95C >> [    4.189557] >> [    4.191060] ============================================ >> [    4.196378] WARNING: possible recursive locking detected >> [    4.201699] 5.8.0-rc3-00011-gf5e50bf4d3ef #42 Not tainted >> [    4.207102] -------------------------------------------- >> [    4.212421] kworker/0:3/54 is trying to acquire lock: >> [    4.217480] ca09a3e4 (&tz->lock){+.+.}-{3:3}, at: >> thermal_zone_device_is_enabled+0x18/0x34 >> [    4.225777] >> [    4.225777] but task is already holding lock: >> [    4.231615] ca09a3e4 (&tz->lock){+.+.}-{3:3}, at: >> thermal_zone_get_temp+0x38/0x6c >> [    4.239121] >> [    4.239121] other info that might help us debug this: >> [    4.245655]  Possible unsafe locking scenario: >> [    4.245655] >> [    4.251579]        CPU0 >> [    4.254031]        ---- >> [    4.256481]   lock(&tz->lock); >> [    4.259544]   lock(&tz->lock); >> [    4.262608] >> [    4.262608]  *** DEADLOCK *** >> [    4.262608] >> [    4.268533]  May be due to missing lock nesting notation >> [    4.268533] >> [    4.275329] 4 locks held by kworker/0:3/54: >> [    4.279517]  #0: cb0066a8 ((wq_completion)events){+.+.}-{0:0}, at: >> process_one_work+0x224/0x808 >> [    4.288241]  #1: ca075f10 (deferred_probe_work){+.+.}-{0:0}, at: >> process_one_work+0x224/0x808 >> [    4.296787]  #2: cb1a48d8 (&dev->mutex){....}-{3:3}, at: >> __device_attach+0x30/0x140 >> [    4.304468]  #3: ca09a3e4 (&tz->lock){+.+.}-{3:3}, at: >> thermal_zone_get_temp+0x38/0x6c >> [    4.312408] >> [    4.312408] stack backtrace: >> [    4.316778] CPU: 0 PID: 54 Comm: kworker/0:3 Not tainted >> 5.8.0-rc3-00011-gf5e50bf4d3ef #42 >> [    4.325048] Hardware name: Freescale i.MX7 Dual (Device Tree) >> [    4.330809] Workqueue: events deferred_probe_work_func >> [    4.335973] [] (unwind_backtrace) from [] >> (show_stack+0x10/0x14) >> [    4.343734] [] (show_stack) from [] >> (dump_stack+0xe8/0x114) >> [    4.351062] [] (dump_stack) from [] >> (__lock_acquire+0xbfc/0x2cb4) >> [    4.358909] [] (__lock_acquire) from [] >> (lock_acquire+0xf4/0x4e4) >> [    4.366758] [] (lock_acquire) from [] >> (__mutex_lock+0xb0/0xaa8) >> [    4.374431] [] (__mutex_lock) from [] >> (mutex_lock_nested+0x1c/0x24) >> [    4.382452] [] (mutex_lock_nested) from [] >> (thermal_zone_device_is_enabled+0x18/0x34) >> [    4.392036] [] (thermal_zone_device_is_enabled) from >> [] (imx_get_temp+0x30/0x208) >> [    4.401271] [] (imx_get_temp) from [] >> (thermal_zone_get_temp+0x4c/0x6c) >> [    4.409640] [] (thermal_zone_get_temp) from [] >> (thermal_zone_device_update+0x8c/0x258) >> [    4.419310] [] (thermal_zone_device_update) from >> [] (thermal_zone_device_set_mode+0x60/0x88) >> [    4.429500] [] (thermal_zone_device_set_mode) from >> [] (imx_thermal_probe+0x3e4/0x578) >> [    4.439082] [] (imx_thermal_probe) from [] >> (platform_drv_probe+0x48/0x98) >> [    4.447622] [] (platform_drv_probe) from [] >> (really_probe+0x218/0x348) >> [    4.455903] [] (really_probe) from [] >> (driver_probe_device+0x5c/0xb4) >> [    4.464098] [] (driver_probe_device) from [] >> (bus_for_each_drv+0x58/0xb8) >> [    4.472638] [] (bus_for_each_drv) from [] >> (__device_attach+0xd4/0x140) >> [    4.480919] [] (__device_attach) from [] >> (bus_probe_device+0x88/0x90) >> [    4.489112] [] (bus_probe_device) from [] >> (deferred_probe_work_func+0x68/0x98) >> [    4.498088] [] (deferred_probe_work_func) from [] >> (process_one_work+0x2e0/0x808) >> [    4.507237] [] (process_one_work) from [] >> (worker_thread+0x2a0/0x59c) >> [    4.515432] [] (worker_thread) from [] >> (kthread+0x16c/0x178) >> [    4.522843] [] (kthread) from [] >> (ret_from_fork+0x14/0x20) >> [    4.530074] Exception stack(0xca075fb0 to 0xca075ff8) >> [    4.535138] 5fa0:                                     00000000 >> 00000000 00000000 00000000 >> [    4.543328] 5fc0: 00000000 00000000 00000000 00000000 00000000 >> 00000000 00000000 00000000 >> [    4.551516] 5fe0: 00000000 00000000 00000000 00000000 00000013 >> 00000000 >> >> >> > > Thanks! > > That confirms your suspicions. > > So the reason is that ->get_temp() is called while the mutex is held and > thermal_zone_device_is_enabled() wants to take the same mutex. Yes, that's correct. > Is adding a comment to thermal_zone_device_is_enabled() to never call > it while the mutex is held and adding another version of it which does > not take the mutex ok? The thermal_zone_device_is_enabled() is only used in two places, acpi and this imx driver, and given: 1. as soon as the mutex is released, there is no guarantee the thermal zone won't be changed right after, the lock is pointless, thus the information also. 2. from a design point of view, I don't see why a driver should know if a thermal zone is disabled or not It would make sense to end with this function and do not give the different drivers an opportunity to access this information. Why not add change_mode for the acpi in order to enable or disable the events and for imx_thermal use irq_enabled flag instead of the thermal zone mode? Moreover it is very unclear why this function is needed in imx_get_temp(), and I suspect we should be able to get rid of it. -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9CEC2C433DF for ; Thu, 2 Jul 2020 17:51:18 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5FD0E20737 for ; Thu, 2 Jul 2020 17:51:18 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="t396iwgr"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="Su8z7mc7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5FD0E20737 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BroWO9n1BYYLP5vDc5gfu8zo4uNg7csJgP3cNVyBfrk=; b=t396iwgrexQP4q4hCZTH+SVJu BXgIEMV+nmBQfuEH9htqZxKNB4a/4agNqhZ3pgvt0ZaBKRhZCX5bXbf7GEtSqvnW+aXc/cM13Zm+v BmXvLzBl9SJNn6gdeg63PhYFf/rDYZ2PspUhvzkcGUsXReG6NqsYXwtR7RV640n1t1yqnX3x/Z6ys wKRcbfj26a98foe77wMrWcH/cEuv0/pzkPN9kQCEBMWgoecEpKnm+ZRfKE1SbsSFg10We2eERQCqX 5eSC+9QvIgipmxxratWr5g9u8wX/hyKpxZ35I9wxudBWqVq5Ved3qbQ6nE91UvyP06mJb6do5t1go XcTPcr8Gw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jr3LW-0004Nc-Ru; Thu, 02 Jul 2020 17:50:02 +0000 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jr3LQ-0004Ja-5z for linux-arm-kernel@lists.infradead.org; Thu, 02 Jul 2020 17:49:59 +0000 Received: by mail-wm1-x342.google.com with SMTP id q15so28054681wmj.2 for ; Thu, 02 Jul 2020 10:49:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=xQ/jbEIoi0E5v/8Oaxv5C/iCmVriuxnyUPKYmwbLhJI=; b=Su8z7mc7dYnPY7oZG6Qfy2JYbC+KUSrWJlUQisUIJi7j2laFEpLi08Hzg9aJEscsNx CNgySZxbqQ8zHjlIkbChmzaDwLiFGQwPsO3X5dNSPEv/D5J2XxENVkxE3rCu+0kw3Es7 gAu0S3jeVQa36FEZB8+0pnpQLob/I5kajgBvYbdEAUC2zXC03tOVuW0syjSnQ5dcFOLr ZhU6sAuB6QYQCHmMi/h06UeD2lfNsx6eXpsJmeVe2jge71IivDIZvo67ktv2TyZILyZG EmVXGKoi77uzrMMN0wg4385tboOrgBWpkgPF2IGUOOhSAlQOZN0/WykOwi01hI1ZnfMr vsSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=xQ/jbEIoi0E5v/8Oaxv5C/iCmVriuxnyUPKYmwbLhJI=; b=qszhVKgHvdP3nLOCzMnENypV7JT9q7tgu2awf7xSJvHwbZ91LErHxNarKJF4eQff9W sP0I4X6+smt6S50lW7+6gmuJxziCFKQ/ZL9M5gniXBWn3bYueb7CdZFcTmorvqB8ta9U V3qT/+CiP4IZ1rFLt5FeH3K1+tEAYLR0m/MVDLTZtTogREHG4ZahLJd/6NPL/hLQnBkI Amn/4G5QTvgAy6dFXUSZECl2MeoqXukrtnHx4drHnekzkgiiLcngCZ/lowA6Gfhn+2ZJ xk81WP+mllj38dSDi1Swus2ehErOFwbAMHNr0Qx747seiCrfWjfzUcQaiavmwD7Rj5kS Ap9Q== X-Gm-Message-State: AOAM533nrXbGPF0cNm8j9qfgJRrYoU4L7eE92ISAPTzLmXYbMQM5IeU3 xDg6jMCOSEP6/puVQuzYZfRaLw== X-Google-Smtp-Source: ABdhPJyzRv8aoQm207JFCd7UUYqXvDOaDeuaWNHVTkS4tsgnm3DlNfQKfqswQjF2MPlESIwAbwvFXw== X-Received: by 2002:a1c:f203:: with SMTP id s3mr31694303wmc.126.1593712194925; Thu, 02 Jul 2020 10:49:54 -0700 (PDT) Received: from ?IPv6:2a01:e34:ed2f:f020:c88a:7b2b:a4a1:46d0? ([2a01:e34:ed2f:f020:c88a:7b2b:a4a1:46d0]) by smtp.googlemail.com with ESMTPSA id b18sm2353454wrs.46.2020.07.02.10.49.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 02 Jul 2020 10:49:54 -0700 (PDT) Subject: Re: [PATCH v7 00/11] Stop monitoring disabled devices To: Andrzej Pietrasiewicz , linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org, netdev@vger.kernel.org, linux-wireless@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-renesas-soc@vger.kernel.org, linux-rockchip@lists.infradead.org References: <20200629122925.21729-1-andrzej.p@collabora.com> <3d03d1a2-ac06-b69b-93cb-e0203be62c10@collabora.com> <47111821-d691-e71d-d740-e4325e290fa4@linaro.org> <4353a939-3f5e-8369-5bc0-ad8162b5ffc7@linaro.org> <73942aea-ae79-753c-fe90-d4a99423d548@collabora.com> <374dddd9-b600-3a30-d6c3-8cfcefc944d9@linaro.org> <5a28deb7-f307-8b03-faad-ab05cb8095d1@collabora.com> <8aeb4f51-1813-63c1-165b-06640af5968f@linaro.org> <685ef627-e377-bbf1-da11-7f7556ca2dd7@collabora.com> From: Daniel Lezcano Message-ID: Date: Thu, 2 Jul 2020 19:49:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <685ef627-e377-bbf1-da11-7f7556ca2dd7@collabora.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200702_134956_572061_A9E71244 X-CRM114-Status: GOOD ( 24.78 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Emmanuel Grumbach , Heiko Stuebner , "Rafael J . Wysocki" , Vishal Kulkarni , Luca Coelho , Miquel Raynal , kernel@collabora.com, Fabio Estevam , Amit Kucheria , Chunyan Zhang , Bartlomiej Zolnierkiewicz , Allison Randal , NXP Linux Team , Darren Hart , Zhang Rui , Gayatri Kammela , Len Brown , Johannes Berg , Intel Linux Wireless , Sascha Hauer , Ido Schimmel , Baolin Wang , Jiri Pirko , Orson Zhai , Thomas Gleixner , Kalle Valo , Support Opensource , Enrico Weigelt , Peter Kaestle , Sebastian Reichel , Pengutronix Kernel Team , =?UTF-8?Q?Niklas_S=c3=b6derlund?= , Shawn Guo , "David S . Miller" , Andy Shevchenko Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMDIvMDcvMjAyMCAxOToxOSwgQW5kcnplaiBQaWV0cmFzaWV3aWN6IHdyb3RlOgo+IEhpLAo+ IAo+IFcgZG5pdSAwMi4wNy4yMDIwIG/CoDE5OjAxLCBEYW5pZWwgTGV6Y2FubyBwaXN6ZToKPj4g T24gMDIvMDcvMjAyMCAxNTo1MywgQW5kcnplaiBQaWV0cmFzaWV3aWN6IHdyb3RlOgo+Pj4gSGkg RGFuaWVsLAo+Pj4KPj4+IDxzbmlwPgo+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gSSBkaWQgcmVwcm9k dWNlOgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiB2NS44LXJjMyArIHNlcmllcyA9PiBpbXg2IGhhbmcgYXQg Ym9vdCB0aW1lCj4+Pj4+Pj4+IHY1LjgtcmMzID0+IGlteDYgYm9vdHMgY29ycmVjdGx5Cj4+Pj4K Pj4+PiBTbyBmaW5hbGx5IEkgc3VjY2VlZGVkIHRvIHJlcHJvZHVjZSBpdCBvbiBteSBpbXg3IGxv Y2FsbHkuIFRoZSBzZW5zb3IKPj4+PiB3YXMgZmFpbGluZyB0byBpbml0aWFsaXplIGZvciBhbm90 aGVyIHJlYXNvbiByZWxhdGVkIHRvIHRoZSBsZWdhY3kKPj4+PiBjb29saW5nIGRldmljZSwgdGhp cyBpcyB3aHkgaXQgaXMgbm90IGFwcGVhcmluZyBvbiB0aGUgaW14Ny4KPj4+Pgo+Pj4+IEkgY2Fu IG5vdyBnaXQtYmlzZWN0IDopCj4+Pj4KPj4+Cj4+PiBUaGF0IHdvdWxkIGJlIHZlcnkga2luZCBv ZiB5b3UsIHRoYW5rIHlvdSEKPj4KPj4gV2l0aCB0aGUgbG9jayBjb3JyZWN0bmVzcyBvcHRpb24g ZW5hYmxlZDoKPj4KPj4gW8KgwqDCoCA0LjE3OTIyM10gaW14X3RoZXJtYWwgdGVtcG1vbjogRXh0 ZW5kZWQgQ29tbWVyY2lhbCBDUFUgdGVtcGVyYXR1cmUKPj4gZ3JhZGUgLSBtYXg6MTA1QyBjcml0 aWNhbDoxMDBDIHBhc3NpdmU6OTVDCj4+IFvCoMKgwqAgNC4xODk1NTddCj4+IFvCoMKgwqAgNC4x OTEwNjBdID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+IFvC oMKgwqAgNC4xOTYzNzhdIFdBUk5JTkc6IHBvc3NpYmxlIHJlY3Vyc2l2ZSBsb2NraW5nIGRldGVj dGVkCj4+IFvCoMKgwqAgNC4yMDE2OTldIDUuOC4wLXJjMy0wMDAxMS1nZjVlNTBiZjRkM2VmICM0 MiBOb3QgdGFpbnRlZAo+PiBbwqDCoMKgIDQuMjA3MTAyXSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+PiBbwqDCoMKgIDQuMjEyNDIxXSBrd29ya2VyLzA6My81 NCBpcyB0cnlpbmcgdG8gYWNxdWlyZSBsb2NrOgo+PiBbwqDCoMKgIDQuMjE3NDgwXSBjYTA5YTNl NCAoJnR6LT5sb2NrKXsrLisufS17MzozfSwgYXQ6Cj4+IHRoZXJtYWxfem9uZV9kZXZpY2VfaXNf ZW5hYmxlZCsweDE4LzB4MzQKPj4gW8KgwqDCoCA0LjIyNTc3N10KPj4gW8KgwqDCoCA0LjIyNTc3 N10gYnV0IHRhc2sgaXMgYWxyZWFkeSBob2xkaW5nIGxvY2s6Cj4+IFvCoMKgwqAgNC4yMzE2MTVd IGNhMDlhM2U0ICgmdHotPmxvY2speysuKy59LXszOjN9LCBhdDoKPj4gdGhlcm1hbF96b25lX2dl dF90ZW1wKzB4MzgvMHg2Ywo+PiBbwqDCoMKgIDQuMjM5MTIxXQo+PiBbwqDCoMKgIDQuMjM5MTIx XSBvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0aGlzOgo+PiBbwqDCoMKgIDQu MjQ1NjU1XcKgIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgo+PiBbwqDCoMKgIDQu MjQ1NjU1XQo+PiBbwqDCoMKgIDQuMjUxNTc5XcKgwqDCoMKgwqDCoMKgIENQVTAKPj4gW8KgwqDC oCA0LjI1NDAzMV3CoMKgwqDCoMKgwqDCoCAtLS0tCj4+IFvCoMKgwqAgNC4yNTY0ODFdwqDCoCBs b2NrKCZ0ei0+bG9jayk7Cj4+IFvCoMKgwqAgNC4yNTk1NDRdwqDCoCBsb2NrKCZ0ei0+bG9jayk7 Cj4+IFvCoMKgwqAgNC4yNjI2MDhdCj4+IFvCoMKgwqAgNC4yNjI2MDhdwqAgKioqIERFQURMT0NL ICoqKgo+PiBbwqDCoMKgIDQuMjYyNjA4XQo+PiBbwqDCoMKgIDQuMjY4NTMzXcKgIE1heSBiZSBk dWUgdG8gbWlzc2luZyBsb2NrIG5lc3Rpbmcgbm90YXRpb24KPj4gW8KgwqDCoCA0LjI2ODUzM10K Pj4gW8KgwqDCoCA0LjI3NTMyOV0gNCBsb2NrcyBoZWxkIGJ5IGt3b3JrZXIvMDozLzU0Ogo+PiBb wqDCoMKgIDQuMjc5NTE3XcKgICMwOiBjYjAwNjZhOCAoKHdxX2NvbXBsZXRpb24pZXZlbnRzKXsr LisufS17MDowfSwgYXQ6Cj4+IHByb2Nlc3Nfb25lX3dvcmsrMHgyMjQvMHg4MDgKPj4gW8KgwqDC oCA0LjI4ODI0MV3CoCAjMTogY2EwNzVmMTAgKGRlZmVycmVkX3Byb2JlX3dvcmspeysuKy59LXsw OjB9LCBhdDoKPj4gcHJvY2Vzc19vbmVfd29yaysweDIyNC8weDgwOAo+PiBbwqDCoMKgIDQuMjk2 Nzg3XcKgICMyOiBjYjFhNDhkOCAoJmRldi0+bXV0ZXgpey4uLi59LXszOjN9LCBhdDoKPj4gX19k ZXZpY2VfYXR0YWNoKzB4MzAvMHgxNDAKPj4gW8KgwqDCoCA0LjMwNDQ2OF3CoCAjMzogY2EwOWEz ZTQgKCZ0ei0+bG9jayl7Ky4rLn0tezM6M30sIGF0Ogo+PiB0aGVybWFsX3pvbmVfZ2V0X3RlbXAr MHgzOC8weDZjCj4+IFvCoMKgwqAgNC4zMTI0MDhdCj4+IFvCoMKgwqAgNC4zMTI0MDhdIHN0YWNr IGJhY2t0cmFjZToKPj4gW8KgwqDCoCA0LjMxNjc3OF0gQ1BVOiAwIFBJRDogNTQgQ29tbToga3dv cmtlci8wOjMgTm90IHRhaW50ZWQKPj4gNS44LjAtcmMzLTAwMDExLWdmNWU1MGJmNGQzZWYgIzQy Cj4+IFvCoMKgwqAgNC4zMjUwNDhdIEhhcmR3YXJlIG5hbWU6IEZyZWVzY2FsZSBpLk1YNyBEdWFs IChEZXZpY2UgVHJlZSkKPj4gW8KgwqDCoCA0LjMzMDgwOV0gV29ya3F1ZXVlOiBldmVudHMgZGVm ZXJyZWRfcHJvYmVfd29ya19mdW5jCj4+IFvCoMKgwqAgNC4zMzU5NzNdIFs8YzAzMTIzODQ+XSAo dW53aW5kX2JhY2t0cmFjZSkgZnJvbSBbPGMwMzBjNTgwPl0KPj4gKHNob3dfc3RhY2srMHgxMC8w eDE0KQo+PiBbwqDCoMKgIDQuMzQzNzM0XSBbPGMwMzBjNTgwPl0gKHNob3dfc3RhY2spIGZyb20g WzxjMDc5ZDdkOD5dCj4+IChkdW1wX3N0YWNrKzB4ZTgvMHgxMTQpCj4+IFvCoMKgwqAgNC4zNTEw NjJdIFs8YzA3OWQ3ZDg+XSAoZHVtcF9zdGFjaykgZnJvbSBbPGMwM2FiZjc4Pl0KPj4gKF9fbG9j a19hY3F1aXJlKzB4YmZjLzB4MmNiNCkKPj4gW8KgwqDCoCA0LjM1ODkwOV0gWzxjMDNhYmY3OD5d IChfX2xvY2tfYWNxdWlyZSkgZnJvbSBbPGMwM2FlOWM0Pl0KPj4gKGxvY2tfYWNxdWlyZSsweGY0 LzB4NGU0KQo+PiBbwqDCoMKgIDQuMzY2NzU4XSBbPGMwM2FlOWM0Pl0gKGxvY2tfYWNxdWlyZSkg ZnJvbSBbPGMxMDYzMGZjPl0KPj4gKF9fbXV0ZXhfbG9jaysweGIwLzB4YWE4KQo+PiBbwqDCoMKg IDQuMzc0NDMxXSBbPGMxMDYzMGZjPl0gKF9fbXV0ZXhfbG9jaykgZnJvbSBbPGMxMDYzYjEwPl0K Pj4gKG11dGV4X2xvY2tfbmVzdGVkKzB4MWMvMHgyNCkKPj4gW8KgwqDCoCA0LjM4MjQ1Ml0gWzxj MTA2M2IxMD5dIChtdXRleF9sb2NrX25lc3RlZCkgZnJvbSBbPGMwZDkzMmMwPl0KPj4gKHRoZXJt YWxfem9uZV9kZXZpY2VfaXNfZW5hYmxlZCsweDE4LzB4MzQpCj4+IFvCoMKgwqAgNC4zOTIwMzZd IFs8YzBkOTMyYzA+XSAodGhlcm1hbF96b25lX2RldmljZV9pc19lbmFibGVkKSBmcm9tCj4+IFs8 YzBkOWRhOTA+XSAoaW14X2dldF90ZW1wKzB4MzAvMHgyMDgpCj4+IFvCoMKgwqAgNC40MDEyNzFd IFs8YzBkOWRhOTA+XSAoaW14X2dldF90ZW1wKSBmcm9tIFs8YzBkOTc0ODQ+XQo+PiAodGhlcm1h bF96b25lX2dldF90ZW1wKzB4NGMvMHg2YykKPj4gW8KgwqDCoCA0LjQwOTY0MF0gWzxjMGQ5NzQ4 ND5dICh0aGVybWFsX3pvbmVfZ2V0X3RlbXApIGZyb20gWzxjMGQ5M2RmMD5dCj4+ICh0aGVybWFs X3pvbmVfZGV2aWNlX3VwZGF0ZSsweDhjLzB4MjU4KQo+PiBbwqDCoMKgIDQuNDE5MzEwXSBbPGMw ZDkzZGYwPl0gKHRoZXJtYWxfem9uZV9kZXZpY2VfdXBkYXRlKSBmcm9tCj4+IFs8YzBkOTQwMWM+ XSAodGhlcm1hbF96b25lX2RldmljZV9zZXRfbW9kZSsweDYwLzB4ODgpCj4+IFvCoMKgwqAgNC40 Mjk1MDBdIFs8YzBkOTQwMWM+XSAodGhlcm1hbF96b25lX2RldmljZV9zZXRfbW9kZSkgZnJvbQo+ PiBbPGMwZDllMWQ0Pl0gKGlteF90aGVybWFsX3Byb2JlKzB4M2U0LzB4NTc4KQo+PiBbwqDCoMKg IDQuNDM5MDgyXSBbPGMwZDllMWQ0Pl0gKGlteF90aGVybWFsX3Byb2JlKSBmcm9tIFs8YzBhNzgz ODg+XQo+PiAocGxhdGZvcm1fZHJ2X3Byb2JlKzB4NDgvMHg5OCkKPj4gW8KgwqDCoCA0LjQ0NzYy Ml0gWzxjMGE3ODM4OD5dIChwbGF0Zm9ybV9kcnZfcHJvYmUpIGZyb20gWzxjMGE3NjAzYz5dCj4+ IChyZWFsbHlfcHJvYmUrMHgyMTgvMHgzNDgpCj4+IFvCoMKgwqAgNC40NTU5MDNdIFs8YzBhNzYw M2M+XSAocmVhbGx5X3Byb2JlKSBmcm9tIFs8YzBhNzYyNzg+XQo+PiAoZHJpdmVyX3Byb2JlX2Rl dmljZSsweDVjLzB4YjQpCj4+IFvCoMKgwqAgNC40NjQwOThdIFs8YzBhNzYyNzg+XSAoZHJpdmVy X3Byb2JlX2RldmljZSkgZnJvbSBbPGMwYTc0M2JjPl0KPj4gKGJ1c19mb3JfZWFjaF9kcnYrMHg1 OC8weGI4KQo+PiBbwqDCoMKgIDQuNDcyNjM4XSBbPGMwYTc0M2JjPl0gKGJ1c19mb3JfZWFjaF9k cnYpIGZyb20gWzxjMGE3NWRiMD5dCj4+IChfX2RldmljZV9hdHRhY2grMHhkNC8weDE0MCkKPj4g W8KgwqDCoCA0LjQ4MDkxOV0gWzxjMGE3NWRiMD5dIChfX2RldmljZV9hdHRhY2gpIGZyb20gWzxj MGE3NTBiMD5dCj4+IChidXNfcHJvYmVfZGV2aWNlKzB4ODgvMHg5MCkKPj4gW8KgwqDCoCA0LjQ4 OTExMl0gWzxjMGE3NTBiMD5dIChidXNfcHJvYmVfZGV2aWNlKSBmcm9tIFs8YzBhNzU1NjQ+XQo+ PiAoZGVmZXJyZWRfcHJvYmVfd29ya19mdW5jKzB4NjgvMHg5OCkKPj4gW8KgwqDCoCA0LjQ5ODA4 OF0gWzxjMGE3NTU2ND5dIChkZWZlcnJlZF9wcm9iZV93b3JrX2Z1bmMpIGZyb20gWzxjMDM2OTk4 OD5dCj4+IChwcm9jZXNzX29uZV93b3JrKzB4MmUwLzB4ODA4KQo+PiBbwqDCoMKgIDQuNTA3MjM3 XSBbPGMwMzY5OTg4Pl0gKHByb2Nlc3Nfb25lX3dvcmspIGZyb20gWzxjMDM2YTE1MD5dCj4+ICh3 b3JrZXJfdGhyZWFkKzB4MmEwLzB4NTljKQo+PiBbwqDCoMKgIDQuNTE1NDMyXSBbPGMwMzZhMTUw Pl0gKHdvcmtlcl90aHJlYWQpIGZyb20gWzxjMDM3MjIwOD5dCj4+IChrdGhyZWFkKzB4MTZjLzB4 MTc4KQo+PiBbwqDCoMKgIDQuNTIyODQzXSBbPGMwMzcyMjA4Pl0gKGt0aHJlYWQpIGZyb20gWzxj MDMwMDE3ND5dCj4+IChyZXRfZnJvbV9mb3JrKzB4MTQvMHgyMCkKPj4gW8KgwqDCoCA0LjUzMDA3 NF0gRXhjZXB0aW9uIHN0YWNrKDB4Y2EwNzVmYjAgdG8gMHhjYTA3NWZmOCkKPj4gW8KgwqDCoCA0 LjUzNTEzOF0gNWZhMDrCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMDAwMDAwMDAKPj4gMDAwMDAwMDAgMDAwMDAw MDAgMDAwMDAwMDAKPj4gW8KgwqDCoCA0LjU0MzMyOF0gNWZjMDogMDAwMDAwMDAgMDAwMDAwMDAg MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKPj4gMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK Pj4gW8KgwqDCoCA0LjU1MTUxNl0gNWZlMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw MDAwMDAgMDAwMDAwMTMKPj4gMDAwMDAwMDAKPj4KPj4KPj4KPiAKPiBUaGFua3MhCj4gCj4gVGhh dCBjb25maXJtcyB5b3VyIHN1c3BpY2lvbnMuCj4gCj4gU28gdGhlIHJlYXNvbiBpcyB0aGF0IC0+ Z2V0X3RlbXAoKSBpcyBjYWxsZWQgd2hpbGUgdGhlIG11dGV4IGlzIGhlbGQgYW5kCj4gdGhlcm1h bF96b25lX2RldmljZV9pc19lbmFibGVkKCkgd2FudHMgdG8gdGFrZSB0aGUgc2FtZSBtdXRleC4K ClllcywgdGhhdCdzIGNvcnJlY3QuCgo+IElzIGFkZGluZyBhIGNvbW1lbnQgdG8gdGhlcm1hbF96 b25lX2RldmljZV9pc19lbmFibGVkKCkgdG8gbmV2ZXIgY2FsbAo+IGl0IHdoaWxlIHRoZSBtdXRl eCBpcyBoZWxkIGFuZCBhZGRpbmcgYW5vdGhlciB2ZXJzaW9uIG9mIGl0IHdoaWNoIGRvZXMKPiBu b3QgdGFrZSB0aGUgbXV0ZXggb2s/CgpUaGUgdGhlcm1hbF96b25lX2RldmljZV9pc19lbmFibGVk KCkgaXMgb25seSB1c2VkIGluIHR3byBwbGFjZXMsIGFjcGkKYW5kIHRoaXMgaW14IGRyaXZlciwg YW5kIGdpdmVuOgoKMS4gYXMgc29vbiBhcyB0aGUgbXV0ZXggaXMgcmVsZWFzZWQsIHRoZXJlIGlz IG5vIGd1YXJhbnRlZSB0aGUgdGhlcm1hbAp6b25lIHdvbid0IGJlIGNoYW5nZWQgcmlnaHQgYWZ0 ZXIsIHRoZSBsb2NrIGlzIHBvaW50bGVzcywgdGh1cyB0aGUKaW5mb3JtYXRpb24gYWxzby4KCjIu IGZyb20gYSBkZXNpZ24gcG9pbnQgb2YgdmlldywgSSBkb24ndCBzZWUgd2h5IGEgZHJpdmVyIHNo b3VsZCBrbm93IGlmCmEgdGhlcm1hbCB6b25lIGlzIGRpc2FibGVkIG9yIG5vdAoKSXQgd291bGQg bWFrZSBzZW5zZSB0byBlbmQgd2l0aCB0aGlzIGZ1bmN0aW9uIGFuZCBkbyBub3QgZ2l2ZSB0aGUK ZGlmZmVyZW50IGRyaXZlcnMgYW4gb3Bwb3J0dW5pdHkgdG8gYWNjZXNzIHRoaXMgaW5mb3JtYXRp b24uCgpXaHkgbm90IGFkZCBjaGFuZ2VfbW9kZSBmb3IgdGhlIGFjcGkgaW4gb3JkZXIgdG8gZW5h YmxlIG9yIGRpc2FibGUgdGhlCmV2ZW50cyBhbmQgZm9yIGlteF90aGVybWFsIHVzZSBpcnFfZW5h YmxlZCBmbGFnIGluc3RlYWQgb2YgdGhlIHRoZXJtYWwKem9uZSBtb2RlPyBNb3Jlb3ZlciBpdCBp cyB2ZXJ5IHVuY2xlYXIgd2h5IHRoaXMgZnVuY3Rpb24gaXMgbmVlZGVkIGluCmlteF9nZXRfdGVt cCgpLCBhbmQgSSBzdXNwZWN0IHdlIHNob3VsZCBiZSBhYmxlIHRvIGdldCByaWQgb2YgaXQuCgoK LS0gCjxodHRwOi8vd3d3LmxpbmFyby5vcmcvPiBMaW5hcm8ub3JnIOKUgiBPcGVuIHNvdXJjZSBz b2Z0d2FyZSBmb3IgQVJNIFNvQ3MKCkZvbGxvdyBMaW5hcm86ICA8aHR0cDovL3d3dy5mYWNlYm9v ay5jb20vcGFnZXMvTGluYXJvPiBGYWNlYm9vayB8CjxodHRwOi8vdHdpdHRlci5jb20vIyEvbGlu YXJvb3JnPiBUd2l0dGVyIHwKPGh0dHA6Ly93d3cubGluYXJvLm9yZy9saW5hcm8tYmxvZy8+IEJs b2cKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK