Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2849799yba; Sat, 18 May 2019 04:26:24 -0700 (PDT) X-Google-Smtp-Source: APXvYqzm9Ff1f5NpErq7TX8fjxH5ibRBqLDPirN2LGXD7lhVufgCqIi5bFJRv9FlQLc3ToZzNlnp X-Received: by 2002:a17:902:e183:: with SMTP id cd3mr62751045plb.233.1558178784459; Sat, 18 May 2019 04:26:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558178784; cv=none; d=google.com; s=arc-20160816; b=XlhZTh0xV4KfJv0ShYxp+zmT/kH7JUvN5KsUVq/g6oh/ffN9/5UVaow5j/NFjs6IWu OsbrWkwNYiT1AhHdvM6P7PJWpVNX6gdD4K1iyC10m5shMy/BfsmuYN0QWLUzr2T5bgHQ JYJb+mod6dv2kv+0iTPdua77QQoSX0pvA+wgCj9ZdJW2dHaJc0OOTw9HW0h7LtvQsGOb Ul5Qk5fk6F7TNjX9TothmTww/3AQU6VnhNv3Un6v4AcfcTJtcQs//ok/pI/VmKzO2CUQ 70FoSieJJh+u0cRsV2pW2YbjDewTfHUpbW/dEdhV5he4RrUy9452RBkbF2XqJSfKdmIO GGqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=UFobRhIGsTMtHcMLsWV6cQkp5tQakBOgowOzUxJv34U=; b=SN5/mU6fDBJLaM/kt6vHG6VsHZ8B6ya/etX7SMmSgAGri542Gdvmtjyq1d9jGS5apM +m1oCaFxpBCkwGWt4JAulLd8H82YdpKarsTjA4pQJz2/7QXBDlw5VR9dDPlf3Z287lwN KOlQfTPMVsu64exUOtRAJ/ops0yJnqcvkyrNon1TrQAVW9+kLk9H4KoMq+gidLtZj6xI rP50jKXBB2fPTvTG2bNQ4KeT6Qd532aVxYPCgoKacfarURwtXS46CUjSxFd3JYcb0MNz 0IXd8HmWDYWFGXbZTGrnmFvpWIVmTiaG2UpyLCOG9WgokvpaDRGsOESCS97IFsJP4r+q JYNw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g12si11794221pla.313.2019.05.18.04.26.06; Sat, 18 May 2019 04:26:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729865AbfERJXN (ORCPT + 99 others); Sat, 18 May 2019 05:23:13 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:36614 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725468AbfERJXN (ORCPT ); Sat, 18 May 2019 05:23:13 -0400 Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id F37B33333A3EEF29060B; Sat, 18 May 2019 17:23:09 +0800 (CST) Received: from huawei.com (10.175.124.28) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.439.0; Sat, 18 May 2019 17:23:00 +0800 From: Jason Yan To: , CC: , , , , , , , , , , , Jason Yan Subject: [PATCH] scsi: libsas: no need to join wide port again in sas_ex_discover_dev() Date: Sat, 18 May 2019 17:40:57 +0800 Message-ID: <20190518094057.18046-1-yanaijie@huawei.com> X-Mailer: git-send-email 2.17.2 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.124.28] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since we are processing events synchronously now, the second call of sas_ex_join_wide_port() in sas_ex_discover_dev() is not needed. There will be no races with other works in disco workqueue. So remove the second sas_ex_join_wide_port(). I did not change the return value of 'res' to error when discover failed because we need to continue to discover other phys if one phy discover failed. So let's keep that logic as before and just add a debug log to detect the failure. Signed-off-by: Jason Yan --- drivers/scsi/libsas/sas_expander.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c index 83f2fd70ce76..8f90dd497dfe 100644 --- a/drivers/scsi/libsas/sas_expander.c +++ b/drivers/scsi/libsas/sas_expander.c @@ -1116,27 +1116,9 @@ static int sas_ex_discover_dev(struct domain_device *dev, int phy_id) break; } - if (child) { - int i; - - for (i = 0; i < ex->num_phys; i++) { - if (ex->ex_phy[i].phy_state == PHY_VACANT || - ex->ex_phy[i].phy_state == PHY_NOT_PRESENT) - continue; - /* - * Due to races, the phy might not get added to the - * wide port, so we add the phy to the wide port here. - */ - if (SAS_ADDR(ex->ex_phy[i].attached_sas_addr) == - SAS_ADDR(child->sas_addr)) { - ex->ex_phy[i].phy_state= PHY_DEVICE_DISCOVERED; - if (sas_ex_join_wide_port(dev, i)) - pr_debug("Attaching ex phy%02d to wide port %016llx\n", - i, SAS_ADDR(ex->ex_phy[i].attached_sas_addr)); - } - } - } - + if (!child) + pr_debug("Ex %016llx phy%02d failed to discover\n", + SAS_ADDR(dev->sas_addr), phy_id); return res; } -- 2.17.2