Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2237922/?format=api
{ "id": 2237922, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2237922/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-ide/patch/20260513151359.1075403-8-cassel@kernel.org/", "project": { "id": 13, "url": "http://patchwork.ozlabs.org/api/1.1/projects/13/?format=api", "name": "Linux IDE development", "link_name": "linux-ide", "list_id": "linux-ide.vger.kernel.org", "list_email": "linux-ide@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260513151359.1075403-8-cassel@kernel.org>", "date": "2026-05-13T15:14:01", "name": "[v4,2/4] ata: libata-scsi: do not use the deferred QC feature for ATA_DEFER_PORT", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "91cc1c72a33505b39f4f321629bbcee772867474", "submitter": { "id": 87751, "url": "http://patchwork.ozlabs.org/api/1.1/people/87751/?format=api", "name": "Niklas Cassel", "email": "cassel@kernel.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linux-ide/patch/20260513151359.1075403-8-cassel@kernel.org/mbox/", "series": [ { "id": 504179, "url": "http://patchwork.ozlabs.org/api/1.1/series/504179/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-ide/list/?series=504179", "date": "2026-05-13T15:13:59", "name": "ata: fix deferred QC handling for port multipliers", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/504179/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2237922/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2237922/checks/", "tags": {}, "headers": { "Return-Path": "\n <linux-ide+bounces-5741-incoming=patchwork.ozlabs.org@vger.kernel.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linux-ide@vger.kernel.org" ], "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=AaJw5sJV;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2600:3c0a:e001:db::12fc:5321; helo=sea.lore.kernel.org;\n envelope-from=linux-ide+bounces-5741-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)", "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"AaJw5sJV\"", "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201" ], "Received": [ "from sea.lore.kernel.org (sea.lore.kernel.org\n [IPv6:2600:3c0a:e001:db::12fc:5321])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4gFyl12k3Dz1yKH\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 14 May 2026 01:57:01 +1000 (AEST)", "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 648173451ED3\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 13 May 2026 15:18:06 +0000 (UTC)", "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 23FE149550A;\n\tWed, 13 May 2026 15:14:13 +0000 (UTC)", "from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 01431494A00\n\tfor <linux-ide@vger.kernel.org>; Wed, 13 May 2026 15:14:12 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id 3025AC19425;\n\tWed, 13 May 2026 15:14:11 +0000 (UTC)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1778685253; cv=none;\n b=aHViWVeERm4g2KYU4nIkEGBX9ruwZAe1gkylYDo6tpA8jv0TxNKql+uTBgehXPpBXzte9EAJpiOiuXXSSo4pwHQXST6tl8P6NOB3ofo9Jh4TVKjfQtLmqImcXyjASbmPE74PzxyNz3uQNqg6s56aj4lEmPLHH98nN6GT2JXhamI=", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1778685253; c=relaxed/simple;\n\tbh=QL1hgyowVfja/vcJIALXSKCDzjwmNt42m3BowKG8WeQ=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=t3Bh1JliCfNHSXjeS8v3DPiesUWIT35Y+iK8h/RMitngb6R+GBbmKjEFhTFPNeG++RrYb/Dxx9wtSvnxB3+2j4K1ihGrVdup56EmD7/FnozVbxhECGZ9vBxdB/TnAW6um0W5Cu8ZGTV+MtuXBWBARk2Yt7KTI52mDcnqOJjhB0A=", "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=AaJw5sJV; arc=none smtp.client-ip=10.30.226.201", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1778685252;\n\tbh=QL1hgyowVfja/vcJIALXSKCDzjwmNt42m3BowKG8WeQ=;\n\th=From:To:Cc:Subject:Date:In-Reply-To:References:From;\n\tb=AaJw5sJVaOCRaU2hB4vvcQajcqQjX7ruecf55JaFFubL0BZnwjFDDM8GOB2+2nAVt\n\t FJTPB83Qaw8AniTQKZJvBqbCFhEaSi7xjyYZXtQcaMhqfQhJJwYdXcml+Z3uQrFru3\n\t hGUs3ZQcPc2By2WRNj6sd/hgXoNiKp+4CQlRMcEdsgcbM+Opee6V5F9nmVBSYVd2eh\n\t GPrCSfkKeXyQU/ju9+HRqZDUYjHLYb9S1TunPqSotTh6plMP7dNRSejVaMtjJmGKMU\n\t 7JhpbrpbdrLN+/GZNr2fRDgLw7gJ1pOyfMhGQmDZG1qfBPrl7pQhLoxhdjT7qxOYjh\n\t xul/W9GXQaFuQ==", "From": "Niklas Cassel <cassel@kernel.org>", "To": "Tommy Kelly <linux@tkel.ly>,\n\tDamien Le Moal <dlemoal@kernel.org>,\n\tNiklas Cassel <cassel@kernel.org>,\n\tJohn Garry <john.g.garry@oracle.com>,\n\t\"Martin K. Petersen\" <martin.petersen@oracle.com>", "Cc": "linux-ide@vger.kernel.org", "Subject": "[PATCH v4 2/4] ata: libata-scsi: do not use the deferred QC feature\n for ATA_DEFER_PORT", "Date": "Wed, 13 May 2026 17:14:01 +0200", "Message-ID": "<20260513151359.1075403-8-cassel@kernel.org>", "X-Mailer": "git-send-email 2.54.0", "In-Reply-To": "<20260513151359.1075403-6-cassel@kernel.org>", "References": "<20260513151359.1075403-6-cassel@kernel.org>", "Precedence": "bulk", "X-Mailing-List": "linux-ide@vger.kernel.org", "List-Id": "<linux-ide.vger.kernel.org>", "List-Subscribe": "<mailto:linux-ide+subscribe@vger.kernel.org>", "List-Unsubscribe": "<mailto:linux-ide+unsubscribe@vger.kernel.org>", "MIME-Version": "1.0", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=1567; i=cassel@kernel.org;\n h=from:subject; bh=QL1hgyowVfja/vcJIALXSKCDzjwmNt42m3BowKG8WeQ=;\n b=owGbwMvMwCV2MsVw8cxjvkWMp9WSGLJYppq7PlbM0Fq6gOfF3uPrcoJeVP3jqLzVU8r6VXweh\n /fNErN9HaUsDGJcDLJiiiy+P1z2F3e7TzmueMcGZg4rE8gQBi5OAZjIX0FGhj3PuXafd3/++J/p\n 9/JeofMrWXx8lOY67ePYbGXS2th2ZRsjw4OwaRWZsplp1o+YJA53vDTPWZaQOOtMwix2J+0FiyV\n 5OAE=", "X-Developer-Key": "i=cassel@kernel.org; a=openpgp;\n fpr=5ADE635C0E631CBBD5BE065A352FE6582ED9B5DA", "Content-Transfer-Encoding": "8bit" }, "content": "The deferred QC feature was meant to handle mixed NCQ and non-NCQ commands,\ni.e. for return value ATA_DEFER_LINK.\n\nATA_DEFER_PORT is returned by PATA drivers, but also certain SATA drivers\nlike sata_mv and sata_sil24 that uses ap->excl_link to workaround hardware\nbugs in these HBAs. Regardless of the reason, using the deferred QC feature\nfor ATA_DEFER_PORT is always wrong, and will break the ap->excl_link usage\nof the SATA drivers that rely on that feature.\n\nModify ata_scsi_qc_issue() to only use the deferred QC feature when mixing\nNCQ and non-NCQ commands, i.e. ATA_DEFER_LINK.\n\nFixes: 0ea84089dbf6 (\"ata: libata-scsi: avoid Non-NCQ command starvation\")\nSigned-off-by: Niklas Cassel <cassel@kernel.org>\n---\n drivers/ata/libata-scsi.c | 5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)", "diff": "diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c\nindex b9064dd4390c..22642a0e6b84 100644\n--- a/drivers/ata/libata-scsi.c\n+++ b/drivers/ata/libata-scsi.c\n@@ -1789,11 +1789,11 @@ static int ata_scsi_qc_issue(struct ata_port *ap, struct ata_queued_cmd *qc)\n \t\tgoto defer_qc;\n \tcase ATA_DEFER_PORT:\n \t\tret = SCSI_MLQUEUE_HOST_BUSY;\n-\t\tgoto defer_qc;\n+\t\tgoto free_qc;\n \tdefault:\n \t\tWARN_ON_ONCE(1);\n \t\tret = SCSI_MLQUEUE_HOST_BUSY;\n-\t\tgoto defer_qc;\n+\t\tgoto free_qc;\n \t}\n \n issue_qc:\n@@ -1813,6 +1813,7 @@ static int ata_scsi_qc_issue(struct ata_port *ap, struct ata_queued_cmd *qc)\n \t\treturn 0;\n \t}\n \n+free_qc:\n \t/* Force a requeue of the command to defer its execution. */\n \tata_qc_free(qc);\n \n", "prefixes": [ "v4", "2/4" ] }