Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f40682e authored by Arun Easi's avatar Arun Easi Committed by James Bottomley
Browse files

[SCSI] qla2xxx: Fix vport delete hang when logins are outstanding.



Timer is required to flush out entries that may be present in work queues.

Cc: stable@kernel.org
Signed-off-by: default avatarArun Easi <arun.easi@qlogic.com>
Signed-off-by: default avatarMadhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: default avatarJames Bottomley <jbottomley@parallels.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 7630abd0
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -1877,14 +1877,15 @@ qla24xx_vport_delete(struct fc_vport *fc_vport)

	scsi_remove_host(vha->host);

	/* Allow timer to run to drain queued items, when removing vp */
	qla24xx_deallocate_vp_id(vha);

	if (vha->timer_active) {
		qla2x00_vp_stop_timer(vha);
		DEBUG15(printk(KERN_INFO "scsi(%ld): timer for the vport[%d]"
		" = %p has stopped\n", vha->host_no, vha->vp_idx, vha));
	}

	qla24xx_deallocate_vp_id(vha);

	/* No pending activities shall be there on the vha now */
	DEBUG(msleep(random32()%10));  /* Just to see if something falls on
					* the net we have placed below */