Revert "ibmvnic: simplify reset_long_term_buff function"
authorSukadev Bhattiprolu <sukadev@linux.ibm.com>
Thu, 24 Jun 2021 04:13:10 +0000 (21:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 24 Jun 2021 18:22:23 +0000 (11:22 -0700)
commit0ec13aff058a82426c8d44b688c804cc4a5a0a3d
tree3881bd0421cc9e63c95a3c367d1edfff2ea5ac3f
parentc2f5c57d99debf471a1b263cdf227e55f1364e95
Revert "ibmvnic: simplify reset_long_term_buff function"

This reverts commit 1c7d45e7b2c29080bf6c8cd0e213cc3cbb62a054.

We tried to optimize the number of hcalls we send and skipped sending
the REQUEST_MAP calls for some maps. However during resets, we need to
resend all the maps to the VIOS since the VIOS does not remember the
old values. In fact we may have failed over to a new VIOS which will
not have any of the mappings.

When we send packets with map ids the VIOS does not know about, it
triggers a FATAL reset. While the client does recover from the FATAL
error reset, we are seeing a large number of such resets. Handling
FATAL resets is lot more unnecessary work than issuing a few more
hcalls so revert the commit and resend the maps to the VIOS.

Fixes: 1c7d45e7b2c ("ibmvnic: simplify reset_long_term_buff function")
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c