ibmvnic: Check for transport event on driver resume
On resume, the ibmvnic driver will fail to resume normal operation. The main crq gets closed on suspend by the vnic server and doesn't get reopened again as the interrupt for the transport event that would reset the main crq comes in after the driver has been suspended. This patch resolves the issue by removing the calls to kick the receive interrupts handlers and instead directly invoking the main crq interrupt handler. This will ensure that we see the transport event necessary to properly resume the driver. Signed-off-by: John Allen <jallen@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
01c49884dd
commit
a248878d7a
|
@ -3851,10 +3851,7 @@ static int ibmvnic_resume(struct device *dev)
|
|||
if (adapter->state != VNIC_OPEN)
|
||||
return 0;
|
||||
|
||||
/* kick the interrupt handlers just in case we lost an interrupt */
|
||||
for (i = 0; i < adapter->req_rx_queues; i++)
|
||||
ibmvnic_interrupt_rx(adapter->rx_scrq[i]->irq,
|
||||
adapter->rx_scrq[i]);
|
||||
tasklet_schedule(&adapter->tasklet);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue