All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rangankar, Manish" <Manish.Rangankar@cavium.com>
To: Arnd Bergmann <arnd@arndb.de>,
	Dept-Eng QLogic Storage Upstream
	<QLogic-Storage-Upstream@cavium.com>,
	"James E.J. Bottomley" <jejb@linux.vnet.ibm.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>
Cc: Johannes Thumshirn <jthumshirn@suse.de>,
	Adheer Chandravanshi <adheer.chandravanshi@qlogic.com>,
	"Dupuis, Chad" <Chad.Dupuis@cavium.com>,
	"Easi, Arun" <Arun.Easi@cavium.com>,
	"Kashyap, Saurav" <Saurav.Kashyap@cavium.com>,
	Hannes Reinecke <hare@suse.de>,
	Wei Yongjun <weiyongjun1@huawei.com>,
	"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] [v2] scsi: qedi: fix build error without DEBUG_FS
Date: Fri, 3 Mar 2017 07:17:51 +0000	[thread overview]
Message-ID: <D4DF163F.37B89%manish.rangankar@cavium.com> (raw)
In-Reply-To: <20170302145845.1096307-1-arnd@arndb.de>


On 02/03/17 8:28 PM, "Arnd Bergmann" <arnd@arndb.de> wrote:

>Without CONFIG_DEBUG_FS, we run into a link error:
>
>drivers/scsi/qedi/qedi_iscsi.o: In function `qedi_ep_poll':
>qedi_iscsi.c:(.text.qedi_ep_poll+0x134): undefined reference to
>`do_not_recover'
>drivers/scsi/qedi/qedi_iscsi.o: In function `qedi_ep_disconnect':
>qedi_iscsi.c:(.text.qedi_ep_disconnect+0x36c): undefined reference to
>`do_not_recover'
>drivers/scsi/qedi/qedi_iscsi.o: In function `qedi_ep_connect':
>qedi_iscsi.c:(.text.qedi_ep_connect+0x350): undefined reference to
>`do_not_recover'
>drivers/scsi/qedi/qedi_fw.o: In function `qedi_tmf_work':
>qedi_fw.c:(.text.qedi_tmf_work+0x3b4): undefined reference to
>`do_not_recover'
>
>This defines the symbol as a constant in this case, as there is no way to
>set it to anything other than zero without DEBUG_FS. In addition, I'm
>renaming
>it to qedi_do_not_recover in order to put it into a driver specific
>namespace,
>as "do_not_recover" is a really bad name for a kernel-wide global
>identifier
>when it is used only in one driver.
>
>Fixes: ace7f46ba5fd ("scsi: qedi: Add QLogic FastLinQ offload iSCSI
>driver framework.")
>Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
>Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>---
>v2: don't rename references to do_not_recover in string literals
>---
> drivers/scsi/qedi/qedi_debugfs.c | 16 ++++++++--------
> drivers/scsi/qedi/qedi_fw.c      |  4 ++--
> drivers/scsi/qedi/qedi_gbl.h     |  8 +++++++-
> drivers/scsi/qedi/qedi_iscsi.c   |  8 ++++----
> 4 files changed, 21 insertions(+), 15 deletions(-)
>
>diff --git a/drivers/scsi/qedi/qedi_debugfs.c
>b/drivers/scsi/qedi/qedi_debugfs.c
>index 955936274241..59417199bf36 100644
>--- a/drivers/scsi/qedi/qedi_debugfs.c
>+++ b/drivers/scsi/qedi/qedi_debugfs.c
>@@ -14,7 +14,7 @@
> #include <linux/debugfs.h>
> #include <linux/module.h>
> 
>-int do_not_recover;
>+int qedi_do_not_recover;
> static struct dentry *qedi_dbg_root;
> 
> void
>@@ -74,22 +74,22 @@ qedi_dbg_exit(void)
> static ssize_t
> qedi_dbg_do_not_recover_enable(struct qedi_dbg_ctx *qedi_dbg)
> {
>-	if (!do_not_recover)
>-		do_not_recover = 1;
>+	if (!qedi_do_not_recover)
>+		qedi_do_not_recover = 1;
> 
> 	QEDI_INFO(qedi_dbg, QEDI_LOG_DEBUGFS, "do_not_recover=%d\n",
>-		  do_not_recover);
>+		  qedi_do_not_recover);
> 	return 0;
> }
> 
> static ssize_t
> qedi_dbg_do_not_recover_disable(struct qedi_dbg_ctx *qedi_dbg)
> {
>-	if (do_not_recover)
>-		do_not_recover = 0;
>+	if (qedi_do_not_recover)
>+		qedi_do_not_recover = 0;
> 
> 	QEDI_INFO(qedi_dbg, QEDI_LOG_DEBUGFS, "do_not_recover=%d\n",
>-		  do_not_recover);
>+		  qedi_do_not_recover);
> 	return 0;
> }
> 
>@@ -141,7 +141,7 @@ qedi_dbg_do_not_recover_cmd_read(struct file *filp,
>char __user *buffer,
> 	if (*ppos)
> 		return 0;
> 
>-	cnt = sprintf(buffer, "do_not_recover=%d\n", do_not_recover);
>+	cnt = sprintf(buffer, "do_not_recover=%d\n", qedi_do_not_recover);
> 	cnt = min_t(int, count, cnt - *ppos);
> 	*ppos += cnt;
> 	return cnt;
>diff --git a/drivers/scsi/qedi/qedi_fw.c b/drivers/scsi/qedi/qedi_fw.c
>index c9f0ef4e11b3..2bce3efc66a4 100644
>--- a/drivers/scsi/qedi/qedi_fw.c
>+++ b/drivers/scsi/qedi/qedi_fw.c
>@@ -1461,9 +1461,9 @@ static void qedi_tmf_work(struct work_struct *work)
> 		  get_itt(tmf_hdr->rtt), get_itt(ctask->itt), cmd->task_id,
> 		  qedi_conn->iscsi_conn_id);
> 
>-	if (do_not_recover) {
>+	if (qedi_do_not_recover) {
> 		QEDI_ERR(&qedi->dbg_ctx, "DONT SEND CLEANUP/ABORT %d\n",
>-			 do_not_recover);
>+			 qedi_do_not_recover);
> 		goto abort_ret;
> 	}
> 
>diff --git a/drivers/scsi/qedi/qedi_gbl.h b/drivers/scsi/qedi/qedi_gbl.h
>index 8e488de88ece..63d793f46064 100644
>--- a/drivers/scsi/qedi/qedi_gbl.h
>+++ b/drivers/scsi/qedi/qedi_gbl.h
>@@ -12,8 +12,14 @@
> 
> #include "qedi_iscsi.h"
> 
>+#ifdef CONFIG_DEBUG_FS
>+extern int qedi_do_not_recover;
>+#else
>+#define qedi_do_not_recover (0)
>+#endif
>+
> extern uint qedi_io_tracing;
>-extern int do_not_recover;
>+
> extern struct scsi_host_template qedi_host_template;
> extern struct iscsi_transport qedi_iscsi_transport;
> extern const struct qed_iscsi_ops *qedi_ops;
>diff --git a/drivers/scsi/qedi/qedi_iscsi.c
>b/drivers/scsi/qedi/qedi_iscsi.c
>index b9f79d36142d..4cc474364c50 100644
>--- a/drivers/scsi/qedi/qedi_iscsi.c
>+++ b/drivers/scsi/qedi/qedi_iscsi.c
>@@ -833,7 +833,7 @@ qedi_ep_connect(struct Scsi_Host *shost, struct
>sockaddr *dst_addr,
> 		return ERR_PTR(ret);
> 	}
> 
>-	if (do_not_recover) {
>+	if (qedi_do_not_recover) {
> 		ret = -ENOMEM;
> 		return ERR_PTR(ret);
> 	}
>@@ -957,7 +957,7 @@ static int qedi_ep_poll(struct iscsi_endpoint *ep,
>int timeout_ms)
> 	struct qedi_endpoint *qedi_ep;
> 	int ret = 0;
> 
>-	if (do_not_recover)
>+	if (qedi_do_not_recover)
> 		return 1;
> 
> 	qedi_ep = ep->dd_data;
>@@ -1025,7 +1025,7 @@ static void qedi_ep_disconnect(struct
>iscsi_endpoint *ep)
> 		}
> 
> 		if (test_bit(QEDI_IN_RECOVERY, &qedi->flags)) {
>-			if (do_not_recover) {
>+			if (qedi_do_not_recover) {
> 				QEDI_INFO(&qedi->dbg_ctx, QEDI_LOG_INFO,
> 					  "Do not recover cid=0x%x\n",
> 					  qedi_ep->iscsi_cid);
>@@ -1039,7 +1039,7 @@ static void qedi_ep_disconnect(struct
>iscsi_endpoint *ep)
> 		}
> 	}
> 
>-	if (do_not_recover)
>+	if (qedi_do_not_recover)
> 		goto ep_exit_recover;
> 
> 	switch (qedi_ep->state) {
>-- 
>2.9.0

Thanks Arnd.

Acked-by: Manish Rangankar <Manish.Rangankar@cavium.com>

  reply	other threads:[~2017-03-03  8:57 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-02 14:58 [PATCH] [v2] scsi: qedi: fix build error without DEBUG_FS Arnd Bergmann
2017-03-03  7:17 ` Rangankar, Manish [this message]
2017-03-07  3:23 ` Martin K. Petersen

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=D4DF163F.37B89%manish.rangankar@cavium.com \
    --to=manish.rangankar@cavium.com \
    --cc=Arun.Easi@cavium.com \
    --cc=Chad.Dupuis@cavium.com \
    --cc=QLogic-Storage-Upstream@cavium.com \
    --cc=Saurav.Kashyap@cavium.com \
    --cc=adheer.chandravanshi@qlogic.com \
    --cc=arnd@arndb.de \
    --cc=hare@suse.de \
    --cc=jejb@linux.vnet.ibm.com \
    --cc=jthumshirn@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=weiyongjun1@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.