aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/s390/scsi/zfcp_dbf.c5
-rw-r--r--drivers/s390/scsi/zfcp_def.h31
-rw-r--r--drivers/s390/scsi/zfcp_ext.h6
-rw-r--r--drivers/s390/scsi/zfcp_fc.c44
-rw-r--r--drivers/s390/scsi/zfcp_fc.h50
-rw-r--r--drivers/s390/scsi/zfcp_fsf.c22
6 files changed, 90 insertions, 68 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c
index d7a550af4a25..e945344ff711 100644
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -13,6 +13,7 @@
13#include <asm/debug.h> 13#include <asm/debug.h>
14#include "zfcp_dbf.h" 14#include "zfcp_dbf.h"
15#include "zfcp_ext.h" 15#include "zfcp_ext.h"
16#include "zfcp_fc.h"
16 17
17static u32 dbfsize = 4; 18static u32 dbfsize = 4;
18 19
@@ -681,7 +682,7 @@ void zfcp_dbf_rec_action(char *id2, struct zfcp_erp_action *erp_action)
681void zfcp_dbf_san_ct_request(struct zfcp_fsf_req *fsf_req) 682void zfcp_dbf_san_ct_request(struct zfcp_fsf_req *fsf_req)
682{ 683{
683 struct zfcp_send_ct *ct = (struct zfcp_send_ct *)fsf_req->data; 684 struct zfcp_send_ct *ct = (struct zfcp_send_ct *)fsf_req->data;
684 struct zfcp_wka_port *wka_port = ct->wka_port; 685 struct zfcp_fc_wka_port *wka_port = ct->wka_port;
685 struct zfcp_adapter *adapter = wka_port->adapter; 686 struct zfcp_adapter *adapter = wka_port->adapter;
686 struct zfcp_dbf *dbf = adapter->dbf; 687 struct zfcp_dbf *dbf = adapter->dbf;
687 struct fc_ct_hdr *hdr = sg_virt(ct->req); 688 struct fc_ct_hdr *hdr = sg_virt(ct->req);
@@ -718,7 +719,7 @@ void zfcp_dbf_san_ct_request(struct zfcp_fsf_req *fsf_req)
718void zfcp_dbf_san_ct_response(struct zfcp_fsf_req *fsf_req) 719void zfcp_dbf_san_ct_response(struct zfcp_fsf_req *fsf_req)
719{ 720{
720 struct zfcp_send_ct *ct = (struct zfcp_send_ct *)fsf_req->data; 721 struct zfcp_send_ct *ct = (struct zfcp_send_ct *)fsf_req->data;
721 struct zfcp_wka_port *wka_port = ct->wka_port; 722 struct zfcp_fc_wka_port *wka_port = ct->wka_port;
722 struct zfcp_adapter *adapter = wka_port->adapter; 723 struct zfcp_adapter *adapter = wka_port->adapter;
723 struct fc_ct_hdr *hdr = sg_virt(ct->resp); 724 struct fc_ct_hdr *hdr = sg_virt(ct->resp);
724 struct zfcp_dbf *dbf = adapter->dbf; 725 struct zfcp_dbf *dbf = adapter->dbf;
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h
index c64821145475..c00aa2b174a1 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -104,14 +104,6 @@
104#define ZFCP_STATUS_PORT_PHYS_OPEN 0x00000001 104#define ZFCP_STATUS_PORT_PHYS_OPEN 0x00000001
105#define ZFCP_STATUS_PORT_LINK_TEST 0x00000002 105#define ZFCP_STATUS_PORT_LINK_TEST 0x00000002
106 106
107/* well known address (WKA) port status*/
108enum zfcp_wka_status {
109 ZFCP_WKA_PORT_OFFLINE,
110 ZFCP_WKA_PORT_CLOSING,
111 ZFCP_WKA_PORT_OPENING,
112 ZFCP_WKA_PORT_ONLINE,
113};
114
115/* logical unit status */ 107/* logical unit status */
116#define ZFCP_STATUS_UNIT_SHARED 0x00000004 108#define ZFCP_STATUS_UNIT_SHARED 0x00000004
117#define ZFCP_STATUS_UNIT_READONLY 0x00000008 109#define ZFCP_STATUS_UNIT_READONLY 0x00000008
@@ -155,7 +147,7 @@ struct zfcp_adapter_mempool {
155 * @status: used to pass error status to calling function 147 * @status: used to pass error status to calling function
156 */ 148 */
157struct zfcp_send_ct { 149struct zfcp_send_ct {
158 struct zfcp_wka_port *wka_port; 150 struct zfcp_fc_wka_port *wka_port;
159 struct scatterlist *req; 151 struct scatterlist *req;
160 struct scatterlist *resp; 152 struct scatterlist *resp;
161 void (*handler)(unsigned long); 153 void (*handler)(unsigned long);
@@ -190,25 +182,6 @@ struct zfcp_send_els {
190 int status; 182 int status;
191}; 183};
192 184
193struct zfcp_wka_port {
194 struct zfcp_adapter *adapter;
195 wait_queue_head_t completion_wq;
196 enum zfcp_wka_status status;
197 atomic_t refcount;
198 u32 d_id;
199 u32 handle;
200 struct mutex mutex;
201 struct delayed_work work;
202};
203
204struct zfcp_wka_ports {
205 struct zfcp_wka_port ms; /* management service */
206 struct zfcp_wka_port ts; /* time service */
207 struct zfcp_wka_port ds; /* directory service */
208 struct zfcp_wka_port as; /* alias service */
209 struct zfcp_wka_port ks; /* key distribution service */
210};
211
212struct zfcp_qdio_queue { 185struct zfcp_qdio_queue {
213 struct qdio_buffer *sbal[QDIO_MAX_BUFFERS_PER_Q]; 186 struct qdio_buffer *sbal[QDIO_MAX_BUFFERS_PER_Q];
214 u8 first; /* index of next free bfr in queue */ 187 u8 first; /* index of next free bfr in queue */
@@ -309,7 +282,7 @@ struct zfcp_adapter {
309 u32 erp_low_mem_count; /* nr of erp actions waiting 282 u32 erp_low_mem_count; /* nr of erp actions waiting
310 for memory */ 283 for memory */
311 struct task_struct *erp_thread; 284 struct task_struct *erp_thread;
312 struct zfcp_wka_ports *gs; /* generic services */ 285 struct zfcp_fc_wka_ports *gs; /* generic services */
313 struct zfcp_dbf *dbf; /* debug traces */ 286 struct zfcp_dbf *dbf; /* debug traces */
314 struct zfcp_adapter_mempool pool; /* Adapter memory pools */ 287 struct zfcp_adapter_mempool pool; /* Adapter memory pools */
315 struct fc_host_statistics *fc_stats; 288 struct fc_host_statistics *fc_stats;
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index c2b23b5a3d0a..6a2d6e390b68 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -103,7 +103,7 @@ extern void zfcp_fc_trigger_did_lookup(struct zfcp_port *);
103extern void zfcp_fc_plogi_evaluate(struct zfcp_port *, struct fc_els_flogi *); 103extern void zfcp_fc_plogi_evaluate(struct zfcp_port *, struct fc_els_flogi *);
104extern void zfcp_fc_test_link(struct zfcp_port *); 104extern void zfcp_fc_test_link(struct zfcp_port *);
105extern void zfcp_fc_link_test_work(struct work_struct *); 105extern void zfcp_fc_link_test_work(struct work_struct *);
106extern void zfcp_fc_wka_ports_force_offline(struct zfcp_wka_ports *); 106extern void zfcp_fc_wka_ports_force_offline(struct zfcp_fc_wka_ports *);
107extern int zfcp_fc_gs_setup(struct zfcp_adapter *); 107extern int zfcp_fc_gs_setup(struct zfcp_adapter *);
108extern void zfcp_fc_gs_destroy(struct zfcp_adapter *); 108extern void zfcp_fc_gs_destroy(struct zfcp_adapter *);
109extern int zfcp_fc_execute_els_fc_job(struct fc_bsg_job *); 109extern int zfcp_fc_execute_els_fc_job(struct fc_bsg_job *);
@@ -111,8 +111,8 @@ extern int zfcp_fc_execute_ct_fc_job(struct fc_bsg_job *);
111 111
112/* zfcp_fsf.c */ 112/* zfcp_fsf.c */
113extern int zfcp_fsf_open_port(struct zfcp_erp_action *); 113extern int zfcp_fsf_open_port(struct zfcp_erp_action *);
114extern int zfcp_fsf_open_wka_port(struct zfcp_wka_port *); 114extern int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *);
115extern int zfcp_fsf_close_wka_port(struct zfcp_wka_port *); 115extern int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *);
116extern int zfcp_fsf_close_port(struct zfcp_erp_action *); 116extern int zfcp_fsf_close_port(struct zfcp_erp_action *);
117extern int zfcp_fsf_close_physical_port(struct zfcp_erp_action *); 117extern int zfcp_fsf_close_physical_port(struct zfcp_erp_action *);
118extern int zfcp_fsf_open_unit(struct zfcp_erp_action *); 118extern int zfcp_fsf_open_unit(struct zfcp_erp_action *);
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c
index 7c306a5ef4dd..d6d1e78ba0f9 100644
--- a/drivers/s390/scsi/zfcp_fc.c
+++ b/drivers/s390/scsi/zfcp_fc.c
@@ -28,25 +28,25 @@ struct zfcp_fc_ns_handler_data {
28 unsigned long handler_data; 28 unsigned long handler_data;
29}; 29};
30 30
31static int zfcp_fc_wka_port_get(struct zfcp_wka_port *wka_port) 31static int zfcp_fc_wka_port_get(struct zfcp_fc_wka_port *wka_port)
32{ 32{
33 if (mutex_lock_interruptible(&wka_port->mutex)) 33 if (mutex_lock_interruptible(&wka_port->mutex))
34 return -ERESTARTSYS; 34 return -ERESTARTSYS;
35 35
36 if (wka_port->status == ZFCP_WKA_PORT_OFFLINE || 36 if (wka_port->status == ZFCP_FC_WKA_PORT_OFFLINE ||
37 wka_port->status == ZFCP_WKA_PORT_CLOSING) { 37 wka_port->status == ZFCP_FC_WKA_PORT_CLOSING) {
38 wka_port->status = ZFCP_WKA_PORT_OPENING; 38 wka_port->status = ZFCP_FC_WKA_PORT_OPENING;
39 if (zfcp_fsf_open_wka_port(wka_port)) 39 if (zfcp_fsf_open_wka_port(wka_port))
40 wka_port->status = ZFCP_WKA_PORT_OFFLINE; 40 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE;
41 } 41 }
42 42
43 mutex_unlock(&wka_port->mutex); 43 mutex_unlock(&wka_port->mutex);
44 44
45 wait_event(wka_port->completion_wq, 45 wait_event(wka_port->completion_wq,
46 wka_port->status == ZFCP_WKA_PORT_ONLINE || 46 wka_port->status == ZFCP_FC_WKA_PORT_ONLINE ||
47 wka_port->status == ZFCP_WKA_PORT_OFFLINE); 47 wka_port->status == ZFCP_FC_WKA_PORT_OFFLINE);
48 48
49 if (wka_port->status == ZFCP_WKA_PORT_ONLINE) { 49 if (wka_port->status == ZFCP_FC_WKA_PORT_ONLINE) {
50 atomic_inc(&wka_port->refcount); 50 atomic_inc(&wka_port->refcount);
51 return 0; 51 return 0;
52 } 52 }
@@ -56,24 +56,24 @@ static int zfcp_fc_wka_port_get(struct zfcp_wka_port *wka_port)
56static void zfcp_fc_wka_port_offline(struct work_struct *work) 56static void zfcp_fc_wka_port_offline(struct work_struct *work)
57{ 57{
58 struct delayed_work *dw = to_delayed_work(work); 58 struct delayed_work *dw = to_delayed_work(work);
59 struct zfcp_wka_port *wka_port = 59 struct zfcp_fc_wka_port *wka_port =
60 container_of(dw, struct zfcp_wka_port, work); 60 container_of(dw, struct zfcp_fc_wka_port, work);
61 61
62 mutex_lock(&wka_port->mutex); 62 mutex_lock(&wka_port->mutex);
63 if ((atomic_read(&wka_port->refcount) != 0) || 63 if ((atomic_read(&wka_port->refcount) != 0) ||
64 (wka_port->status != ZFCP_WKA_PORT_ONLINE)) 64 (wka_port->status != ZFCP_FC_WKA_PORT_ONLINE))
65 goto out; 65 goto out;
66 66
67 wka_port->status = ZFCP_WKA_PORT_CLOSING; 67 wka_port->status = ZFCP_FC_WKA_PORT_CLOSING;
68 if (zfcp_fsf_close_wka_port(wka_port)) { 68 if (zfcp_fsf_close_wka_port(wka_port)) {
69 wka_port->status = ZFCP_WKA_PORT_OFFLINE; 69 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE;
70 wake_up(&wka_port->completion_wq); 70 wake_up(&wka_port->completion_wq);
71 } 71 }
72out: 72out:
73 mutex_unlock(&wka_port->mutex); 73 mutex_unlock(&wka_port->mutex);
74} 74}
75 75
76static void zfcp_fc_wka_port_put(struct zfcp_wka_port *wka_port) 76static void zfcp_fc_wka_port_put(struct zfcp_fc_wka_port *wka_port)
77{ 77{
78 if (atomic_dec_return(&wka_port->refcount) != 0) 78 if (atomic_dec_return(&wka_port->refcount) != 0)
79 return; 79 return;
@@ -81,7 +81,7 @@ static void zfcp_fc_wka_port_put(struct zfcp_wka_port *wka_port)
81 schedule_delayed_work(&wka_port->work, HZ / 100); 81 schedule_delayed_work(&wka_port->work, HZ / 100);
82} 82}
83 83
84static void zfcp_fc_wka_port_init(struct zfcp_wka_port *wka_port, u32 d_id, 84static void zfcp_fc_wka_port_init(struct zfcp_fc_wka_port *wka_port, u32 d_id,
85 struct zfcp_adapter *adapter) 85 struct zfcp_adapter *adapter)
86{ 86{
87 init_waitqueue_head(&wka_port->completion_wq); 87 init_waitqueue_head(&wka_port->completion_wq);
@@ -89,21 +89,21 @@ static void zfcp_fc_wka_port_init(struct zfcp_wka_port *wka_port, u32 d_id,
89 wka_port->adapter = adapter; 89 wka_port->adapter = adapter;
90 wka_port->d_id = d_id; 90 wka_port->d_id = d_id;
91 91
92 wka_port->status = ZFCP_WKA_PORT_OFFLINE; 92 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE;
93 atomic_set(&wka_port->refcount, 0); 93 atomic_set(&wka_port->refcount, 0);
94 mutex_init(&wka_port->mutex); 94 mutex_init(&wka_port->mutex);
95 INIT_DELAYED_WORK(&wka_port->work, zfcp_fc_wka_port_offline); 95 INIT_DELAYED_WORK(&wka_port->work, zfcp_fc_wka_port_offline);
96} 96}
97 97
98static void zfcp_fc_wka_port_force_offline(struct zfcp_wka_port *wka) 98static void zfcp_fc_wka_port_force_offline(struct zfcp_fc_wka_port *wka)
99{ 99{
100 cancel_delayed_work_sync(&wka->work); 100 cancel_delayed_work_sync(&wka->work);
101 mutex_lock(&wka->mutex); 101 mutex_lock(&wka->mutex);
102 wka->status = ZFCP_WKA_PORT_OFFLINE; 102 wka->status = ZFCP_FC_WKA_PORT_OFFLINE;
103 mutex_unlock(&wka->mutex); 103 mutex_unlock(&wka->mutex);
104} 104}
105 105
106void zfcp_fc_wka_ports_force_offline(struct zfcp_wka_ports *gs) 106void zfcp_fc_wka_ports_force_offline(struct zfcp_fc_wka_ports *gs)
107{ 107{
108 if (!gs) 108 if (!gs)
109 return; 109 return;
@@ -111,7 +111,6 @@ void zfcp_fc_wka_ports_force_offline(struct zfcp_wka_ports *gs)
111 zfcp_fc_wka_port_force_offline(&gs->ts); 111 zfcp_fc_wka_port_force_offline(&gs->ts);
112 zfcp_fc_wka_port_force_offline(&gs->ds); 112 zfcp_fc_wka_port_force_offline(&gs->ds);
113 zfcp_fc_wka_port_force_offline(&gs->as); 113 zfcp_fc_wka_port_force_offline(&gs->as);
114 zfcp_fc_wka_port_force_offline(&gs->ks);
115} 114}
116 115
117static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range, 116static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range,
@@ -834,9 +833,9 @@ int zfcp_fc_execute_ct_fc_job(struct fc_bsg_job *job)
834 833
835int zfcp_fc_gs_setup(struct zfcp_adapter *adapter) 834int zfcp_fc_gs_setup(struct zfcp_adapter *adapter)
836{ 835{
837 struct zfcp_wka_ports *wka_ports; 836 struct zfcp_fc_wka_ports *wka_ports;
838 837
839 wka_ports = kzalloc(sizeof(struct zfcp_wka_ports), GFP_KERNEL); 838 wka_ports = kzalloc(sizeof(struct zfcp_fc_wka_ports), GFP_KERNEL);
840 if (!wka_ports) 839 if (!wka_ports)
841 return -ENOMEM; 840 return -ENOMEM;
842 841
@@ -845,7 +844,6 @@ int zfcp_fc_gs_setup(struct zfcp_adapter *adapter)
845 zfcp_fc_wka_port_init(&wka_ports->ts, FC_FID_TIME_SERV, adapter); 844 zfcp_fc_wka_port_init(&wka_ports->ts, FC_FID_TIME_SERV, adapter);
846 zfcp_fc_wka_port_init(&wka_ports->ds, FC_FID_DIR_SERV, adapter); 845 zfcp_fc_wka_port_init(&wka_ports->ds, FC_FID_DIR_SERV, adapter);
847 zfcp_fc_wka_port_init(&wka_ports->as, FC_FID_ALIASES, adapter); 846 zfcp_fc_wka_port_init(&wka_ports->as, FC_FID_ALIASES, adapter);
848 zfcp_fc_wka_port_init(&wka_ports->ks, FC_FID_SEC_KEY, adapter);
849 847
850 return 0; 848 return 0;
851} 849}
diff --git a/drivers/s390/scsi/zfcp_fc.h b/drivers/s390/scsi/zfcp_fc.h
index 12fc6ebbc244..9c787e043ff8 100644
--- a/drivers/s390/scsi/zfcp_fc.h
+++ b/drivers/s390/scsi/zfcp_fc.h
@@ -112,6 +112,56 @@ struct zfcp_fc_els_adisc {
112}; 112};
113 113
114/** 114/**
115 * enum zfcp_fc_wka_status - FC WKA port status in zfcp
116 * @ZFCP_FC_WKA_PORT_OFFLINE: Port is closed and not in use
117 * @ZFCP_FC_WKA_PORT_CLOSING: The FSF "close port" request is pending
118 * @ZFCP_FC_WKA_PORT_OPENING: The FSF "open port" request is pending
119 * @ZFCP_FC_WKA_PORT_ONLINE: The port is open and the port handle is valid
120 */
121enum zfcp_fc_wka_status {
122 ZFCP_FC_WKA_PORT_OFFLINE,
123 ZFCP_FC_WKA_PORT_CLOSING,
124 ZFCP_FC_WKA_PORT_OPENING,
125 ZFCP_FC_WKA_PORT_ONLINE,
126};
127
128/**
129 * struct zfcp_fc_wka_port - representation of well-known-address (WKA) FC port
130 * @adapter: Pointer to adapter structure this WKA port belongs to
131 * @completion_wq: Wait for completion of open/close command
132 * @status: Current status of WKA port
133 * @refcount: Reference count to keep port open as long as it is in use
134 * @d_id: FC destination id or well-known-address
135 * @handle: FSF handle for the open WKA port
136 * @mutex: Mutex used during opening/closing state changes
137 * @work: For delaying the closing of the WKA port
138 */
139struct zfcp_fc_wka_port {
140 struct zfcp_adapter *adapter;
141 wait_queue_head_t completion_wq;
142 enum zfcp_fc_wka_status status;
143 atomic_t refcount;
144 u32 d_id;
145 u32 handle;
146 struct mutex mutex;
147 struct delayed_work work;
148};
149
150/**
151 * struct zfcp_fc_wka_ports - Data structures for FC generic services
152 * @ms: FC Management service
153 * @ts: FC time service
154 * @ds: FC directory service
155 * @as: FC alias service
156 */
157struct zfcp_fc_wka_ports {
158 struct zfcp_fc_wka_port ms;
159 struct zfcp_fc_wka_port ts;
160 struct zfcp_fc_wka_port ds;
161 struct zfcp_fc_wka_port as;
162};
163
164/**
115 * zfcp_fc_scsi_to_fcp - setup FCP command with data from scsi_cmnd 165 * zfcp_fc_scsi_to_fcp - setup FCP command with data from scsi_cmnd
116 * @fcp: fcp_cmnd to setup 166 * @fcp: fcp_cmnd to setup
117 * @scsi: scsi_cmnd where to get LUN, task attributes/flags and CDB 167 * @scsi: scsi_cmnd where to get LUN, task attributes/flags and CDB
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c
index 9d7bf965d398..9ada555ca5a8 100644
--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -1096,7 +1096,7 @@ static int zfcp_fsf_setup_ct_els(struct zfcp_fsf_req *req,
1096 */ 1096 */
1097int zfcp_fsf_send_ct(struct zfcp_send_ct *ct, mempool_t *pool) 1097int zfcp_fsf_send_ct(struct zfcp_send_ct *ct, mempool_t *pool)
1098{ 1098{
1099 struct zfcp_wka_port *wka_port = ct->wka_port; 1099 struct zfcp_fc_wka_port *wka_port = ct->wka_port;
1100 struct zfcp_qdio *qdio = wka_port->adapter->qdio; 1100 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
1101 struct zfcp_fsf_req *req; 1101 struct zfcp_fsf_req *req;
1102 int ret = -EIO; 1102 int ret = -EIO;
@@ -1610,11 +1610,11 @@ out:
1610 1610
1611static void zfcp_fsf_open_wka_port_handler(struct zfcp_fsf_req *req) 1611static void zfcp_fsf_open_wka_port_handler(struct zfcp_fsf_req *req)
1612{ 1612{
1613 struct zfcp_wka_port *wka_port = req->data; 1613 struct zfcp_fc_wka_port *wka_port = req->data;
1614 struct fsf_qtcb_header *header = &req->qtcb->header; 1614 struct fsf_qtcb_header *header = &req->qtcb->header;
1615 1615
1616 if (req->status & ZFCP_STATUS_FSFREQ_ERROR) { 1616 if (req->status & ZFCP_STATUS_FSFREQ_ERROR) {
1617 wka_port->status = ZFCP_WKA_PORT_OFFLINE; 1617 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE;
1618 goto out; 1618 goto out;
1619 } 1619 }
1620 1620
@@ -1627,13 +1627,13 @@ static void zfcp_fsf_open_wka_port_handler(struct zfcp_fsf_req *req)
1627 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1627 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1628 /* fall through */ 1628 /* fall through */
1629 case FSF_ACCESS_DENIED: 1629 case FSF_ACCESS_DENIED:
1630 wka_port->status = ZFCP_WKA_PORT_OFFLINE; 1630 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE;
1631 break; 1631 break;
1632 case FSF_GOOD: 1632 case FSF_GOOD:
1633 wka_port->handle = header->port_handle; 1633 wka_port->handle = header->port_handle;
1634 /* fall through */ 1634 /* fall through */
1635 case FSF_PORT_ALREADY_OPEN: 1635 case FSF_PORT_ALREADY_OPEN:
1636 wka_port->status = ZFCP_WKA_PORT_ONLINE; 1636 wka_port->status = ZFCP_FC_WKA_PORT_ONLINE;
1637 } 1637 }
1638out: 1638out:
1639 wake_up(&wka_port->completion_wq); 1639 wake_up(&wka_port->completion_wq);
@@ -1641,10 +1641,10 @@ out:
1641 1641
1642/** 1642/**
1643 * zfcp_fsf_open_wka_port - create and send open wka-port request 1643 * zfcp_fsf_open_wka_port - create and send open wka-port request
1644 * @wka_port: pointer to struct zfcp_wka_port 1644 * @wka_port: pointer to struct zfcp_fc_wka_port
1645 * Returns: 0 on success, error otherwise 1645 * Returns: 0 on success, error otherwise
1646 */ 1646 */
1647int zfcp_fsf_open_wka_port(struct zfcp_wka_port *wka_port) 1647int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *wka_port)
1648{ 1648{
1649 struct qdio_buffer_element *sbale; 1649 struct qdio_buffer_element *sbale;
1650 struct zfcp_qdio *qdio = wka_port->adapter->qdio; 1650 struct zfcp_qdio *qdio = wka_port->adapter->qdio;
@@ -1683,23 +1683,23 @@ out:
1683 1683
1684static void zfcp_fsf_close_wka_port_handler(struct zfcp_fsf_req *req) 1684static void zfcp_fsf_close_wka_port_handler(struct zfcp_fsf_req *req)
1685{ 1685{
1686 struct zfcp_wka_port *wka_port = req->data; 1686 struct zfcp_fc_wka_port *wka_port = req->data;
1687 1687
1688 if (req->qtcb->header.fsf_status == FSF_PORT_HANDLE_NOT_VALID) { 1688 if (req->qtcb->header.fsf_status == FSF_PORT_HANDLE_NOT_VALID) {
1689 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1689 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1690 zfcp_erp_adapter_reopen(wka_port->adapter, 0, "fscwph1", req); 1690 zfcp_erp_adapter_reopen(wka_port->adapter, 0, "fscwph1", req);
1691 } 1691 }
1692 1692
1693 wka_port->status = ZFCP_WKA_PORT_OFFLINE; 1693 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE;
1694 wake_up(&wka_port->completion_wq); 1694 wake_up(&wka_port->completion_wq);
1695} 1695}
1696 1696
1697/** 1697/**
1698 * zfcp_fsf_close_wka_port - create and send close wka port request 1698 * zfcp_fsf_close_wka_port - create and send close wka port request
1699 * @erp_action: pointer to struct zfcp_erp_action 1699 * @wka_port: WKA port to open
1700 * Returns: 0 on success, error otherwise 1700 * Returns: 0 on success, error otherwise
1701 */ 1701 */
1702int zfcp_fsf_close_wka_port(struct zfcp_wka_port *wka_port) 1702int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *wka_port)
1703{ 1703{
1704 struct qdio_buffer_element *sbale; 1704 struct qdio_buffer_element *sbale;
1705 struct zfcp_qdio *qdio = wka_port->adapter->qdio; 1705 struct zfcp_qdio *qdio = wka_port->adapter->qdio;