i40evf: Don't schedule reset_task when device is being removed
authorAvinash Dayanand <avinash.dayanand@intel.com>
Mon, 18 Dec 2017 10:16:43 +0000 (05:16 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 26 Apr 2018 09:02:10 +0000 (11:02 +0200)
commit09f6d65db13b0a58af216d11a8e3f23069dc0f47
tree3c13736d10ae534439e075fac8efcd9e99bb5403
parent7c7ae4ed2fcd5a10bdac40b82deaa7f940f001ed
i40evf: Don't schedule reset_task when device is being removed

[ Upstream commit 06aa040f039404a0039a5158cd12f41187487a1f ]

When a host disables and enables a PF device, all the associated
VFs are removed and added back in. It also generates a PFR which in turn
resets all the connected VFs. This behaviour is different from that of
Linux guest on Linux host. Hence we end up in a situation where there's
a PFR and device removal at the same time. And watchdog doesn't have a
clue about this and schedules a reset_task. This patch adds code to send
signal to reset_task that the device is currently being removed.

Signed-off-by: Avinash Dayanand <avinash.dayanand@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/intel/i40evf/i40evf.h
drivers/net/ethernet/intel/i40evf/i40evf_main.c