|
Michal Suchanek |
7ca133 |
From 7d3a7b9ea59ddb223aec59b45fa1713c633aaed4 Mon Sep 17 00:00:00 2001
|
|
Michal Suchanek |
7ca133 |
From: Lijun Pan <ljp@linux.ibm.com>
|
|
Michal Suchanek |
7ca133 |
Date: Fri, 12 Feb 2021 20:49:00 -0600
|
|
Michal Suchanek |
7ca133 |
Subject: [PATCH] ibmvnic: skip send_request_unmap for timeout reset
|
|
Michal Suchanek |
7ca133 |
|
|
Michal Suchanek |
7ca133 |
References: bsc#1184114 ltc#192237 bsc#1182485 ltc#191591
|
|
Michal Suchanek |
7ca133 |
Patch-mainline: v5.12-rc1
|
|
Michal Suchanek |
7ca133 |
Git-commit: 7d3a7b9ea59ddb223aec59b45fa1713c633aaed4
|
|
Michal Suchanek |
7ca133 |
|
|
Michal Suchanek |
7ca133 |
Timeout reset will trigger the VIOS to unmap it automatically,
|
|
Michal Suchanek |
7ca133 |
similarly as FAILVOER and MOBILITY events. If we unmap it
|
|
Michal Suchanek |
7ca133 |
in the linux side, we will see errors like
|
|
Michal Suchanek |
7ca133 |
"30000003: Error 4 in REQUEST_UNMAP_RSP".
|
|
Michal Suchanek |
7ca133 |
So, don't call send_request_unmap for timeout reset.
|
|
Michal Suchanek |
7ca133 |
|
|
Michal Suchanek |
7ca133 |
Fixes: ed651a10875f ("ibmvnic: Updated reset handling")
|
|
Michal Suchanek |
7ca133 |
Signed-off-by: Lijun Pan <ljp@linux.ibm.com>
|
|
Michal Suchanek |
7ca133 |
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Michal Suchanek |
7ca133 |
Acked-by: Michal Suchanek <msuchanek@suse.de>
|
|
Michal Suchanek |
7ca133 |
---
|
|
Michal Suchanek |
7ca133 |
drivers/net/ethernet/ibm/ibmvnic.c | 7 ++++++-
|
|
Michal Suchanek |
7ca133 |
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
Michal Suchanek |
7ca133 |
|
|
Michal Suchanek |
7ca133 |
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
|
|
Michal Suchanek |
7ca133 |
index f6402a20ba32..cd201f89ce6c 100644
|
|
Michal Suchanek |
7ca133 |
--- a/drivers/net/ethernet/ibm/ibmvnic.c
|
|
Michal Suchanek |
7ca133 |
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
|
|
Michal Suchanek |
7ca133 |
@@ -247,8 +247,13 @@ static void free_long_term_buff(struct ibmvnic_adapter *adapter,
|
|
Michal Suchanek |
7ca133 |
if (!ltb->buff)
|
|
Michal Suchanek |
7ca133 |
return;
|
|
Michal Suchanek |
7ca133 |
|
|
Michal Suchanek |
7ca133 |
+ /* VIOS automatically unmaps the long term buffer at remote
|
|
Michal Suchanek |
7ca133 |
+ * end for the following resets:
|
|
Michal Suchanek |
7ca133 |
+ * FAILOVER, MOBILITY, TIMEOUT.
|
|
Michal Suchanek |
7ca133 |
+ */
|
|
Michal Suchanek |
7ca133 |
if (adapter->reset_reason != VNIC_RESET_FAILOVER &&
|
|
Michal Suchanek |
7ca133 |
- adapter->reset_reason != VNIC_RESET_MOBILITY)
|
|
Michal Suchanek |
7ca133 |
+ adapter->reset_reason != VNIC_RESET_MOBILITY &&
|
|
Michal Suchanek |
7ca133 |
+ adapter->reset_reason != VNIC_RESET_TIMEOUT)
|
|
Michal Suchanek |
7ca133 |
send_request_unmap(adapter, ltb->map_id);
|
|
Michal Suchanek |
7ca133 |
dma_free_coherent(dev, ltb->size, ltb->buff, ltb->addr);
|
|
Michal Suchanek |
7ca133 |
}
|
|
Michal Suchanek |
7ca133 |
--
|
|
Michal Suchanek |
7ca133 |
2.26.2
|
|
Michal Suchanek |
7ca133 |
|