Commit f4102766 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull SCSI fixes from James Bottomley:
 "Three driver fixes (and one version number update): a suspend hang in
  ufs, a qla hard lock on module removal and a qedi panic during
  discovery"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
  scsi: qla2xxx: Fix hardlockup in abort command during driver remove
  scsi: ufs: Avoid runtime suspend possibly being blocked forever
  scsi: qedi: update driver version to 8.37.0.20
  scsi: qedi: Check targetname while finding boot target information
parents a8282bf0 5589b08e
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -987,6 +987,9 @@ static int qedi_find_boot_info(struct qedi_ctx *qedi,
		if (!iscsi_is_session_online(cls_sess))
			continue;

		if (!sess->targetname)
			continue;

		if (pri_ctrl_flags) {
			if (!strcmp(pri_tgt->iscsi_name, sess->targetname) &&
			    !strcmp(pri_tgt->ip_addr, ep_ip_addr)) {
+3 −3
Original line number Diff line number Diff line
@@ -4,8 +4,8 @@
 * Copyright (c) 2016 Cavium Inc.
 */

#define QEDI_MODULE_VERSION	"8.33.0.21"
#define QEDI_MODULE_VERSION	"8.37.0.20"
#define QEDI_DRIVER_MAJOR_VER		8
#define QEDI_DRIVER_MINOR_VER		33
#define QEDI_DRIVER_MINOR_VER		37
#define QEDI_DRIVER_REV_VER		0
#define QEDI_DRIVER_ENG_VER		21
#define QEDI_DRIVER_ENG_VER		20
+1 −1
Original line number Diff line number Diff line
@@ -1731,8 +1731,8 @@ static void qla2x00_abort_srb(struct qla_qpair *qp, srb_t *sp, const int res,
	     !test_bit(ABORT_ISP_ACTIVE, &vha->dpc_flags) &&
	     !qla2x00_isp_reg_stat(ha))) {
		sp->comp = ∁
		rval = ha->isp_ops->abort_command(sp);
		spin_unlock_irqrestore(qp->qp_lock_ptr, *flags);
		rval = ha->isp_ops->abort_command(sp);

		switch (rval) {
		case QLA_SUCCESS:
+4 −7
Original line number Diff line number Diff line
@@ -430,24 +430,21 @@ int ufshcd_pltfrm_init(struct platform_device *pdev,
		goto dealloc_host;
	}

	pm_runtime_set_active(&pdev->dev);
	pm_runtime_enable(&pdev->dev);

	ufshcd_init_lanes_per_dir(hba);

	err = ufshcd_init(hba, mmio_base, irq);
	if (err) {
		dev_err(dev, "Initialization failed\n");
		goto out_disable_rpm;
		goto dealloc_host;
	}

	platform_set_drvdata(pdev, hba);

	pm_runtime_set_active(&pdev->dev);
	pm_runtime_enable(&pdev->dev);

	return 0;

out_disable_rpm:
	pm_runtime_disable(&pdev->dev);
	pm_runtime_set_suspended(&pdev->dev);
dealloc_host:
	ufshcd_dealloc_host(hba);
out: