FAILED: patch "[PATCH] ibmvnic: define flush_reset_queue helper" failed to apply to 5.4-stable tree
[email protected]
maintainerThe patch below does not apply to the 5.4-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 <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 83da53f7e4bd86dca4b2edc1e2bb324fb3c033a1 Mon Sep 17 00:00:00 2001
From: Sukadev Bhattiprolu <[email protected]>
Date: Thu, 24 Feb 2022 22:23:53 -0800
Subject: [PATCH] ibmvnic: define flush_reset_queue helper
Define and use a helper to flush the reset queue.
Fixes 2770a7984db5 ("ibmvnic: Introduce hard reset recovery")
Signed-off-by Sukadev Bhattiprolu <[email protected]>
Signed-off-by David S. Miller <[email protected]>
drivers/net/ethernet/ibm/ibmvnic.c +16 -8
@@ -2735,12 +2735,23 @@ static void __ibmvnic_delayed_reset(struct work_struct *work)__ibmvnic_reset (&adapter->ibmvnic_reset); } +static void flush_reset_queue (struct ibmvnic_adapter *adapter) +{ +struct list_head *entry, *tmp_entry; + +if (!list_empty (&adapter->rwi_list)) { +list_for_each_safe (entry, tmp_entry, &adapter->rwi_list) { +list_del (entry); +kfree (list_entry(entry ,struct ibmvnic_rwi ,list )); + } + } +} +static int ibmvnic_reset (struct ibmvnic_adapter *adapter,enum ibmvnic_reset_reason reason) { -struct list_head *entry, *tmp_entry; -struct ibmvnic_rwi *rwi, *tmp;struct net_device *netdev = adapter->netdev; +struct ibmvnic_rwi *rwi, *tmp;unsigned long flags;int ret;
@@ -2783,12 +2794,9 @@ static int ibmvnic_reset(struct ibmvnic_adapter *adapter,/* if we just received a transport event, * flush reset queue and process this reset */ -if (adapter->force_reset_recovery && !list_empty (&adapter->rwi_list)) { -list_for_each_safe (entry, tmp_entry, &adapter->rwi_list) { -list_del (entry); -kfree (list_entry(entry ,struct ibmvnic_rwi ,list )); - } - } +if (adapter->force_reset_recovery) +flush_reset_queue (adapter); + rwi->reset_reason = reason;list_add_tail (&rwi->list, &adapter->rwi_list); netdev_dbg(adapter->netdev, "Scheduling reset (reason %s)\n",