From patchwork Wed Apr 16 09:31:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Cassel X-Patchwork-Id: 2073560 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=r9rM/S/3; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2604:1380:45d1:ec00::1; helo=ny.mirrors.kernel.org; envelope-from=linux-ide+bounces-3456-incoming=patchwork.ozlabs.org@vger.kernel.org; receiver=patchwork.ozlabs.org) Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org [IPv6:2604:1380:45d1:ec00::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Zcwl206XWz1yMr for ; Wed, 16 Apr 2025 19:31:26 +1000 (AEST) Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id EBC6644145C for ; Wed, 16 Apr 2025 09:31:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 480C821B9D8; Wed, 16 Apr 2025 09:31:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="r9rM/S/3" X-Original-To: linux-ide@vger.kernel.org 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 09B0F140E5F for ; Wed, 16 Apr 2025 09:31:39 +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=1744795900; cv=none; b=OKLWveTGq2SQ1wEOSPx0krlhbLdonM56hDW6nLYEQulEE45FL5CEyKOrexpy1Kom13LZyox+eq337zagVWLreuaSSVulyhnOKt+UbflPCGFSHW801s0QlSOcT+zTHEc1XkQJpbiDyiqUD8OezPb3Q8YPFeJ++nbclthCh6c5otA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744795900; c=relaxed/simple; bh=/VX9vFfl2tswwHcuk9WHl4haJeoP4oRCjezyiPR0kPM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BknwKmLYbRTzUSBLJMfuv960oLZHLeKC91b00Tfn9A73uMEBkFZFDEx2FueCIfJEmaFevBu5gBl/dNSOLXijDbu603lC1Tnb/cw2JODxksvg+vzkh/C/cmiZYjNlmmI5td+xnvzAu0DLBi49Beeg4zr2LDMU35WnTEmyzy6FKRs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r9rM/S/3; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59677C4CEED; Wed, 16 Apr 2025 09:31:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744795899; bh=/VX9vFfl2tswwHcuk9WHl4haJeoP4oRCjezyiPR0kPM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r9rM/S/3RTG5pw2wBR6pNZZcVUV+TSRmz1OXIH6YD6UH0NQKd5GXCtr/QEPdYofoE Fvp58IQ+YKOJgRBxP2v+uCwQxkHSXJIwuQVPsVwOMQgLQjUNoO+4LnFzJ3KHO39nvz WpyOc1BK1gZEqzSjPb6lIMVMGb5z9w1QBq+QTYjk9VAj+itBtP/RK6O/baBXzuPM4F ka1erR9JVIRuCjHF/eMGXLPPw1FvDSFAwX+zOX2Rf41xcB85g7Nb7YIWpUTZUopuBP 5pO5c6OX59cDLWcHrt1Vyi0CRkKcFznmsWrFMHBWtqmUPOXhCa7f0CzKPl3K0Rzp7t 9orFIPU4V3kfg== From: Niklas Cassel To: Damien Le Moal Cc: linux-ide@vger.kernel.org, Igor Pylypiv , Hannes Reinecke , Niklas Cassel Subject: [PATCH v3 1/3] ata: libata-sata: Save all fields from sense data descriptor Date: Wed, 16 Apr 2025 11:31:29 +0200 Message-ID: <20250416093127.63666-6-cassel@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250416093127.63666-5-cassel@kernel.org> References: <20250416093127.63666-5-cassel@kernel.org> Precedence: bulk X-Mailing-List: linux-ide@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=2653; i=cassel@kernel.org; h=from:subject; bh=/VX9vFfl2tswwHcuk9WHl4haJeoP4oRCjezyiPR0kPM=; b=owGbwMvMwCV2MsVw8cxjvkWMp9WSGNL/V3yRPhPeVlmz8Uhkwi/HflN7pekPXZ1fnc2ufBSxc UuX6Ly2jlIWBjEuBlkxRRbfHy77i7vdpxxXvGMDM4eVCWQIAxenAEwktoDhn7lHotT7czU6/ytr H72sSznzy3/lz0L9+tBZ/47v+2HufZfhD1flfONVdgcDVQwqUtTPKHw+rLQuyNdKvvqn3zrz33P nMQIA X-Developer-Key: i=cassel@kernel.org; a=openpgp; fpr=5ADE635C0E631CBBD5BE065A352FE6582ED9B5DA When filling the taskfile result for a successful NCQ command, we use the SDB FIS from the FIS Receive Area, see e.g. ahci_qc_ncq_fill_rtf(). However, the SDB FIS only has fields STATUS and ERROR. For a successful NCQ command that has sense data, we will have a successful sense data descriptor, in the Sense Data for Successful NCQ Commands log. Since we have access to additional taskfile result fields, fill in these additional fields in qc->result_tf. This matches how for failing/aborted NCQ commands, we will use e.g. ahci_qc_fill_rtf() to fill in some fields, but then for the command that actually caused the NCQ error, we will use ata_eh_read_log_10h(), which provides additional fields, saving additional fields/overriding the qc->result_tf that was fetched using ahci_qc_fill_rtf(). Fixes: 18bd7718b5c4 ("scsi: ata: libata: Handle completion of CDL commands using policy 0xD") Signed-off-by: Niklas Cassel Reviewed-by: Igor Pylypiv Reviewed-by: Hannes Reinecke --- drivers/ata/libata-sata.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c index ba300cc0a3a3..2e4463d3a356 100644 --- a/drivers/ata/libata-sata.c +++ b/drivers/ata/libata-sata.c @@ -1510,6 +1510,8 @@ int ata_eh_get_ncq_success_sense(struct ata_link *link) unsigned int err_mask, tag; u8 *sense, sk = 0, asc = 0, ascq = 0; u64 sense_valid, val; + u16 extended_sense; + bool aux_icc_valid; int ret = 0; err_mask = ata_read_log_page(dev, ATA_LOG_SENSE_NCQ, 0, buf, 2); @@ -1529,6 +1531,8 @@ int ata_eh_get_ncq_success_sense(struct ata_link *link) sense_valid = (u64)buf[8] | ((u64)buf[9] << 8) | ((u64)buf[10] << 16) | ((u64)buf[11] << 24); + extended_sense = get_unaligned_le16(&buf[14]); + aux_icc_valid = extended_sense & BIT(15); ata_qc_for_each_raw(ap, qc, tag) { if (!(qc->flags & ATA_QCFLAG_EH) || @@ -1556,6 +1560,17 @@ int ata_eh_get_ncq_success_sense(struct ata_link *link) continue; } + qc->result_tf.nsect = sense[6]; + qc->result_tf.hob_nsect = sense[7]; + qc->result_tf.lbal = sense[8]; + qc->result_tf.lbam = sense[9]; + qc->result_tf.lbah = sense[10]; + qc->result_tf.hob_lbal = sense[11]; + qc->result_tf.hob_lbam = sense[12]; + qc->result_tf.hob_lbah = sense[13]; + if (aux_icc_valid) + qc->result_tf.auxiliary = get_unaligned_le32(&sense[16]); + /* Set sense without also setting scsicmd->result */ scsi_build_sense_buffer(dev->flags & ATA_DFLAG_D_SENSE, qc->scsicmd->sense_buffer, sk, From patchwork Wed Apr 16 09:31:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Cassel X-Patchwork-Id: 2073559 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=jtzgC9bw; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=2604:1380:45e3:2400::1; helo=sv.mirrors.kernel.org; envelope-from=linux-ide+bounces-3457-incoming=patchwork.ozlabs.org@vger.kernel.org; receiver=patchwork.ozlabs.org) Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org [IPv6:2604:1380:45e3:2400::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Zcwl13B1Jz1yHt for ; Wed, 16 Apr 2025 19:31:25 +1000 (AEST) Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id EB5003B2B0B for ; Wed, 16 Apr 2025 09:31:26 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id A2A9522A4FC; Wed, 16 Apr 2025 09:31:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jtzgC9bw" X-Original-To: linux-ide@vger.kernel.org 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 63A9C140E5F for ; Wed, 16 Apr 2025 09:31:41 +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=1744795901; cv=none; b=Cr1C7QREEY2ciuMHKOM8sOK2cbjg/VjvEfVIDGzGssV4eNvIOyselketCjyQy1sHwMnXV4Sfe9MT6hllGjcZ19SaP6TDcbgCLY8aOl2u9Dv6Z6z0gM2Ij0+u07BsBA1/kTQziYynpqmHLUcbuRXjGySq8iN1nE/haAop4oFqyCA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744795901; c=relaxed/simple; bh=SxGDxesBuOrQMQ4ndt0+cpwVugmTRwb32y6/Gks+PI0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Lkc4K+Trz/ZjZSCwUUHw/E36C8mqLuaiBKgv+/ypeBEIKc2pCMbgiPRV2tIdGStX2/6FflUoET3gCEY3Ilc4ejV3JpywhSjMAx+6wvmD83zS8UUmZOPL3JDs72cUdJsjqWLlW3RXSYlZDDNlejSZ2kOn1ama/l+tGE+Y/LIXSQg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jtzgC9bw; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0512DC4CEE9; Wed, 16 Apr 2025 09:31:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744795901; bh=SxGDxesBuOrQMQ4ndt0+cpwVugmTRwb32y6/Gks+PI0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jtzgC9bw6HhiOk1UJLb/GyWvHA884mu97NLFevLA9+urTOUzY1uPVf/oaLp7ftzLA hqmoQ+/QJzdhyTb42uP8L2cYtSX17gFpOaLFFTo1CvgErgvFwkNzzkBXbpbXq8PwPT G664EH/6L3vaENu0Ktu3x8U4OtEIrCiX8+1TFqg10XEcPuk3J8tk7tKgxD9eGKP3dQ /ENjQsmzzfFLvuJ8XOQ8khi3reNLyA/MSrWmTbi+44BuVkT0ymUok8jPOxDwu9I2tT Qp6mT5xPdKu8IkwmsSMXghaO0lKylOAgJTwCqK4xKitfCrJw/xEuV4p65gMZNUunCT H5aCmds57ygrA== From: Niklas Cassel To: Damien Le Moal Cc: linux-ide@vger.kernel.org, Igor Pylypiv , Hannes Reinecke , Niklas Cassel Subject: [PATCH v3 2/3] ata: libata-sata: Simplify sense_valid fetching Date: Wed, 16 Apr 2025 11:31:30 +0200 Message-ID: <20250416093127.63666-7-cassel@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250416093127.63666-5-cassel@kernel.org> References: <20250416093127.63666-5-cassel@kernel.org> Precedence: bulk X-Mailing-List: linux-ide@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1865; i=cassel@kernel.org; h=from:subject; bh=SxGDxesBuOrQMQ4ndt0+cpwVugmTRwb32y6/Gks+PI0=; b=owGbwMvMwCV2MsVw8cxjvkWMp9WSGNL/V3z5/+XB1a0yzL9Ox4ap7jtdwPvWZn1BTqSeRJ/1D 6PzXe1KHaUsDGJcDLJiiiy+P1z2F3e7TzmueMcGZg4rE8gQBi5OAZjIfXuG/0Wnt9Q951qQsevH vQulcgsCTTccrnfvNvBqym/+dSmI+RQjw+r4CRfddD8eebSdY37xRu2bvmvq5kyyTf6UYRlbz1P 9kREA X-Developer-Key: i=cassel@kernel.org; a=openpgp; fpr=5ADE635C0E631CBBD5BE065A352FE6582ED9B5DA While the SENSE DATA VALID field in the ACS-6 specification is 47 bits, we are currently only fetching 32 bits, because these are the only bits that we care about (these bits represent the tags (which can be 0-31)). Thus, replace the existing logic with a simple get_unaligned_le32(). While at it, change the type of sense_valid to u32. Signed-off-by: Niklas Cassel Reviewed-by: Hannes Reinecke Reviewed-by: Igor Pylypiv --- drivers/ata/libata-sata.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c index 2e4463d3a356..89d3b784706b 100644 --- a/drivers/ata/libata-sata.c +++ b/drivers/ata/libata-sata.c @@ -1509,9 +1509,10 @@ int ata_eh_get_ncq_success_sense(struct ata_link *link) struct ata_queued_cmd *qc; unsigned int err_mask, tag; u8 *sense, sk = 0, asc = 0, ascq = 0; - u64 sense_valid, val; u16 extended_sense; bool aux_icc_valid; + u32 sense_valid; + u64 val; int ret = 0; err_mask = ata_read_log_page(dev, ATA_LOG_SENSE_NCQ, 0, buf, 2); @@ -1529,8 +1530,7 @@ int ata_eh_get_ncq_success_sense(struct ata_link *link) return -EIO; } - sense_valid = (u64)buf[8] | ((u64)buf[9] << 8) | - ((u64)buf[10] << 16) | ((u64)buf[11] << 24); + sense_valid = get_unaligned_le32(&buf[8]); extended_sense = get_unaligned_le16(&buf[14]); aux_icc_valid = extended_sense & BIT(15); @@ -1545,7 +1545,7 @@ int ata_eh_get_ncq_success_sense(struct ata_link *link) * If the command does not have any sense data, clear ATA_SENSE. * Keep ATA_QCFLAG_EH_SUCCESS_CMD so that command is finished. */ - if (!(sense_valid & (1ULL << tag))) { + if (!(sense_valid & (1 << tag))) { qc->result_tf.status &= ~ATA_SENSE; continue; } From patchwork Wed Apr 16 09:31:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Cassel X-Patchwork-Id: 2073562 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20201202 header.b=HaIyI9kl; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=147.75.48.161; helo=sy.mirrors.kernel.org; envelope-from=linux-ide+bounces-3458-incoming=patchwork.ozlabs.org@vger.kernel.org; receiver=patchwork.ozlabs.org) Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org [147.75.48.161]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4Zcwl63QNDz1yHt for ; Wed, 16 Apr 2025 19:31:30 +1000 (AEST) Received: from smtp.subspace.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 22B467A258D for ; Wed, 16 Apr 2025 09:30:40 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id B217521B9D8; Wed, 16 Apr 2025 09:31:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HaIyI9kl" X-Original-To: linux-ide@vger.kernel.org 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 7331B2260C for ; Wed, 16 Apr 2025 09:31:43 +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=1744795903; cv=none; b=EC9eSi3vG6BKVZDVZs9UYhWVuU0EsXAipbpFm9bXXqk9S3Vymup7tx4GNdtO0E7nfWJbftAluM4q8inF0nkf4DY1VucbMtmaQhKq1QeoiziRZu5BEt5sC30o0NF1bgN4xvBTxwcgjNXuzkf+rQlgo6J2zKLsaVO3xDumraTa/s0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1744795903; c=relaxed/simple; bh=+4T8p8WgMVKMBthbWENfoVtUKl5HloUdUr/dRJ2LpTI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k+77MzHbwuNWOZzCC2kAj+gehm2wIznQcHydIhG00EhBwCRa1UzgtqieFlvR5cg3N5kVn7VwggTZiBcG0SS2JugyfzMuwi9RzNxVW1JpzhZD/G+rxzHYGPWHuf8z9wUridXIZ3ID9imB+AF6JhkduO4Zv5RSstyn9MREX8bcSoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HaIyI9kl; arc=none smtp.client-ip=10.30.226.201 Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6246C4CEE9; Wed, 16 Apr 2025 09:31:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1744795902; bh=+4T8p8WgMVKMBthbWENfoVtUKl5HloUdUr/dRJ2LpTI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HaIyI9klNU2bnnPM6+XVqgkeoOODKt/U+1f5Q86HDX1wx3G38zwt/IP+fyo6N91Ex Fml0431AQxLO1u7CfeRM5bjKg/FEtMX+Ae+uV1fGzRpnxRIn9DqkrDG2FwxaEUzn/u pjngXrx1WPohoDQlHsRMQvW/F7F03KzUvFcIXNzcV0aud/O7Vbwi8fywRXqBA+XRzW 36hkFY30wmUal1zPqmAxShuSAtKzSq21R+fGOxDjBBDClSA+HXGpX8Orr/ESG6fxyv YQxDzRqZUuVsLMEErnu4hAQhhufmcyeUJjjLs9iFtWZc7/ur7mDfiGN3sZk24UUAKQ ANeA9ddj0+oIg== From: Niklas Cassel To: Damien Le Moal Cc: linux-ide@vger.kernel.org, Igor Pylypiv , Hannes Reinecke , Niklas Cassel Subject: [PATCH v3 3/3] ata: libata-sata: Use BIT() macro to convert tag to bit field Date: Wed, 16 Apr 2025 11:31:31 +0200 Message-ID: <20250416093127.63666-8-cassel@kernel.org> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250416093127.63666-5-cassel@kernel.org> References: <20250416093127.63666-5-cassel@kernel.org> Precedence: bulk X-Mailing-List: linux-ide@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1324; i=cassel@kernel.org; h=from:subject; bh=+4T8p8WgMVKMBthbWENfoVtUKl5HloUdUr/dRJ2LpTI=; b=owGbwMvMwCV2MsVw8cxjvkWMp9WSGNL/V3zZOON7QIlenc4rf4Hrl9IvsPzbeXGB+b+Xtdql4 XFtiXVrO0pZGMS4GGTFFFl8f7jsL+52n3Jc8Y4NzBxWJpAhDFycAjCRiveMDA1S1bP7pV9vPuOv HsjpcL/vDJfz+u5YMQ2rc1JSi+u/dTD8U3CXvLs6UHBzmMuCZyFshsw1y9bVsnzIzOy+lGjLlPO OHQA= X-Developer-Key: i=cassel@kernel.org; a=openpgp; fpr=5ADE635C0E631CBBD5BE065A352FE6582ED9B5DA The BIT() macro is commonly used in the kernel. Make use of it when converting a tag, fetched from the Successful NCQ Commands log or the NCQ Command Error log, to a bit field. This makes the code easier to read. Suggested-by: Igor Pylypiv Signed-off-by: Niklas Cassel Reviewed-by: Hannes Reinecke Reviewed-by: Igor Pylypiv --- drivers/ata/libata-sata.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/ata/libata-sata.c b/drivers/ata/libata-sata.c index 89d3b784706b..4e3034af285e 100644 --- a/drivers/ata/libata-sata.c +++ b/drivers/ata/libata-sata.c @@ -1545,7 +1545,7 @@ int ata_eh_get_ncq_success_sense(struct ata_link *link) * If the command does not have any sense data, clear ATA_SENSE. * Keep ATA_QCFLAG_EH_SUCCESS_CMD so that command is finished. */ - if (!(sense_valid & (1 << tag))) { + if (!(sense_valid & BIT(tag))) { qc->result_tf.status &= ~ATA_SENSE; continue; } @@ -1634,7 +1634,7 @@ void ata_eh_analyze_ncq_error(struct ata_link *link) return; } - if (!(link->sactive & (1 << tag))) { + if (!(link->sactive & BIT(tag))) { ata_link_err(link, "log page 10h reported inactive tag %d\n", tag); return;