Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp764844ybl; Wed, 4 Dec 2019 10:28:16 -0800 (PST) X-Google-Smtp-Source: APXvYqycr2zeTV1t/p7LmmVdEN6Y9t4T8qITWRnz2dVk6eays0HP/2KTVGusnzEtCRXjeI9fKn1h X-Received: by 2002:a9d:6d06:: with SMTP id o6mr3622289otp.239.1575484096224; Wed, 04 Dec 2019 10:28:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575484096; cv=none; d=google.com; s=arc-20160816; b=OWeQPmhO3Ge1wIVyKKhbX4vg5DTrlD6zy9LecfO1YYvSfytxPLwoxB6OCYcFgQA7IK V3dDVMEcGloFxG/m+xao4yyOrKNc6Q3MUgKdTvCGTeHCRlJ6yT5uMk44+9VE/8GZKdMS j9iZEAItMSruTHhUnKVfVjm+sX/oD4J4VlDSTZdDO+YeiGCKWF1DsJxQQgwtXRVTFx4D Y5Xw6Oe66rWscRJSEWOF2JIOHNuutbuW8UmtCUoiSs8BhiP6mMGpmvH7dv2Z/zWugPBg PJY0/zSwuixarX+4/frl9r8XR2tn54gSdkjmpNCR9hPh8cI74aYv9VrFygpio1HpoHl/ pIjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Bxfp2O+s/oo66mvXtDqgd2IZxFiiHqGaw9pUveLOYVs=; b=C/9sjLylemuW5P3NLzbVBc6py4bkbrtOtEf36n8AjEPtSCGsFdoqIYjWN9fAhAiEfx mKzhqAmOvvFva5pw6Wh3oSYcKa7hOwDttnijNXhW4qeuQ2vwLuktlCKxXuExrEPOqPTG /Wg7c/VQJ7hhJYVOq/nBUph2R06O/xHREx+AVpRWTLlIeOtbBXdJDuwZ18oiWPyadkDX R1IkXImq1QtLp+oGo48fXmf2RWgWmXySdhwdgVMgE5nY79/xIyMdb1EMFSNWarN5Uy8j XOy9k+V1ET348CWxRfXfGsNoz5tNFEunJkHJmIxAFuXl6O8VQSJMiO/Vzm/auxbK7NiP oqGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=vkTMN6v8; 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 b203si1328360oif.101.2019.12.04.10.28.04; Wed, 04 Dec 2019 10:28:16 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=vkTMN6v8; 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 S1729281AbfLDSAL (ORCPT + 99 others); Wed, 4 Dec 2019 13:00:11 -0500 Received: from mail.kernel.org ([198.145.29.99]:38006 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729272AbfLDSAH (ORCPT ); Wed, 4 Dec 2019 13:00:07 -0500 Received: from localhost (unknown [217.68.49.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 45E352081B; Wed, 4 Dec 2019 18:00:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575482406; bh=F8bm6cUbhQzAHQ+PL99yZE/aTt2ybXW/03/U7caOBbs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vkTMN6v8BxD5xY0yrBIvshFeHsUoLqnOSIiB9F6Tn99F4XWeT3kXUooSIy7fXKnx+ J6avvxy+B6CWZaalaHXj4g5u2RvK8lpbwtjvDR43AM0lmBr+TXfoMXYzlgZZTJ2zUF cwu/Hve6C5hopSfHjm/QRNcbq+P0zJaVlCdnFC1w= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jian Luo , John Garry , "Martin K. Petersen" , Sasha Levin Subject: [PATCH 4.4 74/92] scsi: libsas: Check SMP PHY control function result Date: Wed, 4 Dec 2019 18:50:14 +0100 Message-Id: <20191204174334.726112310@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191204174327.215426506@linuxfoundation.org> References: <20191204174327.215426506@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: John Garry [ Upstream commit 01929a65dfa13e18d89264ab1378854a91857e59 ] Currently the SMP PHY control execution result is checked, however the function result for the command is not. As such, we may be missing all potential errors, like SMP FUNCTION FAILED, INVALID REQUEST FRAME LENGTH, etc., meaning the PHY control request has failed. In some scenarios we need to ensure the function result is accepted, so add a check for this. Tested-by: Jian Luo Signed-off-by: John Garry Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/libsas/sas_expander.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c index b7e4493d3dc16..7e8274938a3ee 100644 --- a/drivers/scsi/libsas/sas_expander.c +++ b/drivers/scsi/libsas/sas_expander.c @@ -603,7 +603,14 @@ int sas_smp_phy_control(struct domain_device *dev, int phy_id, } res = smp_execute_task(dev, pc_req, PC_REQ_SIZE, pc_resp,PC_RESP_SIZE); - + if (res) { + pr_err("ex %016llx phy%02d PHY control failed: %d\n", + SAS_ADDR(dev->sas_addr), phy_id, res); + } else if (pc_resp[2] != SMP_RESP_FUNC_ACC) { + pr_err("ex %016llx phy%02d PHY control failed: function result 0x%x\n", + SAS_ADDR(dev->sas_addr), phy_id, pc_resp[2]); + res = pc_resp[2]; + } kfree(pc_resp); kfree(pc_req); return res; -- 2.20.1