diff options
author | Andreas Herrmann <aherrman@de.ibm.com> | 2005-06-13 13:18:56 +0200 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-06-14 04:30:05 +0200 |
commit | 64b29a130901d5b8578e9f602cf2dae56aaff224 (patch) | |
tree | fb543d8a7c007416d99128246d4e71580ecd94ff /drivers/s390/scsi/zfcp_def.h | |
parent | [SCSI] zfcp: fix: mark fsf request failed when receiving unknown status quali... (diff) | |
download | linux-64b29a130901d5b8578e9f602cf2dae56aaff224.tar.xz linux-64b29a130901d5b8578e9f602cf2dae56aaff224.zip |
[SCSI] zfcp: fix: problem in send_els_handler when D_ID assignment changes
From: Maxim Shchetynin <maxim@de.ibm.com>
Fixes a bug in zfcp_send_els_handler. If D_ID assignments for ports
are changing between initiation of one ELS request and its completion
the wrong port might be accessed in the completion for that ELS
request. Thus a pointer to the port has to be passed for ELS requests
to identify the port structure if required.
Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/s390/scsi/zfcp_def.h')
-rw-r--r-- | drivers/s390/scsi/zfcp_def.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h index 08369b9dad68..37982058e4d9 100644 --- a/drivers/s390/scsi/zfcp_def.h +++ b/drivers/s390/scsi/zfcp_def.h @@ -751,6 +751,7 @@ typedef void (*zfcp_send_els_handler_t)(unsigned long); /** * struct zfcp_send_els - used to pass parameters to function zfcp_fsf_send_els * @adapter: adapter where request is sent from + * @port: port where ELS is destinated (port reference count has to be increased) * @d_id: destiniation id of port where request is sent to * @req: scatter-gather list for request * @resp: scatter-gather list for response @@ -765,6 +766,7 @@ typedef void (*zfcp_send_els_handler_t)(unsigned long); */ struct zfcp_send_els { struct zfcp_adapter *adapter; + struct zfcp_port *port; fc_id_t d_id; struct scatterlist *req; struct scatterlist *resp; |