ibmvnic: Clear pending interrupt after device reset
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Sun, 15 Apr 2018 23:53:36 +0000 (18:53 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 16 Apr 2018 15:26:14 +0000 (11:26 -0400)
commitf23e0643cd0b53e68e283b6f26194d56c28a2eb1
treed554a04ec1e70dda2e9c58eac8d5a7239e93f56e
parentbffd168c3fc5cc7d2bad4c668fa90e7a9010db4b
ibmvnic: Clear pending interrupt after device reset

Due to a firmware bug, the hypervisor can send an interrupt to a
transmit or receive queue just prior to a partition migration, not
allowing the device enough time to handle it and send an EOI. When
the partition migrates, the interrupt is lost but an "EOI-pending"
flag for the interrupt line is still set in firmware. No further
interrupts will be sent until that flag is cleared, effectively
freezing that queue. To workaround this, the driver will disable the
hardware interrupt and send an H_EOI signal prior to re-enabling it.
This will flush the pending EOI and allow the driver to continue
operation.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c