public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Muneendra <muneendra.kumar@broadcom.com>
To: linux-block@vger.kernel.org, linux-scsi@vger.kernel.org
Cc: pbonzini@redhat.com, emilne@redhat.com, mkumar@redhat.com,
	Gaurav Srivastava <gaurav.srivastava@broadcom.com>,
	James Smart <jsmart2021@gmail.com>,
	Muneendra <muneendra.kumar@broadcom.com>
Subject: [RFC 09/16] lpfc: vmid: cleanup vmid resources
Date: Tue,  4 Aug 2020 07:43:09 +0530	[thread overview]
Message-ID: <1596507196-27417-10-git-send-email-muneendra.kumar@broadcom.com> (raw)
In-Reply-To: <1596507196-27417-1-git-send-email-muneendra.kumar@broadcom.com>

From: Gaurav Srivastava <gaurav.srivastava@broadcom.com>

The patch cleans up the vmid resources and stops the timer.

Signed-off-by: Gaurav Srivastava  <gaurav.srivastava@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Muneendra <muneendra.kumar@broadcom.com>
---
 drivers/scsi/lpfc/lpfc_init.c |  4 ++++
 drivers/scsi/lpfc/lpfc_scsi.c | 21 +++++++++++++++++++++
 2 files changed, 25 insertions(+)

diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
index 2936a15f7441..419d7372e5c5 100644
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -2843,6 +2843,10 @@ lpfc_cleanup(struct lpfc_vport *vport)
 	if (phba->link_state > LPFC_LINK_DOWN)
 		lpfc_port_link_failure(vport);
 
+	/* cleanup vmid resources */
+	if (lpfc_is_vmid_enabled(phba))
+		lpfc_vmid_vport_cleanup(vport);
+
 	list_for_each_entry_safe(ndlp, next_ndlp, &vport->fc_nodes, nlp_listp) {
 		if (!NLP_CHK_NODE_ACT(ndlp)) {
 			ndlp = lpfc_enable_node(vport, ndlp,
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
index 5e802c8b22a9..7bc1fd69b715 100644
--- a/drivers/scsi/lpfc/lpfc_scsi.c
+++ b/drivers/scsi/lpfc/lpfc_scsi.c
@@ -4711,6 +4711,27 @@ lpfc_queuecommand(struct Scsi_Host *shost, struct scsi_cmnd *cmnd)
 	return 0;
 }
 
+/*
+ * lpfc_vmid_vport_cleanup - cleans up the resources associated with a vports
+ * @vport: The virtual port for which this call is being executed.
+ */
+void lpfc_vmid_vport_cleanup(struct lpfc_vport *vport)
+{
+	/* delete the timer */
+	if (vport->port_type == LPFC_PHYSICAL_PORT)
+		del_timer_sync(&vport->phba->inactive_vmid_poll);
+
+	/* free the resources */
+	kfree(vport->qfpa_res);
+	kfree(vport->vmid_priority.vmid_range);
+	kfree(vport->vmid);
+
+	/* reset variables */
+	vport->qfpa_res = NULL;
+	vport->vmid_priority.vmid_range = NULL;
+	vport->vmid = NULL;
+	vport->cur_vmid_cnt = 0;
+}
 
 /**
  * lpfc_abort_handler - scsi_host_template eh_abort_handler entry point
-- 
2.18.2


  parent reply	other threads:[~2020-08-04  9:07 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-04  2:13 [RFC 00/16] Application specific identification support Muneendra
2020-08-04  2:13 ` [RFC 01/16] blkcg:Introduce blkio.app_identifier knob to blkio controller Muneendra
2020-08-04 11:31   ` Daniel Wagner
2020-08-04 14:21     ` Tejun Heo
2020-08-05  0:39       ` James Smart
2020-08-05  3:59         ` Ming Lei
2020-08-05  6:33           ` Hannes Reinecke
2020-08-05 14:39             ` Tejun Heo
2020-08-05 17:14               ` Muneendra Kumar M
2020-08-05 17:31                 ` Tejun Heo
2020-08-06  2:22                 ` Ming Lei
2020-08-06 12:31                   ` Muneendra Kumar M
2020-08-06 13:41                   ` Paolo Bonzini
2020-08-04  2:13 ` [RFC 02/16] lpfc: vmid: Add the datastructure for supporting VMID in lpfc Muneendra
2020-08-04  2:13 ` [RFC 03/16] lpfc: vmid: API to check if VMID is enabled Muneendra
2020-08-04  2:13 ` [RFC 04/16] lpfc: vmid: Supplementary data structures for vmid Muneendra
2020-08-04  2:13 ` [RFC 05/16] lpfc: vmid: Forward declarations for APIs Muneendra
2020-08-04  2:13 ` [RFC 06/16] lpfc: vmid: Add support for vmid in mailbox command Muneendra
2020-08-04  2:13 ` [RFC 07/16] lpfc: vmid: VMID params initialization Muneendra
2020-08-04  2:13 ` [RFC 08/16] lpfc: vmid: vmid resource allocation Muneendra
2020-08-04  2:13 ` Muneendra [this message]
2020-08-04  2:13 ` [RFC 10/16] lpfc: vmid: Implements ELS commands for appid patch Muneendra
2020-08-04  2:13 ` [RFC 11/16] lpfc: vmid: Functions to manage vmids Muneendra
2020-08-04  2:13 ` [RFC 12/16] lpfc: vmid: Implements CT commands for appid Muneendra
2020-08-04  2:13 ` [RFC 13/16] lpfc: vmid: Appends the vmid in the wqe before sending request Muneendra
2020-08-04  2:13 ` [RFC 14/16] lpfc: vmid: Timeout implementation for vmid Muneendra
2020-08-04  2:13 ` [RFC 15/16] lpfc: vmid: Adding qfpa and vmid timeout check in worker thread Muneendra
2020-08-04  2:13 ` [RFC 16/16] lpfc: vmid: Introducing vmid in io path Muneendra
2020-08-05  7:16   ` Hannes Reinecke
2020-08-05 23:38     ` James Smart
2020-08-06 12:34       ` Muneendra Kumar M
2020-08-06 14:32         ` Paolo Bonzini
2020-08-06 16:26           ` Muneendra Kumar M
2020-08-06 18:41             ` Paolo Bonzini
2020-08-07 11:24               ` Muneendra Kumar M
2020-08-07 11:38                 ` Paolo Bonzini
2020-08-07 12:17                   ` Muneendra Kumar M
2020-08-10  9:03                     ` Paolo Bonzini
2020-08-10 12:13                       ` Muneendra Kumar M
2020-08-12  7:54                         ` Paolo Bonzini
2020-08-12 12:16                           ` Muneendra Kumar M
2020-08-07 12:32                   ` Muneendra Kumar M
2020-08-11 23:48             ` James Smart
2020-08-06 14:41         ` Tejun Heo
2020-08-06 14:46           ` Paolo Bonzini
2020-08-06 14:48             ` Tejun Heo
2020-08-06 14:54               ` Paolo Bonzini
2020-08-06 14:59                 ` Tejun Heo
2020-08-06 18:39                   ` Paolo Bonzini
2020-08-06 18:49                     ` Tejun Heo
2020-08-06 19:20                       ` Paolo Bonzini
2020-08-06 19:32                         ` Tejun Heo
2020-08-07 12:14                           ` Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1596507196-27417-10-git-send-email-muneendra.kumar@broadcom.com \
    --to=muneendra.kumar@broadcom.com \
    --cc=emilne@redhat.com \
    --cc=gaurav.srivastava@broadcom.com \
    --cc=jsmart2021@gmail.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=mkumar@redhat.com \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox