linux-s390.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 0/3] zfcp fixes for scsi-misc
@ 2010-10-05 15:12 Christof Schmitt
  2010-10-05 15:12 ` [patch 1/3] zfcp: Fix adapter activation on link down Christof Schmitt
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Christof Schmitt @ 2010-10-05 15:12 UTC (permalink / raw)
  To: James Bottomley; +Cc: linux-scsi, linux-s390, schwidefsky, heiko.carstens

James,

here are three small zfcp bug fixes for the scsi-misc tree.

--
Christof

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [patch 1/3] zfcp: Fix adapter activation on link down
  2010-10-05 15:12 [patch 0/3] zfcp fixes for scsi-misc Christof Schmitt
@ 2010-10-05 15:12 ` Christof Schmitt
  2010-10-05 15:12 ` [patch 2/3] zfcp: Call get_device on port before calling put_device Christof Schmitt
  2010-10-05 15:12 ` [patch 3/3] zfcp: Use correct length for FCP_RSP_INFO Christof Schmitt
  2 siblings, 0 replies; 4+ messages in thread
From: Christof Schmitt @ 2010-10-05 15:12 UTC (permalink / raw)
  To: James Bottomley
  Cc: linux-scsi, linux-s390, schwidefsky, heiko.carstens,
	Swen Schillig

[-- Attachment #1: 712-zfcp-adapter-activation.diff --]
[-- Type: text/plain, Size: 1207 bytes --]

From: Swen Schillig <swen@vnet.ibm.com>

If an exchange config is executed while the local link is down, the
request succeeds but the returned data is incomplete.  Proceeding with
the adapter activation is leading to an unpredictable behaviour (e.g.
kernel panic) caused by invalid values.  In such a scenario the
recommended ERP is to retry the action and wait for a link up event.
If the issue persists the activation has to fail.

Signed-off-by: Swen Schillig <swen@vnet.ibm.com>
Sigend-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
---

 drivers/s390/scsi/zfcp_fsf.c |    3 ---
 1 file changed, 3 deletions(-)

diff -urpN linux-2.6/drivers/s390/scsi/zfcp_fsf.c linux-2.6-patched/drivers/s390/scsi/zfcp_fsf.c
--- linux-2.6/drivers/s390/scsi/zfcp_fsf.c	2010-10-05 15:58:20.000000000 +0200
+++ linux-2.6-patched/drivers/s390/scsi/zfcp_fsf.c	2010-10-05 15:58:20.000000000 +0200
@@ -532,9 +532,6 @@ static void zfcp_fsf_exchange_config_dat
 		fc_host_port_type(shost) = FC_PORTTYPE_UNKNOWN;
 		adapter->hydra_version = 0;
 
-		atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK,
-				&adapter->status);
-
 		zfcp_fsf_link_down_info_eval(req,
 			&qtcb->header.fsf_status_qual.link_down_info);
 		break;

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [patch 2/3] zfcp: Call get_device on port before calling put_device
  2010-10-05 15:12 [patch 0/3] zfcp fixes for scsi-misc Christof Schmitt
  2010-10-05 15:12 ` [patch 1/3] zfcp: Fix adapter activation on link down Christof Schmitt
@ 2010-10-05 15:12 ` Christof Schmitt
  2010-10-05 15:12 ` [patch 3/3] zfcp: Use correct length for FCP_RSP_INFO Christof Schmitt
  2 siblings, 0 replies; 4+ messages in thread
From: Christof Schmitt @ 2010-10-05 15:12 UTC (permalink / raw)
  To: James Bottomley
  Cc: linux-scsi, linux-s390, schwidefsky, heiko.carstens,
	Christof Schmitt

[-- Attachment #1: 713-zfcp-ref-counting.diff --]
[-- Type: text/plain, Size: 1148 bytes --]

From: Christof Schmitt <christof.schmitt@de.ibm.com>

zfcp_unit_release calls put_device on the port. Ensure that get_device
has been called before possibly triggering the release function
through put_device or device_unregister.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
---

 drivers/s390/scsi/zfcp_unit.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff -urpN linux-2.6/drivers/s390/scsi/zfcp_unit.c linux-2.6-patched/drivers/s390/scsi/zfcp_unit.c
--- linux-2.6/drivers/s390/scsi/zfcp_unit.c	2010-10-05 15:58:17.000000000 +0200
+++ linux-2.6-patched/drivers/s390/scsi/zfcp_unit.c	2010-10-05 15:58:21.000000000 +0200
@@ -142,6 +142,8 @@ int zfcp_unit_add(struct zfcp_port *port
 		return -ENOMEM;
 	}
 
+	get_device(&port->dev);
+
 	if (device_register(&unit->dev)) {
 		put_device(&unit->dev);
 		return -ENOMEM;
@@ -152,8 +154,6 @@ int zfcp_unit_add(struct zfcp_port *port
 		return -EINVAL;
 	}
 
-	get_device(&port->dev);
-
 	write_lock_irq(&port->unit_list_lock);
 	list_add_tail(&unit->list, &port->unit_list);
 	write_unlock_irq(&port->unit_list_lock);

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [patch 3/3] zfcp: Use correct length for FCP_RSP_INFO
  2010-10-05 15:12 [patch 0/3] zfcp fixes for scsi-misc Christof Schmitt
  2010-10-05 15:12 ` [patch 1/3] zfcp: Fix adapter activation on link down Christof Schmitt
  2010-10-05 15:12 ` [patch 2/3] zfcp: Call get_device on port before calling put_device Christof Schmitt
@ 2010-10-05 15:12 ` Christof Schmitt
  2 siblings, 0 replies; 4+ messages in thread
