Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp2238134rwd; Tue, 13 Jun 2023 23:14:41 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ4RLR0GHW/4r3S31iwfaeEa/5QlMqWIAnSg4P8ffGnYmfgd7ZX0MBEnmf3MeHlOuf5kI/LV X-Received: by 2002:a05:6a21:338b:b0:11d:7b78:458e with SMTP id yy11-20020a056a21338b00b0011d7b78458emr1035003pzb.48.1686723280818; Tue, 13 Jun 2023 23:14:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1686723280; cv=none; d=google.com; s=arc-20160816; b=s13zgxtdAF7SHqBgWe52wkVo6RHNU3nFQt9O9QQSdGDJAqmOoDgW2bdyyn519NfbcO 9zQdy/39Tjnk3BGYw/6d180aR4MD9TePtoBPkMPHfZRLg9d+Of05MQ77k5ISFUaUV8au keA9DfRMAcKrslbuFD+cq7t1/JNgJyeW40fbo84OrxRbVKxJWX9XxcXjLYgbi1sgN+yV EekH/JCK87AFEPl723ATVmuABHqq8dhcw/0zI1s8VNX/h66IyAkfQ954z5YpBznQr65q ICs1FbJX6p4tAxLxL/xdLUKZ5gAdEEWakly4f4Ojt333on4e3ac7TA9GmgSg2aJflu4Y msPw== 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=L700u4JHszhgKkjQdfFwXH0svBOHFooI3nofINxb84U=; b=aW9INLRatYkYZA9BJrZRTVa1bvzLjWfFOMg/NORe1WhUTkB/x41Q2YYrP/UlFjl7rZ XSVJQoxH5UhPaaBxIN4uNmxNZV7xtjovxzqrD479SBpd7qD2vdbW+8k60inh9gRG683r PR8KJpO2a/muPjo5QBSrgSt8HawWnXSp5GB7D8cCfg4daE7omgcDLZeBx6BLDm4h9I6W Y9ZKNvlhMkSmqZpOU1tHIE0Y1eJgTACMycm/HsKKyJqSjiNnTIJzeSN/XmHvGOJElurq vXoNi96Aq2GM+hexiteCowlw1t24pw9Ij6sggB2zkv5Miunt3gDPVcBn9smKDnfwSLK3 SErA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b="J8IR/UxZ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g10-20020aa79f0a000000b0063b8a054e06si10146514pfr.259.2023.06.13.23.14.27; Tue, 13 Jun 2023 23:14:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b="J8IR/UxZ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242908AbjFNFh2 (ORCPT + 99 others); Wed, 14 Jun 2023 01:37:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242719AbjFNFhZ (ORCPT ); Wed, 14 Jun 2023 01:37:25 -0400 Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CED861984 for ; Tue, 13 Jun 2023 22:37:24 -0700 (PDT) Received: from mail-oi1-f197.google.com (mail-oi1-f197.google.com [209.85.167.197]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 612033F273 for ; Wed, 14 Jun 2023 05:37:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1686721040; bh=L700u4JHszhgKkjQdfFwXH0svBOHFooI3nofINxb84U=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=J8IR/UxZxnrMUz/OAv3XXvPm/4AplucihaWNCEeMJtGEtiY7NfzqJo94cgJpEVvBF uffa5xuZKao1NmrVvu6ewpNcRBAsvoqqbJNEkp+jnsqK2pm80VY+uq84zvV4WNpBPR vP2JdnDq8BtdJi6NFHmkIWmFxaC17gwjZX5iWjpAOLeYu91bnliqDfPaE9l9U6nOlN i1/fJTj3Ey9MSm0WoOhwRpZOVFBocTba16yOWHmT0lvfdiwZiCpG+fp20WPu9imn6W yoFdr8XzZTBl/EOXL3UquEEwXKnil6F9FWVXolpmbAKhG3aryXbrKLLiwWLtQibI76 aGJS2xJ6NVudg== Received: by mail-oi1-f197.google.com with SMTP id 5614622812f47-39a9cefa414so4700635b6e.0 for ; Tue, 13 Jun 2023 22:37:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686721039; x=1689313039; 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=L700u4JHszhgKkjQdfFwXH0svBOHFooI3nofINxb84U=; b=A+BVklTHDs6q//LzrvyUfGaGFHVB7/s57+LxasmriCgmiL/G0v2xR7jvm3iebsMduV dQ4DTFXS+KaGQXkegmNpc/NmgPyelPlSLeqbxHGsY1F19uTViVyBEvJzDBkTCiKLquLG KFed5uWpIn/Fjyd6341W/D47nH+n7GxTcmwEzSTQ6g4O17fm70eBCO3ohBHpWKPlf3n+ VCCurkrLvMVKkpbBbxzUXUZJLLSDXEUSPef1+2GDq/Mt8OUfdLNPzy1cJnBOXqoZ5mrg Phz3setSeBy6+o9BtMEPrRNGogFDS7jpvStVvjRlslnHUghTzzwRiXB5pd2RB02KDUZH UZ9w== X-Gm-Message-State: AC+VfDyWGXvzioX1Qs45IcdPWhe8JaJfZbQSoqSpOxov8VxARhEtqMEU WDsIdE2cHsR4yPGRMFWC8vQ4r5CGhMHNtfcFUpMpQqdaoboqh7xXubun7HzCtqr1G5WaLYxdn3J YXKllEPdlJX7sgTqkf1EASOoZY4j52ZmupAWX5Fgw4pWzGeX8bNgdgGnJ+A== X-Received: by 2002:aca:2301:0:b0:398:19e6:56a9 with SMTP id e1-20020aca2301000000b0039819e656a9mr9458906oie.2.1686721039177; Tue, 13 Jun 2023 22:37:19 -0700 (PDT) X-Received: by 2002:aca:2301:0:b0:398:19e6:56a9 with SMTP id e1-20020aca2301000000b0039819e656a9mr9458892oie.2.1686721038957; Tue, 13 Jun 2023 22:37:18 -0700 (PDT) MIME-Version: 1.0 References: <2d1fdf6d-682c-a18d-2260-5c5ee7097f7d@gmail.com> <5513e29d-955a-f795-21d6-ec02a2e2e128@gmail.com> <07d6e2e7-a50a-8cf4-5c5d-200551bd6687@gmail.com> <02e4f87a-80e8-dc5d-0d6e-46939f2c74ac@acm.org> <84f1c51c-86f9-04b3-0cd1-f685ebee7592@kernel.org> In-Reply-To: <84f1c51c-86f9-04b3-0cd1-f685ebee7592@kernel.org> From: Kai-Heng Feng Date: Wed, 14 Jun 2023 13:37:07 +0800 Message-ID: Subject: Re: Fwd: Waking up from resume locks up on sr device To: Damien Le Moal Cc: Joe Breuer , Bart Van Assche , Bagas Sanjaya , Pavel Machek , "Rafael J. Wysocki" , Len Brown , Greg Kroah-Hartman , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Thorsten Leemhuis , "James E.J. Bottomley" , "Martin K. Petersen" , Phillip Potter , Linux Power Management , Linux Kernel Mailing List , Linux Hardening , Linux Regressions , Linux SCSI , Alan Stern , Dan Williams , Hannes Reinecke , Adrian Hunter , Martin Kepplinger Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 14, 2023 at 12:49=E2=80=AFPM Damien Le Moal wrote: > > On 6/11/23 18:05, Joe Breuer wrote: > > I'm the reporter of this issue. > > > > I just tried this patch against 6.3.4, and it completely fixes my > > suspend/resume issue. > > > > The optical drive stays usable after resume, even suspending/resuming > > during playback of CDDA content works flawlessly and playback resumes > > seamlessly after system resume. > > > > So, from my perspective: Good one! > > In place of Bart's fix, could you please try this patch ? Issue still persists at my end, when /sys/power/pm_async is 0. device_pm_wait_for_dev() in its current form is only usable for async case. Kai-Heng > > diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c > index b80e68000dd3..a81eb4f882ab 100644 > --- a/drivers/ata/libata-eh.c > +++ b/drivers/ata/libata-eh.c > @@ -4006,9 +4006,32 @@ static void ata_eh_handle_port_resume(struct > ata_port *ap) > /* tell ACPI that we're resuming */ > ata_acpi_on_resume(ap); > > - /* update the flags */ > spin_lock_irqsave(ap->lock, flags); > + > + /* Update the flags */ > ap->pflags &=3D ~(ATA_PFLAG_PM_PENDING | ATA_PFLAG_SUSPENDED); > + > + /* > + * Resuming the port will trigger a rescan of the ATA device(s) > + * connected to it. Before scheduling the rescan, make sure that > + * the associated scsi device(s) are fully resumed as well. > + */ > + ata_for_each_link(link, ap, HOST_FIRST) { > + ata_for_each_dev(dev, link, ENABLED) { > + struct scsi_device *sdev =3D dev->sdev; > + > + if (!sdev) > + continue; > + if (scsi_device_get(sdev)) > + continue; > + > + spin_unlock_irqrestore(ap->lock, flags); > + device_pm_wait_for_dev(&ap->tdev, > + &sdev->sdev_gendev); > + scsi_device_put(sdev); > + spin_lock_irqsave(ap->lock, flags); > + } > + } > spin_unlock_irqrestore(ap->lock, flags); > } > #endif /* CONFIG_PM */ > > Thanks ! > > -- > Damien Le Moal > Western Digital Research >