aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Allen <jallen@linux.vnet.ibm.com>2017-06-19 11:27:53 -0500
committerDavid S. Miller <davem@davemloft.net>2017-06-20 15:17:01 -0400
commitcb89ba243baf6e5f7ee1ddf491fa45e0cabccdd1 (patch)
treed13102e582ef560ac840db0366f5954fe7253514
parentnet: phy: lxt: Export link partner advertising (diff)
downloadlinux-dev-cb89ba243baf6e5f7ee1ddf491fa45e0cabccdd1.tar.xz
linux-dev-cb89ba243baf6e5f7ee1ddf491fa45e0cabccdd1.zip
ibmvnic: Return from ibmvnic_resume if not in VNIC_OPEN state
If the ibmvnic driver is not in the VNIC_OPEN state, return from ibmvnic_resume callback. If we are not in the VNIC_OPEN state, interrupts may not be initialized and directly calling the interrupt handler will cause a crash. Signed-off-by: John Allen <jallen@linux.vnet.ibm.com> Reviewed-by: Nathan Fontenot <nfont@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/ibm/ibmvnic.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c
index 722daf55d757..013509544632 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -3859,6 +3859,9 @@ static int ibmvnic_resume(struct device *dev)
struct ibmvnic_adapter *adapter = netdev_priv(netdev);
int i;
+ 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,