diff options
author | Joe Eykholt <jeykholt@cisco.com> | 2009-08-25 17:00:55 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-09-10 13:07:41 -0400 |
commit | a46f327aa5caf2cce138e98ddd863b6cca0e71e2 (patch) | |
tree | dbb230e8d4e024085e126445e6d819d5088e0406 /drivers/scsi/libfc/fc_elsct.c | |
parent | 9fb9d32831fd687e427ec5b147bb690f468b99a0 (diff) |
[SCSI] libfc: change elsct to use FC_ID instead of rdata
tt.elsct_send is used by both FCP and by the rport state machine.
After further patches, these two modules will use different
structures for the remote port.
So, change elsct_send to use the FC_ID instead of the fc_rport_priv
as its argument. It currently only uses the FC_ID anyway.
For CT requests the destination FC_ID is still implicitly 0xfffffc.
After further patches the did arg on CT requests will be used to
specify the FC_ID being inquired about for GPN_ID or other queries.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/libfc/fc_elsct.c')
-rw-r--r-- | drivers/scsi/libfc/fc_elsct.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/scsi/libfc/fc_elsct.c b/drivers/scsi/libfc/fc_elsct.c index 2b8a3bbc0399..5e8b011af50e 100644 --- a/drivers/scsi/libfc/fc_elsct.c +++ b/drivers/scsi/libfc/fc_elsct.c | |||
@@ -32,7 +32,7 @@ | |||
32 | * fc_elsct_send - sends ELS/CT frame | 32 | * fc_elsct_send - sends ELS/CT frame |
33 | */ | 33 | */ |
34 | static struct fc_seq *fc_elsct_send(struct fc_lport *lport, | 34 | static struct fc_seq *fc_elsct_send(struct fc_lport *lport, |
35 | struct fc_rport_priv *rdata, | 35 | u32 did, |
36 | struct fc_frame *fp, | 36 | struct fc_frame *fp, |
37 | unsigned int op, | 37 | unsigned int op, |
38 | void (*resp)(struct fc_seq *, | 38 | void (*resp)(struct fc_seq *, |
@@ -41,16 +41,17 @@ static struct fc_seq *fc_elsct_send(struct fc_lport *lport, | |||
41 | void *arg, u32 timer_msec) | 41 | void *arg, u32 timer_msec) |
42 | { | 42 | { |
43 | enum fc_rctl r_ctl; | 43 | enum fc_rctl r_ctl; |
44 | u32 did = FC_FID_NONE; | ||
45 | enum fc_fh_type fh_type; | 44 | enum fc_fh_type fh_type; |
46 | int rc; | 45 | int rc; |
47 | 46 | ||
48 | /* ELS requests */ | 47 | /* ELS requests */ |
49 | if ((op >= ELS_LS_RJT) && (op <= ELS_AUTH_ELS)) | 48 | if ((op >= ELS_LS_RJT) && (op <= ELS_AUTH_ELS)) |
50 | rc = fc_els_fill(lport, rdata, fp, op, &r_ctl, &did, &fh_type); | 49 | rc = fc_els_fill(lport, did, fp, op, &r_ctl, &fh_type); |
51 | else | 50 | else { |
52 | /* CT requests */ | 51 | /* CT requests */ |
53 | rc = fc_ct_fill(lport, fp, op, &r_ctl, &did, &fh_type); | 52 | rc = fc_ct_fill(lport, fp, op, &r_ctl, &fh_type); |
53 | did = FC_FID_DIR_SERV; | ||
54 | } | ||
54 | 55 | ||
55 | if (rc) | 56 | if (rc) |
56 | return NULL; | 57 | return NULL; |