History

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley: "Four minor fixes, all in drivers (qla2xxx, ibmvfc, ibmvscsi)" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: ibmvscsi: Fix WARN_ON during event pool release scsi: ibmvfc: Don't send implicit logouts prior to NPIV login scsi: qla2xxx: Delete all sessions before unregister local nvme port scsi: qla2xxx: Fix hang when issuing nvme disconnect-all in NPIV

Linus Torvalds committed 6 years ago

Commit d5eeab82 parents eb24fdd b3652214 files · +7 −6Browse files

Unified · Split

4 files
  1. drivers/scsi/ibmvscsi/ibmvfc.c +5 −0
  2. drivers/scsi/ibmvscsi/ibmvscsi.c +0 −4
  3. drivers/scsi/qla2xxx/qla_attr.c +1 −1
  4. drivers/scsi/qla2xxx/qla_mbx.c +1 −1
drivers/scsi/ibmvscsi/ibmvfc.c+5−0
@@ -3640,6 +3640,11 @@ static void ibmvfc_tgt_implicit_logout_and_del(struct ibmvfc_target *tgt) · 3639 unmodified lines
3640 struct ibmvfc_host *vhost = tgt->vhost;3640 struct ibmvfc_host *vhost = tgt->vhost;
3641 struct ibmvfc_event *evt;3641 struct ibmvfc_event *evt;
3642 3642
3643 if (!vhost->logged_in) {
3644 ibmvfc_set_tgt_action(tgt, IBMVFC_TGT_ACTION_DEL_RPORT);
3645 return;
3646 }
3647
3643 if (vhost->discovery_threads >= disc_threads)3648 if (vhost->discovery_threads >= disc_threads)
3644 return;3649 return;
3645 3650
drivers/scsi/ibmvscsi/ibmvscsi.c+0−4
@@ -2320,16 +2320,12 @@ static int ibmvscsi_probe(struct vio_dev *vdev, const struct vio_device_id *id) · 2319 unmodified lines
2320static int ibmvscsi_remove(struct vio_dev *vdev)2320static int ibmvscsi_remove(struct vio_dev *vdev)
2321{2321{
2322 struct ibmvscsi_host_data *hostdata = dev_get_drvdata(&vdev->dev);2322 struct ibmvscsi_host_data *hostdata = dev_get_drvdata(&vdev->dev);
2323 unsigned long flags;
2324 2323
2325 srp_remove_host(hostdata->host);2324 srp_remove_host(hostdata->host);
2326 scsi_remove_host(hostdata->host);2325 scsi_remove_host(hostdata->host);
2327 2326
2328 purge_requests(hostdata, DID_ERROR);2327 purge_requests(hostdata, DID_ERROR);
2329
2330 spin_lock_irqsave(hostdata->host->host_lock, flags);
2331 release_event_pool(&hostdata->pool, hostdata);2328 release_event_pool(&hostdata->pool, hostdata);
2332 spin_unlock_irqrestore(hostdata->host->host_lock, flags);
2333 2329
2334 ibmvscsi_release_crq_queue(&hostdata->queue, hostdata,2330 ibmvscsi_release_crq_queue(&hostdata->queue, hostdata,
2335 max_events);2331 max_events);
drivers/scsi/qla2xxx/qla_attr.c+1−1
@@ -3031,11 +3031,11 @@ qla24xx_vport_delete(struct fc_vport *fc_vport) · 3030 unmodified lines
3031 test_bit(FCPORT_UPDATE_NEEDED, &vha->dpc_flags))3031 test_bit(FCPORT_UPDATE_NEEDED, &vha->dpc_flags))
3032 msleep(1000);3032 msleep(1000);
3033 3033
3034 qla_nvme_delete(vha);
3035 3034
3036 qla24xx_disable_vp(vha);3035 qla24xx_disable_vp(vha);
3037 qla2x00_wait_for_sess_deletion(vha);3036 qla2x00_wait_for_sess_deletion(vha);
3038 3037
3038 qla_nvme_delete(vha);
3039 vha->flags.delete_progress = 1;3039 vha->flags.delete_progress = 1;
3040 3040
3041 qlt_remove_target(ha, vha);3041 qlt_remove_target(ha, vha);
drivers/scsi/qla2xxx/qla_mbx.c+1−1
@@ -3153,7 +3153,7 @@ qla24xx_abort_command(srb_t *sp) · 3152 unmodified lines
3153 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x108c,3153 ql_dbg(ql_dbg_mbx + ql_dbg_verbose, vha, 0x108c,
3154 "Entered %s.\n", __func__);3154 "Entered %s.\n", __func__);
3155 3155
3156 if (vha->flags.qpairs_available && sp->qpair)3156 if (sp->qpair)
3157 req = sp->qpair->req;3157 req = sp->qpair->req;
3158 else3158 else
3159 return QLA_FUNCTION_FAILED;3159 return QLA_FUNCTION_FAILED;