Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2685546rdb; Mon, 4 Dec 2023 05:00:39 -0800 (PST) X-Google-Smtp-Source: AGHT+IHvufU4Cetqfz6atxQmkfrw0dI5o3vspV1KQ8mQoE/6RZIe3NRMMqWTIfsdYkVf+l+Rh1xZ X-Received: by 2002:a17:903:11c5:b0:1cc:4eb0:64cf with SMTP id q5-20020a17090311c500b001cc4eb064cfmr4739551plh.52.1701694839341; Mon, 04 Dec 2023 05:00:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701694839; cv=none; d=google.com; s=arc-20160816; b=aJAuvQoMmi1LSqkh4fcMiOvZ2QJ8xPSJjI8yyeDd30F8XLRLmj+3bwDouwAH50v2+M tBVjdYbwvGpPU3R+AEqZk5t+hVPl6d/Ii/9cYSh8DKmtNm1mVSL16qf4dCOdM4LeOkSy OOfRsQsXuyBKTa9ynCKUCAuxL/xHyrpMBecvzambSrCOrn/5XZfxt5GAQ1Zt9mkRhmLg DlccD3Bmn3CWa6lBA+iEefKH/c8VrXc5EO1nKI4+4J/J/iKJeSlDwFLJsKgNeiF83JoU bAzH5/jN6bwBV36MTAB/Wzz4WLH2998eOp1H305KgquIAbsbXY1IPfjaTE+wiEC2hxrB K2PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=u7aJCeBo2guqu/RUQW0zkVfwd6W/nONHlzvSur6h+mg=; fh=Vl/pi1Qw4R5bGCI1cQeEICBxiPa6gp7P8EoJJ9jEQgk=; b=Re3dszlkaeniTClaMJZ9GTRlhzOL7hIOwP5qLH4aDl3emvyj/Y0OPIND31kSC8ANy/ 2ZIaCkG1PBYIefS840NSE4LXBETMeVwRWuVgXnXONXdq6CFTPc0izE+Cgtaqp2XH+yu2 zD7H4QVfBzwlEUJ58h04aT4Fpk+KhY6bm0lMnMgdnSeQssMwh8plg/6Wu0ygSTDnA25w /8qVW8sZaSyPpU5iXnGzYhPYtd5mIzzRG2O0xprdPRK/2jiJ2Rlh8KAudyO8RcBBFQMp mD/u1rvYiH0DnpDcIVQqGlUvV7x5UWi5LVT/Spz9lkmgvysfnCkT6vZogtsTUsc2W8Zy xWXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=XHg6aGlB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id k1-20020a170902ba8100b001cc3527145bsi5073605pls.29.2023.12.04.05.00.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 05:00:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=XHg6aGlB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id 930328068C62; Mon, 4 Dec 2023 05:00:36 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235342AbjLDNAT (ORCPT + 99 others); Mon, 4 Dec 2023 08:00:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235361AbjLDNAP (ORCPT ); Mon, 4 Dec 2023 08:00:15 -0500 Received: from mail-vk1-xa2d.google.com (mail-vk1-xa2d.google.com [IPv6:2607:f8b0:4864:20::a2d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D04CFD; Mon, 4 Dec 2023 05:00:21 -0800 (PST) Received: by mail-vk1-xa2d.google.com with SMTP id 71dfb90a1353d-4b2d526a509so170957e0c.2; Mon, 04 Dec 2023 05:00:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701694820; x=1702299620; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=u7aJCeBo2guqu/RUQW0zkVfwd6W/nONHlzvSur6h+mg=; b=XHg6aGlB/J9ijd2fKK/DyfM2mGeDHhQpUZzG72ePxj+Wgp4G3YLGq1CZXJzwOahG4t 7PVbZez7OyCtT1zpWu8au72kzCB6mXMkOjRHhFui2hbmxh14W/K0iPmhepDD22dz4lmo C/kebn3y5rJpjHmznSGurtsbEve7rENYF+B6ls3hnPVClpuxzHAAk6MMPz5zzWb1i/OU Kbv0Tq+YPnKhWiLTqT+ushTwbgBRrSzx5K3RzkKPQrW/qzSwM85/jQ8jpUPlqwC4Mmms TU4zNJawCIroDOG4GtJOzh7J2FZzsFrkowqDpv95ddSM24DjSS+n5CMcEP6wMwDrvY2Y r+6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701694820; x=1702299620; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=u7aJCeBo2guqu/RUQW0zkVfwd6W/nONHlzvSur6h+mg=; b=D+eblzng7t+13HunIBFS9XKDRUugITsyHNCaH/cX3PnUpUe8oxRDSpFA+vS+lOiFpd Fr2qzLDi7ZecGYOPzkK74jibpTo59MDdKO47DJCfOvcJGKp23ie1w3T0EAtv+GH4eBJf Ozq7L45JwxD0SQaZrobZ+xmVddmh5I0eOd9zNLIHQvRA4idLm7+JhB1nuyMDiqTHSNK8 QKFQcnbdd2TsC8tJrpHTGzdMO9f7hLeTgLOEZ7JZx85BzFSvLcRgJiI99MIjZKTBfJxL 5dWSXEzfbhodCKLsEbz9q5di1r0pDsP4ZrPE0e/drDmYa0lrxN+GPAIEuHyAxz2Q0WUX UwAw== X-Gm-Message-State: AOJu0YyunZpAcR3xW+nd9MhVFC6H7M4pZ7h42WAOzMjrWRxiPqPvia7V WM4PvFn259MwU9FIDP3vwbgWcGKNF9NJ76GRZ5+IIHIiXwo= X-Received: by 2002:a05:6122:718:b0:4b2:c554:e3fe with SMTP id 24-20020a056122071800b004b2c554e3femr828907vki.30.1701694820422; Mon, 04 Dec 2023 05:00:20 -0800 (PST) MIME-Version: 1.0 References: <205dc4c91b47e31b64392fe2498c7a449e717b4b.1701689330.git.geert+renesas@glider.be> In-Reply-To: <205dc4c91b47e31b64392fe2498c7a449e717b4b.1701689330.git.geert+renesas@glider.be> From: "Lad, Prabhakar" Date: Mon, 4 Dec 2023 12:59:54 +0000 Message-ID: Subject: Re: [PATCH v2] mmc: core: Cancel delayed work before releasing host To: Geert Uytterhoeven Cc: Ulf Hansson , Wolfram Sang , Lad Prabhakar , linux-mmc@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-0.6 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Mon, 04 Dec 2023 05:00:36 -0800 (PST) On Mon, Dec 4, 2023 at 11:30=E2=80=AFAM Geert Uytterhoeven wrote: > > On RZ/Five SMARC EVK, where probing of SDHI is deferred due to probe > deferral of the vqmmc-supply regulator: > > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 0 at kernel/time/timer.c:1738 __run_timers.part.= 0+0x1d0/0x1e8 > Modules linked in: > CPU: 0 PID: 0 Comm: swapper Not tainted 6.7.0-rc4 #101 > Hardware name: Renesas SMARC EVK based on r9a07g043f01 (DT) > epc : __run_timers.part.0+0x1d0/0x1e8 > ra : __run_timers.part.0+0x134/0x1e8 > epc : ffffffff800771a4 ra : ffffffff80077108 sp : ffffffc800003e60 > gp : ffffffff814f5028 tp : ffffffff8140c5c0 t0 : ffffffc800000000 > t1 : 0000000000000001 t2 : ffffffff81201300 s0 : ffffffc800003f20 > s1 : ffffffd8023bc4a0 a0 : 00000000fffee6b0 a1 : 0004010000400000 > a2 : ffffffffc0000016 a3 : ffffffff81488640 a4 : ffffffc800003e60 > a5 : 0000000000000000 a6 : 0000000004000000 a7 : ffffffc800003e68 > s2 : 0000000000000122 s3 : 0000000000200000 s4 : 0000000000000000 > s5 : ffffffffffffffff s6 : ffffffff81488678 s7 : ffffffff814886c0 > s8 : ffffffff814f49c0 s9 : ffffffff81488640 s10: 0000000000000000 > s11: ffffffc800003e60 t3 : 0000000000000240 t4 : 0000000000000a52 > t5 : ffffffd8024ae018 t6 : ffffffd8024ae038 > status: 0000000200000100 badaddr: 0000000000000000 cause: 00000000000= 00003 > [] __run_timers.part.0+0x1d0/0x1e8 > [] run_timer_softirq+0x24/0x4a > [] __do_softirq+0xc6/0x1fa > [] irq_exit_rcu+0x66/0x84 > [] handle_riscv_irq+0x40/0x4e > [] call_on_irq_stack+0x1c/0x28 > ---[ end trace 0000000000000000 ]--- > > What happens? > > renesas_sdhi_probe() > { > tmio_mmc_host_alloc() > mmc_alloc_host() > INIT_DELAYED_WORK(&host->detect, mmc_rescan); > > devm_request_irq(tmio_mmc_irq); > > /* > * After this, the interrupt handler may be invoked at any time > * > * tmio_mmc_irq() > * { > * __tmio_mmc_card_detect_irq() > * mmc_detect_change() > * _mmc_detect_change() > * mmc_schedule_delayed_work(&host->detect, dela= y); > * } > */ > > tmio_mmc_host_probe() > tmio_mmc_init_ocr() > -EPROBE_DEFER > > tmio_mmc_host_free() > mmc_free_host() > } > > When expire_timers() runs later, it warns because the MMC host structure > containing the delayed work was freed, and now contains an invalid work > function pointer. > > Fix this by cancelling any pending delayed work before releasing the > MMC host structure. > > Signed-off-by: Geert Uytterhoeven > --- > This is v2 of "[RFC] mmc: tmio: Cancel delayed work before freeing > host". > > v2: > - Move cancel_delayed_work_sync() call from tmio_mmc_host_free() to > mmc_free_host(), > - Correct explanation from missing pin control to vqmmc-supply probe > deferral, > - Update backtrace. > --- > drivers/mmc/core/host.c | 1 + > 1 file changed, 1 insertion(+) > Tested-by: Lad Prabhakar Cheers, Prabhakar > diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c > index 096093f7be006353..2f51db4df1a8571b 100644 > --- a/drivers/mmc/core/host.c > +++ b/drivers/mmc/core/host.c > @@ -692,6 +692,7 @@ EXPORT_SYMBOL(mmc_remove_host); > */ > void mmc_free_host(struct mmc_host *host) > { > + cancel_delayed_work_sync(&host->detect); > mmc_pwrseq_free(host); > put_device(&host->class_dev); > } > -- > 2.34.1 > >