Re: [PATCH 5/7] scsi_transport_fc: Use fc_rport as argument for fc_block_scsi_eh

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/27/2014 08:27 AM, Hannes Reinecke wrote:
fc_block_scsi_eh() works on a remote port, so we should be using
that as an argument and not the scsi command.

Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
Cc: James Smart <james.smart@xxxxxxxxxx>
---
  drivers/s390/scsi/zfcp_scsi.c     |  9 ++++++---

  10 files changed, 56 insertions(+), 35 deletions(-)

diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c
index 7b35364..dc42c93 100644
--- a/drivers/s390/scsi/zfcp_scsi.c
+++ b/drivers/s390/scsi/zfcp_scsi.c
@@ -173,6 +173,7 @@ static int zfcp_scsi_eh_abort_handler(struct scsi_cmnd *scpnt)
  	struct zfcp_adapter *adapter =
  		(struct zfcp_adapter *) scsi_host->hostdata[0];
  	struct zfcp_fsf_req *old_req, *abrt_req;
+	struct fc_rport *rport = starget_to_rport(scsi_target(scpnt->device));
  	unsigned long flags;
  	unsigned long old_reqid = (unsigned long) scpnt->host_scribble;
  	int retval = SUCCESS, ret;
@@ -199,7 +200,7 @@ static int zfcp_scsi_eh_abort_handler(struct scsi_cmnd *scpnt)
  			break;

  		zfcp_erp_wait(adapter);
-		ret = fc_block_scsi_eh(scpnt);
+		ret = fc_block_scsi_eh(rport);
  		if (ret) {
  			zfcp_dbf_scsi_abort("abrt_bl", scpnt, NULL);
  			return ret;
@@ -234,6 +235,7 @@ static int zfcp_task_mgmt_function(struct scsi_cmnd *scpnt, u8 tm_flags)
  {
  	struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(scpnt->device);
  	struct zfcp_adapter *adapter = zfcp_sdev->port->adapter;
+	struct fc_port *rport = zfcp_sdev->port->rport;

typo: struct fc_port => struct fc_rport

  	struct zfcp_fsf_req *fsf_req = NULL;
  	int retval = SUCCESS, ret;
  	int retry = 3;
@@ -244,7 +246,7 @@ static int zfcp_task_mgmt_function(struct scsi_cmnd *scpnt, u8 tm_flags)
  			break;

  		zfcp_erp_wait(adapter);
-		ret = fc_block_scsi_eh(scpnt);
+		ret = fc_block_scsi_eh(rport);
  		if (ret)
  			return ret;

@@ -283,11 +285,12 @@ static int zfcp_scsi_eh_host_reset_handler(struct scsi_cmnd *scpnt)
  {
  	struct zfcp_scsi_dev *zfcp_sdev = sdev_to_zfcp(scpnt->device);
  	struct zfcp_adapter *adapter = zfcp_sdev->port->adapter;
+	struct fc_rport *rport = zfcp_sdev->port->rport;
  	int ret;

  	zfcp_erp_adapter_reopen(adapter, 0, "schrh_1");
  	zfcp_erp_wait(adapter);
-	ret = fc_block_scsi_eh(scpnt);
+	ret = fc_block_scsi_eh(rport);
  	if (ret)
  		return ret;


--
Mit freundlichen Grüßen / Kind regards
Steffen Maier

Linux on System z Development

IBM Deutschland Research & Development GmbH
Vorsitzende des Aufsichtsrats: Martina Koederitz
Geschaeftsfuehrung: Dirk Wittkopp
Sitz der Gesellschaft: Boeblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux