Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp5747699pxv; Wed, 7 Jul 2021 10:49:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzT+LYeVv9o4YOpvcs232rzTqFbBIOLCYWANBNI1QiQBBXcD5BL5Eqo/WM7iTF9mnrpv18G X-Received: by 2002:a17:906:dbec:: with SMTP id yd12mr24925017ejb.102.1625680196674; Wed, 07 Jul 2021 10:49:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625680196; cv=none; d=google.com; s=arc-20160816; b=gvf4xkj12aMZVQNKJFBCtutfddIcUb6i85DsCSH9JVfebmKNJVjM5mQJn5oej9wElK F2HX3ovJa3D/MhBJzCEimb80/SzG3rw8foWmk/uDXI/pjN3ClsNqFgjeFCaQhbwjNOkR Pe90L4bVDOLoYrvmItCqSS40ghKdzpxI9NcKdgRacrpCLaA2wJXTc4LzI10mpxJQ4F2g aur0r7bE7mcd0X9M79fkh9t24OmzWnipPrzAKvJfW48OeUASXXZjMyqnXeRwRikzdbov 2w/RTvz3SIS9boZUhnimz7e+P+LAR7ChWZ3aQKpyIN+Nwn6zfXwlj3aIrzM8MXk3O1UQ CqOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:organization:references:in-reply-to:message-id :date:subject:cc:to:from; bh=9b/c9Wbh4WXftkjLdrxG9xGL0PwDqCrDcPx/3+00sPg=; b=TvkDJ3H9O5t4holZEe1ff76aodQFNB4hK0sljVdJSxCTPEALPrvJTsdrv9GtsysJkb 5SL05f49FTD8YU7jDu5M1nOACE0/nr039bSsE9RupKJyw2NDXlMOJ/e1aC8ATEyAlcSv yaSBdQsnp+HEDq1wK6Cx0ueM6egajH8uEPyP/K7yus5QhwgsuQlEBXoNh78ZlmBrTLQQ 6ZmlO10tTMAtIlmgblK1t19HGjkj4J4TNzLOz2pJX/Gy4N9AyAxYi0srCLvFvH8MOxTc JRx6JRswStko8uDAuf7LpVOCp117wAoX9zTDD+LeakI151DvRzrGb+SMCr/sYb5pqr9b Ex+Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id ia8si18659983ejc.187.2021.07.07.10.49.34; Wed, 07 Jul 2021 10:49:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230521AbhGGRc1 (ORCPT + 99 others); Wed, 7 Jul 2021 13:32:27 -0400 Received: from mga02.intel.com ([134.134.136.20]:29423 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230518AbhGGRcY (ORCPT ); Wed, 7 Jul 2021 13:32:24 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10037"; a="196517867" X-IronPort-AV: E=Sophos;i="5.84,220,1620716400"; d="scan'208";a="196517867" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jul 2021 10:29:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,220,1620716400"; d="scan'208";a="563990009" Received: from ahunter-desktop.fi.intel.com ([10.237.72.79]) by fmsmga001.fm.intel.com with ESMTP; 07 Jul 2021 10:29:40 -0700 From: Adrian Hunter To: "Rafael J . Wysocki" Cc: Greg Kroah-Hartman , Saravana Kannan , "Martin K . Petersen" , "James E . J . Bottomley" , linux-scsi@vger.kernel.org, Avri Altman , Bean Huo , Can Guo , Asutosh Das , Bart Van Assche , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RFC 2/2] scsi: ufshcd: Fix device links when BOOT WLUN fails to probe Date: Wed, 7 Jul 2021 20:29:48 +0300 Message-Id: <20210707172948.1025-3-adrian.hunter@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210707172948.1025-1-adrian.hunter@intel.com> References: <20210707172948.1025-1-adrian.hunter@intel.com> Organization: Intel Finland Oy, Registered Address: PL 281, 00181 Helsinki, Business Identity Code: 0357606 - 4, Domiciled in Helsinki Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If a LUN fails to probe (e.g. absent BOOT WLUN), the device will not have been registered but can still have a device link holding a reference to the device. The unwanted device link will prevent runtime suspend indefinitely, and cause some warnings if the supplier is ever deleted (e.g. by unbinding the UFS host controller). Fix by explicitly deleting the device link when SCSI destroys the SCSI device. Signed-off-by: Adrian Hunter --- drivers/scsi/ufs/ufshcd.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index 708b3b62fc4d..483aa74fe2c8 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -5029,6 +5029,13 @@ static void ufshcd_slave_destroy(struct scsi_device *sdev) spin_lock_irqsave(hba->host->host_lock, flags); hba->sdev_ufs_device = NULL; spin_unlock_irqrestore(hba->host->host_lock, flags); + } else { + /* + * If a LUN fails to probe (e.g. absent BOOT WLUN), the device + * will not have been registered but can still have a device + * link holding a reference to the device. + */ + device_links_scrap(&sdev->sdev_gendev); } } -- 2.17.1