* FAILED: patch "[PATCH] ice: reintroduce retry mechanism for indirect AQ" failed to apply to 5.15-stable tree
@ 2026-03-17 11:37 gregkh
2026-03-18 0:46 ` [PATCH 5.15.y 1/2] ice: sleep, don't busy-wait, in the SQ send retry loop Sasha Levin
0 siblings, 1 reply; 4+ messages in thread
From: gregkh @ 2026-03-17 11:37 UTC (permalink / raw)
To: jakub.staniszewski, aleksandr.loktionov, anthony.l.nguyen,
dawid.osuchowski, mschmidt, pmenzel, przemyslaw.kitszel,
sx.rinitha
Cc: stable
The patch below does not apply to the 5.15-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable@vger.kernel.org>.
To reproduce the conflict and resubmit, you may use the following commands:
git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.15.y
git checkout FETCH_HEAD
git cherry-pick -x 326256c0a72d4877cec1d4df85357da106233128
# <resolve conflicts, build, test, etc.>
git commit -s
git send-email --to '<stable@vger.kernel.org>' --in-reply-to '2026031702-configure-decorator-0097@gregkh' --subject-prefix 'PATCH 5.15.y' HEAD^..
Possible dependencies:
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 326256c0a72d4877cec1d4df85357da106233128 Mon Sep 17 00:00:00 2001
From: Jakub Staniszewski <jakub.staniszewski@linux.intel.com>
Date: Tue, 13 Jan 2026 20:38:16 +0100
Subject: [PATCH] ice: reintroduce retry mechanism for indirect AQ
Add retry mechanism for indirect Admin Queue (AQ) commands. To do so we
need to keep the command buffer.
This technically reverts commit 43a630e37e25
("ice: remove unused buffer copy code in ice_sq_send_cmd_retry()"),
but combines it with a fix in the logic by using a kmemdup() call,
making it more robust and less likely to break in the future due to
programmer error.
Cc: Michal Schmidt <mschmidt@redhat.com>
Cc: stable@vger.kernel.org
Fixes: 3056df93f7a8 ("ice: Re-send some AQ commands, as result of EBUSY AQ error")
Signed-off-by: Jakub Staniszewski <jakub.staniszewski@linux.intel.com>
Co-developed-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
Signed-off-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 74fe74225277..fd32c318d3f5 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -1841,6 +1841,7 @@ ice_sq_send_cmd_retry(struct ice_hw *hw, struct ice_ctl_q_info *cq,
{
struct libie_aq_desc desc_cpy;
bool is_cmd_for_retry;
+ u8 *buf_cpy = NULL;
u8 idx = 0;
u16 opcode;
int status;
@@ -1850,8 +1851,11 @@ ice_sq_send_cmd_retry(struct ice_hw *hw, struct ice_ctl_q_info *cq,
memset(&desc_cpy, 0, sizeof(desc_cpy));
if (is_cmd_for_retry) {
- /* All retryable cmds are direct, without buf. */
- WARN_ON(buf);
+ if (buf) {
+ buf_cpy = kmemdup(buf, buf_size, GFP_KERNEL);
+ if (!buf_cpy)
+ return -ENOMEM;
+ }
memcpy(&desc_cpy, desc, sizeof(desc_cpy));
}
@@ -1863,12 +1867,14 @@ ice_sq_send_cmd_retry(struct ice_hw *hw, struct ice_ctl_q_info *cq,
hw->adminq.sq_last_status != LIBIE_AQ_RC_EBUSY)
break;
+ if (buf_cpy)
+ memcpy(buf, buf_cpy, buf_size);
memcpy(desc, &desc_cpy, sizeof(desc_cpy));
-
msleep(ICE_SQ_SEND_DELAY_TIME_MS);
} while (++idx < ICE_SQ_SEND_MAX_EXECUTE);
+ kfree(buf_cpy);
return status;
}
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 5.15.y 1/2] ice: sleep, don't busy-wait, in the SQ send retry loop
2026-03-17 11:37 FAILED: patch "[PATCH] ice: reintroduce retry mechanism for indirect AQ" failed to apply to 5.15-stable tree gregkh
@ 2026-03-18 0:46 ` Sasha Levin
2026-03-18 0:46 ` [PATCH 5.15.y 2/2] ice: reintroduce retry mechanism for indirect AQ Sasha Levin
0 siblings, 1 reply; 4+ messages in thread
From: Sasha Levin @ 2026-03-18 0:46 UTC (permalink / raw)
To: stable
Cc: Michal Schmidt, Arkadiusz Kubalewski, Simon Horman,
Sunitha Mekala, Tony Nguyen, Sasha Levin
From: Michal Schmidt <mschmidt@redhat.com>
[ Upstream commit b488ae52ef9f74155ab358f8c68e74327b45e0e1 ]
10 ms is a lot of time to spend busy-waiting. Sleeping is clearly
allowed here, because we have just returned from ice_sq_send_cmd(),
which takes a mutex.
On kernels with HZ=100, this msleep may be twice as long, but I don't
think it matters.
I did not actually observe any retries happening here.
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
Reviewed-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Stable-dep-of: 326256c0a72d ("ice: reintroduce retry mechanism for indirect AQ")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/intel/ice/ice_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 3de6f16f985ab..75b54bef8be3a 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -1442,7 +1442,7 @@ ice_sq_send_cmd_retry(struct ice_hw *hw, struct ice_ctl_q_info *cq,
memcpy(desc, &desc_cpy, sizeof(desc_cpy));
- mdelay(ICE_SQ_SEND_DELAY_TIME_MS);
+ msleep(ICE_SQ_SEND_DELAY_TIME_MS);
} while (++idx < ICE_SQ_SEND_MAX_EXECUTE);
--
2.51.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 5.15.y 2/2] ice: reintroduce retry mechanism for indirect AQ
2026-03-18 0:46 ` [PATCH 5.15.y 1/2] ice: sleep, don't busy-wait, in the SQ send retry loop Sasha Levin
@ 2026-03-18 0:46 ` Sasha Levin
2026-03-24 10:39 ` Dawid Osuchowski
0 siblings, 1 reply; 4+ messages in thread
From: Sasha Levin @ 2026-03-18 0:46 UTC (permalink / raw)
To: stable
Cc: Jakub Staniszewski, Michal Schmidt, Dawid Osuchowski,
Aleksandr Loktionov, Przemek Kitszel, Paul Menzel, Rinitha S,
Tony Nguyen, Sasha Levin
From: Jakub Staniszewski <jakub.staniszewski@linux.intel.com>
[ Upstream commit 326256c0a72d4877cec1d4df85357da106233128 ]
Add retry mechanism for indirect Admin Queue (AQ) commands. To do so we
need to keep the command buffer.
This technically reverts commit 43a630e37e25
("ice: remove unused buffer copy code in ice_sq_send_cmd_retry()"),
but combines it with a fix in the logic by using a kmemdup() call,
making it more robust and less likely to break in the future due to
programmer error.
Cc: Michal Schmidt <mschmidt@redhat.com>
Cc: stable@vger.kernel.org
Fixes: 3056df93f7a8 ("ice: Re-send some AQ commands, as result of EBUSY AQ error")
Signed-off-by: Jakub Staniszewski <jakub.staniszewski@linux.intel.com>
Co-developed-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
Signed-off-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
[ kzalloc() => kmemdup() ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/ethernet/intel/ice/ice_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c
index 75b54bef8be3a..3f16b80308f92 100644
--- a/drivers/net/ethernet/intel/ice/ice_common.c
+++ b/drivers/net/ethernet/intel/ice/ice_common.c
@@ -1422,7 +1422,7 @@ ice_sq_send_cmd_retry(struct ice_hw *hw, struct ice_ctl_q_info *cq,
if (is_cmd_for_retry) {
if (buf) {
- buf_cpy = kzalloc(buf_size, GFP_KERNEL);
+ buf_cpy = kmemdup(buf, buf_size, GFP_KERNEL);
if (!buf_cpy)
return ICE_ERR_NO_MEMORY;
}
--
2.51.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 5.15.y 2/2] ice: reintroduce retry mechanism for indirect AQ
2026-03-18 0:46 ` [PATCH 5.15.y 2/2] ice: reintroduce retry mechanism for indirect AQ Sasha Levin
@ 2026-03-24 10:39 ` Dawid Osuchowski
0 siblings, 0 replies; 4+ messages in thread
From: Dawid Osuchowski @ 2026-03-24 10:39 UTC (permalink / raw)
To: Sasha Levin, stable
Cc: Jakub Staniszewski, Michal Schmidt, Aleksandr Loktionov,
Przemek Kitszel, Paul Menzel, Rinitha S, Tony Nguyen
On 2026-03-18 1:46 AM, Sasha Levin wrote:
> From: Jakub Staniszewski <jakub.staniszewski@linux.intel.com>
>
> [ Upstream commit 326256c0a72d4877cec1d4df85357da106233128 ]
>
> Add retry mechanism for indirect Admin Queue (AQ) commands. To do so we
> need to keep the command buffer.
>
> This technically reverts commit 43a630e37e25
> ("ice: remove unused buffer copy code in ice_sq_send_cmd_retry()"),
> but combines it with a fix in the logic by using a kmemdup() call,
> making it more robust and less likely to break in the future due to
> programmer error.
>
> Cc: Michal Schmidt <mschmidt@redhat.com>
> Cc: stable@vger.kernel.org
> Fixes: 3056df93f7a8 ("ice: Re-send some AQ commands, as result of EBUSY AQ error")
> Signed-off-by: Jakub Staniszewski <jakub.staniszewski@linux.intel.com>
> Co-developed-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
> Signed-off-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
> Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
> Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
> Tested-by: Rinitha S <sx.rinitha@intel.com> (A Contingent worker at Intel)
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
> [ kzalloc() => kmemdup() ]
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
Acked-by: Dawid Osuchowski <dawid.osuchowski@linux.intel.com>
I didn't have the time to test this, but the code itself looks sane :)
Thanks
Dawid
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-24 10:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-17 11:37 FAILED: patch "[PATCH] ice: reintroduce retry mechanism for indirect AQ" failed to apply to 5.15-stable tree gregkh
2026-03-18 0:46 ` [PATCH 5.15.y 1/2] ice: sleep, don't busy-wait, in the SQ send retry loop Sasha Levin
2026-03-18 0:46 ` [PATCH 5.15.y 2/2] ice: reintroduce retry mechanism for indirect AQ Sasha Levin
2026-03-24 10:39 ` Dawid Osuchowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox