|
@@ -901,12 +901,13 @@ static struct zfcp_fc_wka_port *zfcp_fc_job_wka_port(struct fc_bsg_job *job)
|
|
|
u8 gs_type;
|
|
|
struct zfcp_adapter *adapter;
|
|
|
struct fc_bsg_request *bsg_request = job->request;
|
|
|
+ struct fc_rport *rport = fc_bsg_to_rport(job);
|
|
|
struct Scsi_Host *shost;
|
|
|
|
|
|
preamble_word1 = bsg_request->rqst_data.r_ct.preamble_word1;
|
|
|
gs_type = (preamble_word1 & 0xff000000) >> 24;
|
|
|
|
|
|
- shost = fc_bsg_to_shost(job);
|
|
|
+ shost = rport ? rport_to_shost(rport) : fc_bsg_to_shost(job);
|
|
|
adapter = (struct zfcp_adapter *) shost->hostdata[0];
|
|
|
|
|
|
switch (gs_type) {
|
|
@@ -940,7 +941,7 @@ static int zfcp_fc_exec_els_job(struct fc_bsg_job *job,
|
|
|
struct zfcp_adapter *adapter)
|
|
|
{
|
|
|
struct zfcp_fsf_ct_els *els = job->dd_data;
|
|
|
- struct fc_rport *rport = job->rport;
|
|
|
+ struct fc_rport *rport = fc_bsg_to_rport(job);
|
|
|
struct fc_bsg_request *bsg_request = job->request;
|
|
|
struct zfcp_port *port;
|
|
|
u32 d_id;
|
|
@@ -988,8 +989,9 @@ int zfcp_fc_exec_bsg_job(struct fc_bsg_job *job)
|
|
|
struct zfcp_adapter *adapter;
|
|
|
struct zfcp_fsf_ct_els *ct_els = job->dd_data;
|
|
|
struct fc_bsg_request *bsg_request = job->request;
|
|
|
+ struct fc_rport *rport = fc_bsg_to_rport(job);
|
|
|
|
|
|
- shost = job->rport ? rport_to_shost(job->rport) : fc_bsg_to_shost(job);
|
|
|
+ shost = rport ? rport_to_shost(rport) : fc_bsg_to_shost(job);
|
|
|
adapter = (struct zfcp_adapter *)shost->hostdata[0];
|
|
|
|
|
|
if (!(atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_OPEN))
|