diff options
Diffstat (limited to 'drivers/scsi/ibmvscsi')
-rw-r--r-- | drivers/scsi/ibmvscsi/ibmvfc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c index f033bf39690f..00d08b25425f 100644 --- a/drivers/scsi/ibmvscsi/ibmvfc.c +++ b/drivers/scsi/ibmvscsi/ibmvfc.c | |||
@@ -4302,8 +4302,10 @@ static void ibmvfc_do_work(struct ibmvfc_host *vhost) | |||
4302 | spin_unlock_irqrestore(vhost->host->host_lock, flags); | 4302 | spin_unlock_irqrestore(vhost->host->host_lock, flags); |
4303 | rc = ibmvfc_reset_crq(vhost); | 4303 | rc = ibmvfc_reset_crq(vhost); |
4304 | spin_lock_irqsave(vhost->host->host_lock, flags); | 4304 | spin_lock_irqsave(vhost->host->host_lock, flags); |
4305 | if (rc || (rc = ibmvfc_send_crq_init(vhost)) || | 4305 | if (rc == H_CLOSED) |
4306 | (rc = vio_enable_interrupts(to_vio_dev(vhost->dev)))) { | 4306 | vio_enable_interrupts(to_vio_dev(vhost->dev)); |
4307 | else if (rc || (rc = ibmvfc_send_crq_init(vhost)) || | ||
4308 | (rc = vio_enable_interrupts(to_vio_dev(vhost->dev)))) { | ||
4307 | ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); | 4309 | ibmvfc_link_down(vhost, IBMVFC_LINK_DEAD); |
4308 | dev_err(vhost->dev, "Error after reset (rc=%d)\n", rc); | 4310 | dev_err(vhost->dev, "Error after reset (rc=%d)\n", rc); |
4309 | } | 4311 | } |