diff options
author | John Allen <jallen@linux.vnet.ibm.com> | 2017-06-19 11:27:53 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-06-20 15:17:01 -0400 |
commit | cb89ba243baf6e5f7ee1ddf491fa45e0cabccdd1 (patch) | |
tree | d13102e582ef560ac840db0366f5954fe7253514 /drivers/net/ethernet/ibm | |
parent | ca83697cdc9a2fe67957161933abeb703d7aff89 (diff) | |
download | linux-cb89ba243baf6e5f7ee1ddf491fa45e0cabccdd1.tar.bz2 |
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>
Diffstat (limited to 'drivers/net/ethernet/ibm')
-rw-r--r-- | drivers/net/ethernet/ibm/ibmvnic.c | 3 |
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, |