* [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3.
@ 2016-04-07 13:07 Chad Dupuis
  2016-04-07 13:07 ` [PATCH v2 1/5] bnx2fc: Add driver tunables Chad Dupuis
                   ` (5 more replies)
  0 siblings, 6 replies; 12+ messages in thread
From: Chad Dupuis @ 2016-04-07 13:07 UTC (permalink / raw)
  To: jejb, martin.petersen; +Cc: chad.dupuis, saurav.kashyap, linux-scsi
Hi James, Martin,
Please apply the patch series for the next merge window at your earliest
convenience.
V2 changes:
- Made netdev device name print pr_info instead of pr_err.
- Made TMF timeout settable via sysfs node instead of modparam.
Thanks,
Chad
Chad Dupuis (4):
  bnx2fc: Print when we send a fip keep alive.
  bnx2fc: Print netdev device name when FCoE is successfully
    initialized.
  bnx2fc: Check sc_cmd device and host pointer before returning the
    command to the mid-layer.
  bnx2fc: Update version number to 2.10.3.
Joe Carnuccio (1):
  bnx2fc: Add driver tunables.
 drivers/scsi/bnx2fc/bnx2fc.h      |   3 +-
 drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 100 +++++++++++++++++++++++++++++++++++++-
 drivers/scsi/bnx2fc/bnx2fc_io.c   |  14 +++++-
 3 files changed, 114 insertions(+), 3 deletions(-)
-- 
2.0.0.rc0.26.g779792a
^ permalink raw reply	[flat|nested] 12+ messages in thread
* [PATCH v2 1/5] bnx2fc: Add driver tunables.
  2016-04-07 13:07 [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Chad Dupuis
@ 2016-04-07 13:07 ` Chad Dupuis
  2016-04-07 13:57   ` Johannes Thumshirn
  2016-04-07 13:07 ` [PATCH v2 2/5] bnx2fc: Print when we send a fip keep alive Chad Dupuis
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Chad Dupuis @ 2016-04-07 13:07 UTC (permalink / raw)
  To: jejb, martin.petersen; +Cc: chad.dupuis, saurav.kashyap, linux-scsi
From: Joe Carnuccio <joe.carnuccio@qlogic.com>
Per customer request, add the following driver tunables:
o devloss_tmo
o max_luns
o queue_depth
o tm_timeout
tm_timeout is set per scsi_host in /sys/class/scsi_host/hostX/tm_timeout.
Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
---
 drivers/scsi/bnx2fc/bnx2fc.h      |  1 +
 drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 79 ++++++++++++++++++++++++++++++++++++++-
 drivers/scsi/bnx2fc/bnx2fc_io.c   |  2 +-
 3 files changed, 80 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/bnx2fc/bnx2fc.h b/drivers/scsi/bnx2fc/bnx2fc.h
index 499e369..106788f 100644
--- a/drivers/scsi/bnx2fc/bnx2fc.h
+++ b/drivers/scsi/bnx2fc/bnx2fc.h
@@ -261,6 +261,7 @@ struct bnx2fc_interface {
 	u8 vlan_enabled;
 	int vlan_id;
 	bool enabled;
+	u8 tm_timeout;
 };
 
 #define bnx2fc_from_ctlr(x)			\
diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
index d7029ea..b0305b0 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
@@ -107,6 +107,21 @@ MODULE_PARM_DESC(debug_logging,
 		"\t\t0x10 - fcoe L2 fame related logs.\n"
 		"\t\t0xff - LOG all messages.");
 
+uint bnx2fc_devloss_tmo;
+module_param_named(devloss_tmo, bnx2fc_devloss_tmo, uint, S_IRUGO);
+MODULE_PARM_DESC(devloss_tmo, " Change devloss_tmo for the remote ports "
+	"attached via bnx2fc.");
+
+uint bnx2fc_max_luns = BNX2FC_MAX_LUN;
+module_param_named(max_luns, bnx2fc_max_luns, uint, S_IRUGO);
+MODULE_PARM_DESC(max_luns, " Change the default max_lun per SCSI host. Default "
+	"0xffff.");
+
+uint bnx2fc_queue_depth;
+module_param_named(queue_depth, bnx2fc_queue_depth, uint, S_IRUGO);
+MODULE_PARM_DESC(queue_depth, " Change the default queue depth of SCSI devices "
+	"attached via bnx2fc.");
+
 static int bnx2fc_cpu_callback(struct notifier_block *nfb,
 			     unsigned long action, void *hcpu);
 /* notification function for CPU hotplug events */
@@ -692,7 +707,7 @@ static int bnx2fc_shost_config(struct fc_lport *lport, struct device *dev)
 	int rc = 0;
 
 	shost->max_cmd_len = BNX2FC_MAX_CMD_LEN;
-	shost->max_lun = BNX2FC_MAX_LUN;
+	shost->max_lun = bnx2fc_max_luns;
 	shost->max_id = BNX2FC_MAX_FCP_TGT;
 	shost->max_channel = 0;
 	if (lport->vport)
@@ -1102,6 +1117,9 @@ static int bnx2fc_vport_create(struct fc_vport *vport, bool disabled)
 		return -EIO;
 	}
 
+	if (bnx2fc_devloss_tmo)
+		fc_host_dev_loss_tmo(vn_port->host) = bnx2fc_devloss_tmo;
+
 	if (disabled) {
 		fc_vport_set_state(vport, FC_VPORT_DISABLED);
 	} else {
@@ -1495,6 +1513,9 @@ static struct fc_lport *bnx2fc_if_create(struct bnx2fc_interface *interface,
 	}
 	fc_host_port_type(lport->host) = FC_PORTTYPE_UNKNOWN;
 
+	if (bnx2fc_devloss_tmo)
+		fc_host_dev_loss_tmo(shost) = bnx2fc_devloss_tmo;
+
 	/* Allocate exchange manager */
 	if (!npiv)
 		rc = bnx2fc_em_config(lport, hba);
@@ -2293,6 +2314,7 @@ static int _bnx2fc_create(struct net_device *netdev,
 	ctlr = bnx2fc_to_ctlr(interface);
 	cdev = fcoe_ctlr_to_ctlr_dev(ctlr);
 	interface->vlan_id = vlan_id;
+	interface->tm_timeout = BNX2FC_TM_TIMEOUT;
 
 	interface->timer_work_queue =
 			create_singlethread_workqueue("bnx2fc_timer_wq");
@@ -2612,6 +2634,15 @@ static int bnx2fc_cpu_callback(struct notifier_block *nfb,
 	return NOTIFY_OK;
 }
 
+static int bnx2fc_slave_configure(struct scsi_device *sdev)
+{
+	if (!bnx2fc_queue_depth)
+		return 0;
+
+	scsi_change_queue_depth(sdev, bnx2fc_queue_depth);
+	return 0;
+}
+
 /**
  * bnx2fc_mod_init - module init entry point
  *
@@ -2858,6 +2889,50 @@ static struct fc_function_template bnx2fc_vport_xport_function = {
 	.bsg_request = fc_lport_bsg_request,
 };
 
+/*
+ * Additional scsi_host attributes.
+ */
+static ssize_t
+bnx2fc_tm_timeout_show(struct device *dev, struct device_attribute *attr,
+	char *buf)
+{
+	struct Scsi_Host *shost = class_to_shost(dev);
+	struct fc_lport *lport = shost_priv(shost);
+	struct fcoe_port *port = lport_priv(lport);
+	struct bnx2fc_interface *interface = port->priv;
+
+	sprintf(buf, "%u\n", interface->tm_timeout);
+	return strlen(buf);
+}
+
+static ssize_t
+bnx2fc_tm_timeout_store(struct device *dev,
+	struct device_attribute *attr, const char *buf, size_t count)
+{
+	struct Scsi_Host *shost = class_to_shost(dev);
+	struct fc_lport *lport = shost_priv(shost);
+	struct fcoe_port *port = lport_priv(lport);
+	struct bnx2fc_interface *interface = port->priv;
+	int rval, val;
+
+	rval = kstrtouint(buf, 10, &val);
+	if (rval)
+		return rval;
+	if (val > 255)
+		return -ERANGE;
+
+	interface->tm_timeout = (u8)val;
+	return strlen(buf);
+}
+
+static DEVICE_ATTR(tm_timeout, S_IRUGO|S_IWUSR, bnx2fc_tm_timeout_show,
+	bnx2fc_tm_timeout_store);
+
+static struct device_attribute *bnx2fc_host_attrs[] = {
+	&dev_attr_tm_timeout,
+	NULL,
+};
+
 /**
  * scsi_host_template structure used while registering with SCSI-ml
  */
@@ -2877,6 +2952,8 @@ static struct scsi_host_template bnx2fc_shost_template = {
 	.sg_tablesize		= BNX2FC_MAX_BDS_PER_CMD,
 	.max_sectors		= 1024,
 	.track_queue_depth	= 1,
+	.slave_configure	= bnx2fc_slave_configure,
+	.shost_attrs		= bnx2fc_host_attrs,
 };
 
 static struct libfc_function_template bnx2fc_libfc_fcn_templ = {
diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c
index 0002caf..ac8fb2a 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_io.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
@@ -770,7 +770,7 @@ retry_tmf:
 	spin_unlock_bh(&tgt->tgt_lock);
 
 	rc = wait_for_completion_timeout(&io_req->tm_done,
-					 BNX2FC_TM_TIMEOUT * HZ);
+					 interface->tm_timeout * HZ);
 	spin_lock_bh(&tgt->tgt_lock);
 
 	io_req->wait_for_comp = 0;
-- 
2.0.0.rc0.26.g779792a
^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [PATCH v2 2/5] bnx2fc: Print when we send a fip keep alive.
  2016-04-07 13:07 [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Chad Dupuis
  2016-04-07 13:07 ` [PATCH v2 1/5] bnx2fc: Add driver tunables Chad Dupuis
@ 2016-04-07 13:07 ` Chad Dupuis
  2016-04-07 13:58   ` Johannes Thumshirn
  2016-04-07 13:07 ` [PATCH v2 3/5] bnx2fc: Print netdev device name when FCoE is successfully initialized Chad Dupuis
                   ` (3 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Chad Dupuis @ 2016-04-07 13:07 UTC (permalink / raw)
  To: jejb, martin.petersen; +Cc: chad.dupuis, saurav.kashyap, linux-scsi
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
---
 drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
index b0305b0..365101a 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
@@ -122,6 +122,11 @@ module_param_named(queue_depth, bnx2fc_queue_depth, uint, S_IRUGO);
 MODULE_PARM_DESC(queue_depth, " Change the default queue depth of SCSI devices "
 	"attached via bnx2fc.");
 
+uint bnx2fc_log_fka;
+module_param_named(log_fka, bnx2fc_log_fka, uint, S_IRUGO|S_IWUSR);
+MODULE_PARM_DESC(log_fka, " Print message to kernel log when fcoe is "
+	"initiating a FIP keep alive when debug logging is enabled.");
+
 static int bnx2fc_cpu_callback(struct notifier_block *nfb,
 			     unsigned long action, void *hcpu);
 /* notification function for CPU hotplug events */
@@ -1076,6 +1081,20 @@ static u8 *bnx2fc_get_src_mac(struct fc_lport *lport)
  */
 static void bnx2fc_fip_send(struct fcoe_ctlr *fip, struct sk_buff *skb)
 {
+	struct fip_header *fiph;
+	struct ethhdr *eth_hdr;
+	u16 op;
+	u8 sub;
+
+	fiph = (struct fip_header *) ((void *)skb->data + 2 * ETH_ALEN + 2);
+	eth_hdr = (struct ethhdr *)skb_mac_header(skb);
+	op = ntohs(fiph->fip_op);
+	sub = fiph->fip_subcode;
+
+	if (op == FIP_OP_CTRL && sub == FIP_SC_SOL && bnx2fc_log_fka)
+		BNX2FC_MISC_DBG("Sending FKA from %pM to %pM.\n",
+		    eth_hdr->h_source, eth_hdr->h_dest);
+
 	skb->dev = bnx2fc_from_ctlr(fip)->netdev;
 	dev_queue_xmit(skb);
 }
-- 
2.0.0.rc0.26.g779792a
^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [PATCH v2 3/5] bnx2fc: Print netdev device name when FCoE is successfully initialized.
  2016-04-07 13:07 [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Chad Dupuis
  2016-04-07 13:07 ` [PATCH v2 1/5] bnx2fc: Add driver tunables Chad Dupuis
  2016-04-07 13:07 ` [PATCH v2 2/5] bnx2fc: Print when we send a fip keep alive Chad Dupuis
@ 2016-04-07 13:07 ` Chad Dupuis
  2016-04-07 13:59   ` Johannes Thumshirn
  2016-04-07 13:07 ` [PATCH v2 4/5] bnx2fc: Check sc_cmd device and host pointer before returning the command to the mid-layer Chad Dupuis
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 12+ messages in thread
From: Chad Dupuis @ 2016-04-07 13:07 UTC (permalink / raw)
  To: jejb, martin.petersen; +Cc: chad.dupuis, saurav.kashyap, linux-scsi
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
---
 drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
index 365101a..a188199 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_fcoe.c
@@ -2039,6 +2039,8 @@ static void bnx2fc_ulp_init(struct cnic_dev *dev)
 		return;
 	}
 
+	pr_info(PFX "FCoE initialized for %s.\n", dev->netdev->name);
+
 	/* Add HBA to the adapter list */
 	mutex_lock(&bnx2fc_dev_lock);
 	list_add_tail(&hba->list, &adapter_list);
-- 
2.0.0.rc0.26.g779792a
^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [PATCH v2 4/5] bnx2fc: Check sc_cmd device and host pointer before returning the command to the mid-layer.
  2016-04-07 13:07 [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Chad Dupuis
                   ` (2 preceding siblings ...)
  2016-04-07 13:07 ` [PATCH v2 3/5] bnx2fc: Print netdev device name when FCoE is successfully initialized Chad Dupuis
@ 2016-04-07 13:07 ` Chad Dupuis
  2016-04-07 14:00   ` Johannes Thumshirn
  2016-04-07 13:08 ` [PATCH v2 5/5] bnx2fc: Update version number to 2.10.3 Chad Dupuis
  2016-04-11 21:39 ` [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Martin K. Petersen
  5 siblings, 1 reply; 12+ messages in thread
From: Chad Dupuis @ 2016-04-07 13:07 UTC (permalink / raw)
  To: jejb, martin.petersen; +Cc: chad.dupuis, saurav.kashyap, linux-scsi
When we are in connection recovery and the internal command timer on a request
pops, either the scsi_cmnd->device or scsi_cmnd->device->host back pointers may
be NULL as the device that the command that the request was submitted on may
have been subsequently reaped due to the connection recovery. This can cause
one or both of the pointers above to be NULL and cause a system crash if we try
to return the command to the midlayer.
Instead, double check the pointers before the return to the midlayer so as to
prevent the crash and let the upper layers finish the session recovery and
rediscover the device.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
---
 drivers/scsi/bnx2fc/bnx2fc_io.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)
diff --git a/drivers/scsi/bnx2fc/bnx2fc_io.c b/drivers/scsi/bnx2fc/bnx2fc_io.c
index ac8fb2a..25a1e19 100644
--- a/drivers/scsi/bnx2fc/bnx2fc_io.c
+++ b/drivers/scsi/bnx2fc/bnx2fc_io.c
@@ -179,12 +179,24 @@ static void bnx2fc_scsi_done(struct bnx2fc_cmd *io_req, int err_code)
 
 	bnx2fc_unmap_sg_list(io_req);
 	io_req->sc_cmd = NULL;
+
+	/* Sanity checks before returning command to mid-layer */
 	if (!sc_cmd) {
 		printk(KERN_ERR PFX "scsi_done - sc_cmd NULL. "
 				    "IO(0x%x) already cleaned up\n",
 		       io_req->xid);
 		return;
 	}
+	if (!sc_cmd->device) {
+		pr_err(PFX "0x%x: sc_cmd->device is NULL.\n", io_req->xid);
+		return;
+	}
+	if (!sc_cmd->device->host) {
+		pr_err(PFX "0x%x: sc_cmd->device->host is NULL.\n",
+		    io_req->xid);
+		return;
+	}
+
 	sc_cmd->result = err_code << 16;
 
 	BNX2FC_IO_DBG(io_req, "sc=%p, result=0x%x, retries=%d, allowed=%d\n",
-- 
2.0.0.rc0.26.g779792a
^ permalink raw reply related	[flat|nested] 12+ messages in thread
* [PATCH v2 5/5] bnx2fc: Update version number to 2.10.3.
  2016-04-07 13:07 [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Chad Dupuis
                   ` (3 preceding siblings ...)
  2016-04-07 13:07 ` [PATCH v2 4/5] bnx2fc: Check sc_cmd device and host pointer before returning the command to the mid-layer Chad Dupuis
@ 2016-04-07 13:08 ` Chad Dupuis
  2016-04-07 14:00   ` Johannes Thumshirn
  2016-04-11 21:39 ` [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Martin K. Petersen
  5 siblings, 1 reply; 12+ messages in thread
From: Chad Dupuis @ 2016-04-07 13:08 UTC (permalink / raw)
  To: jejb, martin.petersen; +Cc: chad.dupuis, saurav.kashyap, linux-scsi
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
---
 drivers/scsi/bnx2fc/bnx2fc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/bnx2fc/bnx2fc.h b/drivers/scsi/bnx2fc/bnx2fc.h
index 106788f..fdd4eb4 100644
--- a/drivers/scsi/bnx2fc/bnx2fc.h
+++ b/drivers/scsi/bnx2fc/bnx2fc.h
@@ -65,7 +65,7 @@
 #include "bnx2fc_constants.h"
 
 #define BNX2FC_NAME		"bnx2fc"
-#define BNX2FC_VERSION		"2.9.6"
+#define BNX2FC_VERSION		"2.10.3"
 
 #define PFX			"bnx2fc: "
 
-- 
2.0.0.rc0.26.g779792a
^ permalink raw reply related	[flat|nested] 12+ messages in thread
* Re: [PATCH v2 1/5] bnx2fc: Add driver tunables.
  2016-04-07 13:07 ` [PATCH v2 1/5] bnx2fc: Add driver tunables Chad Dupuis
@ 2016-04-07 13:57   ` Johannes Thumshirn
  0 siblings, 0 replies; 12+ messages in thread
From: Johannes Thumshirn @ 2016-04-07 13:57 UTC (permalink / raw)
  To: Chad Dupuis; +Cc: jejb, martin.petersen, saurav.kashyap, linux-scsi
On Donnerstag, 7. April 2016 09:07:56 CEST Chad Dupuis wrote:
> From: Joe Carnuccio <joe.carnuccio@qlogic.com>
> 
> Per customer request, add the following driver tunables:
> 
> o devloss_tmo
> o max_luns
> o queue_depth
> o tm_timeout
> 
> tm_timeout is set per scsi_host in /sys/class/scsi_host/hostX/tm_timeout.
> 
> Signed-off-by: Joe Carnuccio <joe.carnuccio@qlogic.com>
> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
> ---
Looks good to me,
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [PATCH v2 2/5] bnx2fc: Print when we send a fip keep alive.
  2016-04-07 13:07 ` [PATCH v2 2/5] bnx2fc: Print when we send a fip keep alive Chad Dupuis
@ 2016-04-07 13:58   ` Johannes Thumshirn
  0 siblings, 0 replies; 12+ messages in thread
From: Johannes Thumshirn @ 2016-04-07 13:58 UTC (permalink / raw)
  To: Chad Dupuis; +Cc: jejb, martin.petersen, saurav.kashyap, linux-scsi
On Donnerstag, 7. April 2016 09:07:57 CEST Chad Dupuis wrote:
> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
> ---
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [PATCH v2 3/5] bnx2fc: Print netdev device name when FCoE is successfully initialized.
  2016-04-07 13:07 ` [PATCH v2 3/5] bnx2fc: Print netdev device name when FCoE is successfully initialized Chad Dupuis
@ 2016-04-07 13:59   ` Johannes Thumshirn
  0 siblings, 0 replies; 12+ messages in thread
From: Johannes Thumshirn @ 2016-04-07 13:59 UTC (permalink / raw)
  To: Chad Dupuis; +Cc: jejb, martin.petersen, saurav.kashyap, linux-scsi
On Donnerstag, 7. April 2016 09:07:58 CEST Chad Dupuis wrote:
> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
> ---
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [PATCH v2 4/5] bnx2fc: Check sc_cmd device and host pointer before returning the command to the mid-layer.
  2016-04-07 13:07 ` [PATCH v2 4/5] bnx2fc: Check sc_cmd device and host pointer before returning the command to the mid-layer Chad Dupuis
@ 2016-04-07 14:00   ` Johannes Thumshirn
  0 siblings, 0 replies; 12+ messages in thread
From: Johannes Thumshirn @ 2016-04-07 14:00 UTC (permalink / raw)
  To: Chad Dupuis; +Cc: jejb, martin.petersen, saurav.kashyap, linux-scsi
On Donnerstag, 7. April 2016 09:07:59 CEST Chad Dupuis wrote:
> When we are in connection recovery and the internal command timer on a
> request pops, either the scsi_cmnd->device or scsi_cmnd->device->host back
> pointers may be NULL as the device that the command that the request was
> submitted on may have been subsequently reaped due to the connection
> recovery. This can cause one or both of the pointers above to be NULL and
> cause a system crash if we try to return the command to the midlayer.
> 
> Instead, double check the pointers before the return to the midlayer so as
> to prevent the crash and let the upper layers finish the session recovery
> and rediscover the device.
> 
> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
> ---
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [PATCH v2 5/5] bnx2fc: Update version number to 2.10.3.
  2016-04-07 13:08 ` [PATCH v2 5/5] bnx2fc: Update version number to 2.10.3 Chad Dupuis
@ 2016-04-07 14:00   ` Johannes Thumshirn
  0 siblings, 0 replies; 12+ messages in thread
From: Johannes Thumshirn @ 2016-04-07 14:00 UTC (permalink / raw)
  To: Chad Dupuis; +Cc: jejb, martin.petersen, saurav.kashyap, linux-scsi
On Donnerstag, 7. April 2016 09:08:00 CEST Chad Dupuis wrote:
> Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
> ---
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
-- 
Johannes Thumshirn                                          Storage
jthumshirn@suse.de                                +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
^ permalink raw reply	[flat|nested] 12+ messages in thread
* Re: [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3.
  2016-04-07 13:07 [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Chad Dupuis
                   ` (4 preceding siblings ...)
  2016-04-07 13:08 ` [PATCH v2 5/5] bnx2fc: Update version number to 2.10.3 Chad Dupuis
@ 2016-04-11 21:39 ` Martin K. Petersen
  5 siblings, 0 replies; 12+ messages in thread
From: Martin K. Petersen @ 2016-04-11 21:39 UTC (permalink / raw)
  To: Chad Dupuis; +Cc: jejb, martin.petersen, saurav.kashyap, linux-scsi
>>>>> "Chad" == Chad Dupuis <chad.dupuis@qlogic.com> writes:
Chad> Please apply the patch series for the next merge window at your
Chad> earliest convenience.
Applied to 4.7/scsi-queue.
Thanks!
-- 
Martin K. Petersen	Oracle Linux Engineering
^ permalink raw reply	[flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-04-11 21:39 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-07 13:07 [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Chad Dupuis
2016-04-07 13:07 ` [PATCH v2 1/5] bnx2fc: Add driver tunables Chad Dupuis
2016-04-07 13:57   ` Johannes Thumshirn
2016-04-07 13:07 ` [PATCH v2 2/5] bnx2fc: Print when we send a fip keep alive Chad Dupuis
2016-04-07 13:58   ` Johannes Thumshirn
2016-04-07 13:07 ` [PATCH v2 3/5] bnx2fc: Print netdev device name when FCoE is successfully initialized Chad Dupuis
2016-04-07 13:59   ` Johannes Thumshirn
2016-04-07 13:07 ` [PATCH v2 4/5] bnx2fc: Check sc_cmd device and host pointer before returning the command to the mid-layer Chad Dupuis
2016-04-07 14:00   ` Johannes Thumshirn
2016-04-07 13:08 ` [PATCH v2 5/5] bnx2fc: Update version number to 2.10.3 Chad Dupuis
2016-04-07 14:00   ` Johannes Thumshirn
2016-04-11 21:39 ` [PATCH v2 0/5] bnx2fc: Update driver to version 2.10.3 Martin K. Petersen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).