Patch "scsi: qedi: fix build error without DEBUG_FS" has been added to the 4.10-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
scsi: qedi: fix build error without DEBUG_FS
to the 4.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
scsi-qedi-fix-build-error-without-debug_fs.patch
and it can be found in the queue-4.10 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
bd571195c9535c0b074fc7cd1b541b93817ed647Mon Sep 17 00:00:00 2001
From: Arnd Bergmann <[email protected]>
Date: Thu, 2 Mar 2017 15:58:03 +0100
Subject: scsi: qedi: fix build error without DEBUG_FS
From: Arnd Bergmann <[email protected]>
commit bd571195c9535c0b074fc7cd1b541b93817ed647 upstream.
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.
--- 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(-)
drivers/scsi/qedi/qedi_debugfs.c +8 -8
@@ -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(structif (*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;
drivers/scsi/qedi/qedi_fw.c +2 -2
@@ -1460,9 +1460,9 @@ static void qedi_tmf_work(struct work_stget_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; }
drivers/scsi/qedi/qedi_gbl.h +7 -1
@@ -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;
drivers/scsi/qedi/qedi_iscsi.c +4 -4
@@ -832,7 +832,7 @@ qedi_ep_connect(struct Scsi_Host *shost,return ERR_PTR (ret); } -if (do_not_recover) { +if (qedi_do_not_recover) { ret = -ENOMEM ;return ERR_PTR (ret); }
@@ -956,7 +956,7 @@ static int qedi_ep_poll(struct iscsi_endstruct qedi_endpoint *qedi_ep;int ret =0 ; -if (do_not_recover) +if (qedi_do_not_recover)return 1 ; qedi_ep = ep->dd_data;
@@ -1024,7 +1024,7 @@ static void qedi_ep_disconnect(struct is }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);
@@ -1038,7 +1038,7 @@ static void qedi_ep_disconnect(struct is } } -if (do_not_recover) +if (qedi_do_not_recover) goto ep_exit_recover;switch (qedi_ep->state) {
Patches currently in stable-queue which might be from [email protected] are
queue-4.10/scsi-smartpqi-fix-time-handling.patch queue-4.10/leds-ktd2692-avoid-harmless-maybe-uninitialized-warning.patch queue-4.10/scsi-qedi-fix-build-error-without-debug_fs.patch queue-4.10/arm-pxa-ezx-fix-a910-camera-data.patch