Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2628804lqt; Mon, 22 Apr 2024 17:23:15 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWS8lPN6yzdz1FoF9+pg7b3PSdXGfZImpVfhZjURaJOPa2W3+ISVVcf//aZrdpRxyFk9YRX8OPCB2D7nHnBYG+CcLzLxlP+RhoLu2dPbQ== X-Google-Smtp-Source: AGHT+IHpzjz4yfJIwCir0w7sK5dORnfFxZ7RndhKeL71QcKJuZCKzUXnBVWUmVarqizCETy3UgIP X-Received: by 2002:a05:6a21:2d8e:b0:1ac:5040:2a70 with SMTP id ty14-20020a056a212d8e00b001ac50402a70mr11972490pzb.35.1713831795481; Mon, 22 Apr 2024 17:23:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713831795; cv=pass; d=google.com; s=arc-20160816; b=vhcd34XfCuQf4IQlh74IQCUu2J3lFfeGFN+MWXZquVIRZkkLHkO/fLs0rJUq6k/9FR klAcKMH0NbMQmoej54tOqeQIoNcEOAXO0AD2VpO8p3vREuP07fvTk5lgNF1IABHGXS2a 4+6B5LDVmhJDfEp3jLmyAcsVJrA2roiMtYm2M6xF7JP+Q0sg9Pn6PmUJ6+qT8geaA14m FmpKm8ddXjNDrG2nlPqLeNlvXJAIGOuZGcVQgI7p/NsmqJN4wTMXZhYSHoufS4NLYu2o C29pbvKZuW4LxKYrnJqIRZ9IiQCYxyQutYhAtu1RDyK2MrAJAwEB1aJ4RVf8Zid7pHlk GZ/A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=tYMvuAJhZQTTQvndH735utrzTplE9/XNC4zL6/r3v/M=; fh=UW33dBsPGPxXZiBj2pZkY03HylQTyvjlOhl7HijKQfQ=; b=mXUeXAi0nbHddHEso9Y13cZQv3KRBlZrLEgp6COWbNclvz3jXfstTyWZGYCFc3RUvx q9XkF9KOvHrdYNYErm/X0qli36Gaem7JpEO6+AgwjpBaDNidhU/UfFS27w7r9/SEexpb F84dR6s2vR1byITZmdM8iSry1rSd0eSx7D+/lHMsoKvrf5XkmiYmvih7UNDfSft3tOiZ coJSIjSi/j43ILiIaBX5TLZ+HFFgygPcR5tTKHC3ATXwDQSp9Y6LK6VgJlK3pc1p8BHz SSyMA/RjSckv/DlFE10C1lqo9qEFJNZWFiYsgTDeONAIhvyWAr3aFbADhh/GnAAyrikf ZUUg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=X8jA3Lx1; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154273-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154273-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [147.75.48.161]) by mx.google.com with ESMTPS id l27-20020a63ba5b000000b005f7d3d4bd6bsi6909800pgu.476.2024.04.22.17.23.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 17:23:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-154273-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) client-ip=147.75.48.161; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=X8jA3Lx1; arc=pass (i=1 dkim=pass dkdomain=kernel.org); spf=pass (google.com: domain of linux-kernel+bounces-154273-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.48.161 as permitted sender) smtp.mailfrom="linux-kernel+bounces-154273-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 27AF5B27EBE for ; Tue, 23 Apr 2024 00:06:45 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 5182D16C86F; Mon, 22 Apr 2024 23:56:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="X8jA3Lx1" Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6907716C84B; Mon, 22 Apr 2024 23:56:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830191; cv=none; b=UMSCXSqC69U4lz6UjOQg0Lyx14/SCQaS0TZEvDM5vyq2tlpdPdyVGdw4sEHfDQMSRzwG9ioNPTygNF3jPfM6+QNcFwuqZgtzEvpOo5gSkEU/IM0y1l0FyYJJfZyv/SCbZWShbxj+bnjMaAVmLMJl0qf/fUpjIOE8s1QAXRVcrXQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713830191; c=relaxed/simple; bh=rBjfbfl3JjgBv0+x4fmxGU+HgmS064ASrOJqWcVwUbA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FPr5yZEgMu8gsib5bSy155YD4cTUpUqMDDJad5WRtYjbXKYP9qOs33id2uQBS8/ZLBZ/ekCnz+QcxyqZCj/Cmkrk85SdMcV2U6zG6rtQhgVKYnLjs1NcE80e2yHestjKhmOepScv6XzwMqhEIxwEIY6tZ1jpq5DwaXb6U7woYT0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=X8jA3Lx1; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 604AAC32782; Mon, 22 Apr 2024 23:56:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713830191; bh=rBjfbfl3JjgBv0+x4fmxGU+HgmS064ASrOJqWcVwUbA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=X8jA3Lx1pfAMm1IdRdLjvPg82vKXSoK6/lF+H6VeJfus41TpgObBBgDNnq1JNncSB Yh4J+y9UBRnlJCZ0cZvgGAYS/pmu7pp72cvKnVqI4+UCXd5+5eMr7n/yO4Jw28/gcd 8+LHwBrhrinPHq2hhO35oF0+BpG1UvnOvkkcVI7gYwVPXCoq22Hbq4zYyPI0z2P+62 75335xNlB6VMTF3gBClZizlyvDMqE5ch/LjH114zhm5m6zIuBRIVVNzpSmmzZ9AeaI cghnrcwUp6I5S0Uaq1wTuyDv/oqKvU7a8kQ+BcmWA/FnTYK1YrtsrxhJqN9ayJ+t06 lXfTBZg/knTNQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Xiang Chen , Xingui Yang , "Martin K . Petersen" , Sasha Levin , jejb@linux.ibm.com, linux-scsi@vger.kernel.org Subject: [PATCH AUTOSEL 6.6 12/29] scsi: hisi_sas: Handle the NCQ error returned by D2H frame Date: Mon, 22 Apr 2024 19:16:53 -0400 Message-ID: <20240422231730.1601976-12-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240422231730.1601976-1-sashal@kernel.org> References: <20240422231730.1601976-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore X-stable-base: Linux 6.6.28 Content-Transfer-Encoding: 8bit From: Xiang Chen [ Upstream commit 358e919a351f2ea4b412e7dac6b1c23ec10bd4f5 ] We find that some disks use D2H frame instead of SDB frame to return NCQ error. Currently, only the I/O corresponding to the D2H frame is processed in this scenario, which does not meet the processing requirements of the NCQ error scenario. So we set dev_status to HISI_SAS_DEV_NCQ_ERR and abort all I/Os of the disk in this scenario. Co-developed-by: Xingui Yang Signed-off-by: Xingui Yang Signed-off-by: Xiang Chen Link: https://lore.kernel.org/r/20240402035513.2024241-2-chenxiang66@hisilicon.com Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin --- drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c index e914c0c13bb5b..6b97c066e6631 100644 --- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c +++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c @@ -2245,7 +2245,15 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba, struct sas_task *task, case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP: if ((dw0 & CMPLT_HDR_RSPNS_XFRD_MSK) && (sipc_rx_err_type & RX_FIS_STATUS_ERR_MSK)) { - ts->stat = SAS_PROTO_RESPONSE; + if (task->ata_task.use_ncq) { + struct domain_device *device = task->dev; + struct hisi_sas_device *sas_dev = device->lldd_dev; + + sas_dev->dev_status = HISI_SAS_DEV_NCQ_ERR; + slot->abort = 1; + } else { + ts->stat = SAS_PROTO_RESPONSE; + } } else if (dma_rx_err_type & RX_DATA_LEN_UNDERFLOW_MSK) { ts->residual = trans_tx_fail_type; ts->stat = SAS_DATA_UNDERRUN; -- 2.43.0