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=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS 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 5CFECC433DF for ; Thu, 27 Aug 2020 09:16:32 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 268032080C for ; Thu, 27 Aug 2020 09:16:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727030AbgH0JQb (ORCPT ); Thu, 27 Aug 2020 05:16:31 -0400 Received: from mail-ot1-f68.google.com ([209.85.210.68]:42364 "EHLO mail-ot1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726157AbgH0JQb (ORCPT ); Thu, 27 Aug 2020 05:16:31 -0400 Received: by mail-ot1-f68.google.com with SMTP id h17so1811021otl.9 for ; Thu, 27 Aug 2020 02:16:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4NYeVItvfYA0DgAV2Xpnzs73kokQvdcV+hr1Pgv2PaU=; b=oBzE/H+xp5mQeYs7TPeGRLtoNs18ImQZ4qqG7qbnOou8qQUqlwadIk9LgRFfC9jLjs 42lJ3ZQUw856ulvDhAx39umoprnHzTEe7k9Tj+n+rX0Tvy2kX40dtrglAD1lp/MjQgKK lw71XVmgImjw7n5eQjX30bRp+N+4i8zBy9Lw8CK1C3iNxzNlzan+DfIEJ7oXpMnKE62R Mxvmw29hAEI1QxT9gV5zWyTLFuNELpAamRpDDTkn6KAIlTWUZO64S6uauoDZwyB+A/38 MDFaYand/7u4vxmc0YD6ov/p75xJ/yAdvH4DpTHtuT0qTXWJLwOK7jzSMUGccPgQ3wzP cqxQ== X-Gm-Message-State: AOAM530g5a5AmSVZsziwMKVpRsrJnj0j07cnIDYqtv50w4NZHNLy9E8e ZXqUnXaIDEwZ+rO4o5F9CRZeJ9fo/cs2NLhzbJc= X-Google-Smtp-Source: ABdhPJxObkkHIjD6RclRJiPlrSKaijJZMVpiZdjVMOdypg0u1BEMRwGQfSOI0CeV7npF+wmq66T2Dm2Zz5pNe9xjgs4= X-Received: by 2002:a9d:32e5:: with SMTP id u92mr11729276otb.107.1598519790617; Thu, 27 Aug 2020 02:16:30 -0700 (PDT) MIME-Version: 1.0 References: <1593163942-5087-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> In-Reply-To: From: Geert Uytterhoeven Date: Thu, 27 Aug 2020 11:16:19 +0200 Message-ID: Subject: Re: E1000 s2idle crash (was: Re: [PATCH/RFC v4 0/4] treewide: add regulator condition on _mmc_suspend()) To: Yoshihiro Shimoda Cc: Linux-Renesas , Marek Vasut , Prabhakar Mahadev Lad Content-Type: text/plain; charset="UTF-8" Sender: linux-renesas-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-renesas-soc@vger.kernel.org Hi Shimoda-san, On Thu, Aug 27, 2020 at 11:15 AM Geert Uytterhoeven wrote: > On Mon, Aug 17, 2020 at 2:00 PM Yoshihiro Shimoda > wrote: > > > From: Geert Uytterhoeven, Sent: Tuesday, August 11, 2020 10:50 PM > > > On Mon, Jul 6, 2020 at 1:14 PM Geert Uytterhoeven wrote: > > > I moved the E1000E card to an R-Car Gen2 board (r8a7791/koelsch), and > > > s2idle crashes in a similar way: > > > > > > Unhandled fault: asynchronous external abort (0x1211) at 0x00000000 > > > pgd = ceadf1f8 > > > [00000000] *pgd=80000040004003, *pmd=00000000 > > > Internal error: : 1211 [#1] SMP ARM > > > Modules linked in: > > > CPU: 0 PID: 124 Comm: kworker/u4:6 Not tainted > > > 5.8.0-koelsch-00539-gce07c9ba6e9f601c #867 > > > Hardware name: Generic R-Car Gen2 (Flattened Device Tree) > > > Workqueue: events_unbound async_run_entry_fn > > > PC is at rcar_pcie_config_access+0x10c/0x13c > > > LR is at rcar_pcie_config_access+0x10c/0x13c > > > pc : [] lr : [] psr: 60000093 > > > sp : e67b3e00 ip : 00000000 fp : 00000000 > > > r10: 00000000 r9 : 00000000 r8 : e7369800 > > > r7 : 00000000 r6 : e67b3e40 r5 : e7369640 r4 : 000000cc > > > r3 : f0900000 r2 : f0900018 r1 : f0900020 r0 : 00000000 > > > Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user > > > Control: 30c5387d Table: 648fe480 DAC: fffffffd > > > Process kworker/u4:6 (pid: 124, stack limit = 0x0dcce627) > > > Stack: (0xe67b3e00 to 0xe67b4000) > > > ... > > > [] (rcar_pcie_config_access) from [] > > > (rcar_pcie_read_conf+0x28/0x80) > > > [] (rcar_pcie_read_conf) from [] > > > (pci_bus_read_config_word+0x68/0xa8) > > > [] (pci_bus_read_config_word) from [] > > > (pci_raw_set_power_state+0x18c/0x270) > > > [] (pci_raw_set_power_state) from [] > > > (pci_set_power_state+0x98/0xcc) > > > [] (pci_set_power_state) from [] > > > (pci_prepare_to_sleep+0x4c/0x6c) > > > [] (pci_prepare_to_sleep) from [] > > > (pci_pm_suspend_noirq+0x228/0x244) > > > [] (pci_pm_suspend_noirq) from [] > > > (dpm_run_callback.part.5+0x44/0xac) > > > [] (dpm_run_callback.part.5) from [] > > > (__device_suspend_noirq+0x74/0x1a4) > > > > > > > Why haven't we seen this before? > > > > I can reproduce the issue on v5.5 (first version that supported M3-W+, > > > > but needs backported DTS for PCIe support) and later. > > > > > > On Koelsch, I could easily reproduce this on v4.10 and later[1]. > > > > > > As this time no firmware is involved, I guess Linux itself needs to > > > become aware of this issue, and handle it in a similar way like ATF > > > on arm64[2]? > > > > I agree. But, I'm not sure how to implement a similar way on arm32 though... > > Maybe, we should unbind a PCI device before R-Car Gen2 is suspended? > > Unbinding PCI devices before suspending the system means that e.g. > Wake-on-LAN will no longer work. Unless WoL-enabled devices are > not unbound. > > However, it seems Wake-on-LAN is enabled by default on E1000E. > Hence even if WoL is enabled, the PCIe device will send an L1_Enter_PM DLLP > request, triggering the issue. Perhaps we can hook something into PCI error handling (EEH)? But that seems to be used on PPC only. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds