wka_port 390 drivers/s390/scsi/zfcp_dbf.c void zfcp_dbf_rec_run_wka(char *tag, struct zfcp_fc_wka_port *wka_port, wka_port 393 drivers/s390/scsi/zfcp_dbf.c struct zfcp_dbf *dbf = wka_port->adapter->dbf; wka_port 406 drivers/s390/scsi/zfcp_dbf.c rec->port_status = wka_port->status; wka_port 407 drivers/s390/scsi/zfcp_dbf.c rec->d_id = wka_port->d_id; wka_port 146 drivers/s390/scsi/zfcp_fc.c static int zfcp_fc_wka_port_get(struct zfcp_fc_wka_port *wka_port) wka_port 148 drivers/s390/scsi/zfcp_fc.c if (mutex_lock_interruptible(&wka_port->mutex)) wka_port 151 drivers/s390/scsi/zfcp_fc.c if (wka_port->status == ZFCP_FC_WKA_PORT_OFFLINE || wka_port 152 drivers/s390/scsi/zfcp_fc.c wka_port->status == ZFCP_FC_WKA_PORT_CLOSING) { wka_port 153 drivers/s390/scsi/zfcp_fc.c wka_port->status = ZFCP_FC_WKA_PORT_OPENING; wka_port 154 drivers/s390/scsi/zfcp_fc.c if (zfcp_fsf_open_wka_port(wka_port)) wka_port 155 drivers/s390/scsi/zfcp_fc.c wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; wka_port 158 drivers/s390/scsi/zfcp_fc.c mutex_unlock(&wka_port->mutex); wka_port 160 drivers/s390/scsi/zfcp_fc.c wait_event(wka_port->completion_wq, wka_port 161 drivers/s390/scsi/zfcp_fc.c wka_port->status == ZFCP_FC_WKA_PORT_ONLINE || wka_port 162 drivers/s390/scsi/zfcp_fc.c wka_port->status == ZFCP_FC_WKA_PORT_OFFLINE); wka_port 164 drivers/s390/scsi/zfcp_fc.c if (wka_port->status == ZFCP_FC_WKA_PORT_ONLINE) { wka_port 165 drivers/s390/scsi/zfcp_fc.c atomic_inc(&wka_port->refcount); wka_port 174 drivers/s390/scsi/zfcp_fc.c struct zfcp_fc_wka_port *wka_port = wka_port 177 drivers/s390/scsi/zfcp_fc.c mutex_lock(&wka_port->mutex); wka_port 178 drivers/s390/scsi/zfcp_fc.c if ((atomic_read(&wka_port->refcount) != 0) || wka_port 179 drivers/s390/scsi/zfcp_fc.c (wka_port->status != ZFCP_FC_WKA_PORT_ONLINE)) wka_port 182 drivers/s390/scsi/zfcp_fc.c wka_port->status = ZFCP_FC_WKA_PORT_CLOSING; wka_port 183 drivers/s390/scsi/zfcp_fc.c if (zfcp_fsf_close_wka_port(wka_port)) { wka_port 184 drivers/s390/scsi/zfcp_fc.c wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; wka_port 185 drivers/s390/scsi/zfcp_fc.c wake_up(&wka_port->completion_wq); wka_port 188 drivers/s390/scsi/zfcp_fc.c mutex_unlock(&wka_port->mutex); wka_port 191 drivers/s390/scsi/zfcp_fc.c static void zfcp_fc_wka_port_put(struct zfcp_fc_wka_port *wka_port) wka_port 193 drivers/s390/scsi/zfcp_fc.c if (atomic_dec_return(&wka_port->refcount) != 0) wka_port 196 drivers/s390/scsi/zfcp_fc.c schedule_delayed_work(&wka_port->work, HZ / 100); wka_port 199 drivers/s390/scsi/zfcp_fc.c static void zfcp_fc_wka_port_init(struct zfcp_fc_wka_port *wka_port, u32 d_id, wka_port 202 drivers/s390/scsi/zfcp_fc.c init_waitqueue_head(&wka_port->completion_wq); wka_port 204 drivers/s390/scsi/zfcp_fc.c wka_port->adapter = adapter; wka_port 205 drivers/s390/scsi/zfcp_fc.c wka_port->d_id = d_id; wka_port 207 drivers/s390/scsi/zfcp_fc.c wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; wka_port 208 drivers/s390/scsi/zfcp_fc.c atomic_set(&wka_port->refcount, 0); wka_port 209 drivers/s390/scsi/zfcp_fc.c mutex_init(&wka_port->mutex); wka_port 210 drivers/s390/scsi/zfcp_fc.c INIT_DELAYED_WORK(&wka_port->work, zfcp_fc_wka_port_offline); wka_port 992 drivers/s390/scsi/zfcp_fc.c struct zfcp_fc_wka_port *wka_port; wka_port 994 drivers/s390/scsi/zfcp_fc.c wka_port = zfcp_fc_job_wka_port(job); wka_port 995 drivers/s390/scsi/zfcp_fc.c zfcp_fc_wka_port_put(wka_port); wka_port 1028 drivers/s390/scsi/zfcp_fc.c struct zfcp_fc_wka_port *wka_port; wka_port 1030 drivers/s390/scsi/zfcp_fc.c wka_port = zfcp_fc_job_wka_port(job); wka_port 1031 drivers/s390/scsi/zfcp_fc.c if (!wka_port) wka_port 1034 drivers/s390/scsi/zfcp_fc.c ret = zfcp_fc_wka_port_get(wka_port); wka_port 1039 drivers/s390/scsi/zfcp_fc.c ret = zfcp_fsf_send_ct(wka_port, ct, NULL, job->timeout / HZ); wka_port 1041 drivers/s390/scsi/zfcp_fc.c zfcp_fc_wka_port_put(wka_port); wka_port 1093 drivers/s390/scsi/zfcp_fsf.c int zfcp_fsf_send_ct(struct zfcp_fc_wka_port *wka_port, wka_port 1097 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = wka_port->adapter->qdio; wka_port 1119 drivers/s390/scsi/zfcp_fsf.c req->qtcb->header.port_handle = wka_port->handle; wka_port 1120 drivers/s390/scsi/zfcp_fsf.c ct->d_id = wka_port->d_id; wka_port 1123 drivers/s390/scsi/zfcp_fsf.c zfcp_dbf_san_req("fssct_1", req, wka_port->d_id); wka_port 1604 drivers/s390/scsi/zfcp_fsf.c struct zfcp_fc_wka_port *wka_port = req->data; wka_port 1608 drivers/s390/scsi/zfcp_fsf.c wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; wka_port 1615 drivers/s390/scsi/zfcp_fsf.c "Opening WKA port 0x%x failed\n", wka_port->d_id); wka_port 1619 drivers/s390/scsi/zfcp_fsf.c wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; wka_port 1622 drivers/s390/scsi/zfcp_fsf.c wka_port->handle = header->port_handle; wka_port 1625 drivers/s390/scsi/zfcp_fsf.c wka_port->status = ZFCP_FC_WKA_PORT_ONLINE; wka_port 1628 drivers/s390/scsi/zfcp_fsf.c wake_up(&wka_port->completion_wq); wka_port 1636 drivers/s390/scsi/zfcp_fsf.c int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *wka_port) wka_port 1638 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = wka_port->adapter->qdio; wka_port 1660 drivers/s390/scsi/zfcp_fsf.c hton24(req->qtcb->bottom.support.d_id, wka_port->d_id); wka_port 1661 drivers/s390/scsi/zfcp_fsf.c req->data = wka_port; wka_port 1673 drivers/s390/scsi/zfcp_fsf.c zfcp_dbf_rec_run_wka("fsowp_1", wka_port, req_id); wka_port 1679 drivers/s390/scsi/zfcp_fsf.c struct zfcp_fc_wka_port *wka_port = req->data; wka_port 1683 drivers/s390/scsi/zfcp_fsf.c zfcp_erp_adapter_reopen(wka_port->adapter, 0, "fscwph1"); wka_port 1686 drivers/s390/scsi/zfcp_fsf.c wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; wka_port 1687 drivers/s390/scsi/zfcp_fsf.c wake_up(&wka_port->completion_wq); wka_port 1695 drivers/s390/scsi/zfcp_fsf.c int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *wka_port) wka_port 1697 drivers/s390/scsi/zfcp_fsf.c struct zfcp_qdio *qdio = wka_port->adapter->qdio; wka_port 1719 drivers/s390/scsi/zfcp_fsf.c req->data = wka_port; wka_port 1720 drivers/s390/scsi/zfcp_fsf.c req->qtcb->header.port_handle = wka_port->handle; wka_port 1732 drivers/s390/scsi/zfcp_fsf.c zfcp_dbf_rec_run_wka("fscwp_1", wka_port, req_id);