From: Christof Schmitt @ 2010-10-05 15:12 UTC (permalink / raw)
  To: James Bottomley
  Cc: linux-scsi, linux-s390, schwidefsky, heiko.carstens,
	Christof Schmitt

[-- Attachment #1: 715-zfcp-rsp-info-len.diff --]
[-- Type: text/plain, Size: 966 bytes --]

From: Christof Schmitt <christof.schmitt@de.ibm.com>

Use the FCP_RSP_INFO length to correctly skip the FCP_RSP_INFO field.

Reviewed-by: Swen Schillig <swen@vnet.ibm.com>
Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>
---

 drivers/s390/scsi/zfcp_fc.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -urpN linux-2.6/drivers/s390/scsi/zfcp_fc.h linux-2.6-patched/drivers/s390/scsi/zfcp_fc.h
--- linux-2.6/drivers/s390/scsi/zfcp_fc.h	2010-10-05 15:57:41.000000000 +0200
+++ linux-2.6-patched/drivers/s390/scsi/zfcp_fc.h	2010-10-05 15:58:22.000000000 +0200
@@ -270,7 +270,7 @@ void zfcp_fc_eval_fcp_rsp(struct fcp_res
 	if (unlikely(rsp_flags & FCP_SNS_LEN_VAL)) {
 		sense = (char *) &fcp_rsp[1];
 		if (rsp_flags & FCP_RSP_LEN_VAL)
-			sense += fcp_rsp->ext.fr_sns_len;
+			sense += fcp_rsp->ext.fr_rsp_len;
 		sense_len = min(fcp_rsp->ext.fr_sns_len,
 				(u32) SCSI_SENSE_BUFFERSIZE);
 		memcpy(scsi->sense_buffer, sense, sense_len);

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-10-05 15:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-05 15:12 [patch 0/3] zfcp fixes for scsi-misc Christof Schmitt
2010-10-05 15:12 ` [patch 1/3] zfcp: Fix adapter activation on link down Christof Schmitt
2010-10-05 15:12 ` [patch 2/3] zfcp: Call get_device on port before calling put_device Christof Schmitt
2010-10-05 15:12 ` [patch 3/3] zfcp: Use correct length for FCP_RSP_INFO Christof Schmitt

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).