Commit 507e4969 authored by Martin Peschke's avatar Martin Peschke Committed by James Bottomley

[SCSI] zfcp: Remove obsolete erp_dbf trace

This patch removes the now obsolete erp_dbf trace.
Signed-off-by: default avatarMartin Peschke <mp3@de.ibm.com>
Signed-off-by: default avatarChristof Schmitt <christof.schmitt@de.ibm.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 6f4f365e
...@@ -1030,7 +1030,6 @@ zfcp_adapter_enqueue(struct ccw_device *ccw_device) ...@@ -1030,7 +1030,6 @@ zfcp_adapter_enqueue(struct ccw_device *ccw_device)
/* initialize debug locks */ /* initialize debug locks */
spin_lock_init(&adapter->erp_dbf_lock);
spin_lock_init(&adapter->hba_dbf_lock); spin_lock_init(&adapter->hba_dbf_lock);
spin_lock_init(&adapter->san_dbf_lock); spin_lock_init(&adapter->san_dbf_lock);
spin_lock_init(&adapter->scsi_dbf_lock); spin_lock_init(&adapter->scsi_dbf_lock);
......
...@@ -223,19 +223,16 @@ zfcp_ccw_notify(struct ccw_device *ccw_device, int event) ...@@ -223,19 +223,16 @@ zfcp_ccw_notify(struct ccw_device *ccw_device, int event)
case CIO_GONE: case CIO_GONE:
ZFCP_LOG_NORMAL("adapter %s: device gone\n", ZFCP_LOG_NORMAL("adapter %s: device gone\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf,1,"dev_gone");
zfcp_erp_adapter_shutdown(adapter, 0, 87, 0); zfcp_erp_adapter_shutdown(adapter, 0, 87, 0);
break; break;
case CIO_NO_PATH: case CIO_NO_PATH:
ZFCP_LOG_NORMAL("adapter %s: no path\n", ZFCP_LOG_NORMAL("adapter %s: no path\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf,1,"no_path");
zfcp_erp_adapter_shutdown(adapter, 0, 88, 0); zfcp_erp_adapter_shutdown(adapter, 0, 88, 0);
break; break;
case CIO_OPER: case CIO_OPER:
ZFCP_LOG_NORMAL("adapter %s: operational again\n", ZFCP_LOG_NORMAL("adapter %s: operational again\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf,1,"dev_oper");
zfcp_erp_modify_adapter_status(adapter, 11, 0, zfcp_erp_modify_adapter_status(adapter, 11, 0,
ZFCP_STATUS_COMMON_RUNNING, ZFCP_STATUS_COMMON_RUNNING,
ZFCP_SET); ZFCP_SET);
......
...@@ -1301,15 +1301,6 @@ int zfcp_adapter_debug_register(struct zfcp_adapter *adapter) ...@@ -1301,15 +1301,6 @@ int zfcp_adapter_debug_register(struct zfcp_adapter *adapter)
{ {
char dbf_name[DEBUG_MAX_NAME_LEN]; char dbf_name[DEBUG_MAX_NAME_LEN];
/* debug feature area which records recovery activity */
sprintf(dbf_name, "zfcp_%s_erp", zfcp_get_busid_by_adapter(adapter));
adapter->erp_dbf = debug_register(dbf_name, dbfsize, 2,
sizeof(struct zfcp_erp_dbf_record));
if (!adapter->erp_dbf)
goto failed;
debug_register_view(adapter->erp_dbf, &debug_hex_ascii_view);
debug_set_level(adapter->erp_dbf, 3);
/* debug feature area which records recovery activity */ /* debug feature area which records recovery activity */
sprintf(dbf_name, "zfcp_%s_rec", zfcp_get_busid_by_adapter(adapter)); sprintf(dbf_name, "zfcp_%s_rec", zfcp_get_busid_by_adapter(adapter));
adapter->rec_dbf = debug_register(dbf_name, dbfsize, 1, adapter->rec_dbf = debug_register(dbf_name, dbfsize, 1,
...@@ -1368,12 +1359,10 @@ void zfcp_adapter_debug_unregister(struct zfcp_adapter *adapter) ...@@ -1368,12 +1359,10 @@ void zfcp_adapter_debug_unregister(struct zfcp_adapter *adapter)
debug_unregister(adapter->san_dbf); debug_unregister(adapter->san_dbf);
debug_unregister(adapter->hba_dbf); debug_unregister(adapter->hba_dbf);
debug_unregister(adapter->rec_dbf); debug_unregister(adapter->rec_dbf);
debug_unregister(adapter->erp_dbf);
adapter->scsi_dbf = NULL; adapter->scsi_dbf = NULL;
adapter->san_dbf = NULL; adapter->san_dbf = NULL;
adapter->hba_dbf = NULL; adapter->hba_dbf = NULL;
adapter->rec_dbf = NULL; adapter->rec_dbf = NULL;
adapter->erp_dbf = NULL;
} }
#undef ZFCP_LOG_AREA #undef ZFCP_LOG_AREA
...@@ -274,11 +274,6 @@ struct zfcp_dbf_dump { ...@@ -274,11 +274,6 @@ struct zfcp_dbf_dump {
u8 data[]; /* dump data */ u8 data[]; /* dump data */
} __attribute__ ((packed)); } __attribute__ ((packed));
/* FIXME: to be inflated when reworking the erp dbf */
struct zfcp_erp_dbf_record {
u8 dummy[16];
} __attribute__ ((packed));
struct zfcp_rec_dbf_record_thread { struct zfcp_rec_dbf_record_thread {
u32 sema; u32 sema;
u32 total; u32 total;
...@@ -969,17 +964,14 @@ struct zfcp_adapter { ...@@ -969,17 +964,14 @@ struct zfcp_adapter {
u32 erp_low_mem_count; /* nr of erp actions waiting u32 erp_low_mem_count; /* nr of erp actions waiting
for memory */ for memory */
struct zfcp_port *nameserver_port; /* adapter's nameserver */ struct zfcp_port *nameserver_port; /* adapter's nameserver */
debug_info_t *erp_dbf;
debug_info_t *rec_dbf; debug_info_t *rec_dbf;
debug_info_t *hba_dbf; debug_info_t *hba_dbf;
debug_info_t *san_dbf; /* debug feature areas */ debug_info_t *san_dbf; /* debug feature areas */
debug_info_t *scsi_dbf; debug_info_t *scsi_dbf;
spinlock_t erp_dbf_lock;
spinlock_t rec_dbf_lock; spinlock_t rec_dbf_lock;
spinlock_t hba_dbf_lock; spinlock_t hba_dbf_lock;
spinlock_t san_dbf_lock; spinlock_t san_dbf_lock;
spinlock_t scsi_dbf_lock; spinlock_t scsi_dbf_lock;
struct zfcp_erp_dbf_record erp_dbf_buf;
struct zfcp_rec_dbf_record rec_dbf_buf; struct zfcp_rec_dbf_record rec_dbf_buf;
struct zfcp_hba_dbf_record hba_dbf_buf; struct zfcp_hba_dbf_record hba_dbf_buf;
struct zfcp_san_dbf_record san_dbf_buf; struct zfcp_san_dbf_record san_dbf_buf;
......
...@@ -132,11 +132,9 @@ static void zfcp_close_qdio(struct zfcp_adapter *adapter) ...@@ -132,11 +132,9 @@ static void zfcp_close_qdio(struct zfcp_adapter *adapter)
atomic_clear_mask(ZFCP_STATUS_ADAPTER_QDIOUP, &adapter->status); atomic_clear_mask(ZFCP_STATUS_ADAPTER_QDIOUP, &adapter->status);
write_unlock_irq(&req_queue->queue_lock); write_unlock_irq(&req_queue->queue_lock);
debug_text_event(adapter->erp_dbf, 3, "qdio_down2a");
while (qdio_shutdown(adapter->ccw_device, while (qdio_shutdown(adapter->ccw_device,
QDIO_FLAG_CLEANUP_USING_CLEAR) == -EINPROGRESS) QDIO_FLAG_CLEANUP_USING_CLEAR) == -EINPROGRESS)
ssleep(1); ssleep(1);
debug_text_event(adapter->erp_dbf, 3, "qdio_down2b");
/* cleanup used outbound sbals */ /* cleanup used outbound sbals */
count = atomic_read(&req_queue->free_count); count = atomic_read(&req_queue->free_count);
...@@ -209,7 +207,6 @@ static int zfcp_erp_adapter_reopen_internal(struct zfcp_adapter *adapter, ...@@ -209,7 +207,6 @@ static int zfcp_erp_adapter_reopen_internal(struct zfcp_adapter *adapter,
{ {
int retval; int retval;
debug_text_event(adapter->erp_dbf, 5, "a_ro");
ZFCP_LOG_DEBUG("reopen adapter %s\n", ZFCP_LOG_DEBUG("reopen adapter %s\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
...@@ -218,7 +215,6 @@ static int zfcp_erp_adapter_reopen_internal(struct zfcp_adapter *adapter, ...@@ -218,7 +215,6 @@ static int zfcp_erp_adapter_reopen_internal(struct zfcp_adapter *adapter,
if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_FAILED, &adapter->status)) { if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_FAILED, &adapter->status)) {
ZFCP_LOG_DEBUG("skipped reopen of failed adapter %s\n", ZFCP_LOG_DEBUG("skipped reopen of failed adapter %s\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf, 5, "a_ro_f");
/* ensure propagation of failed status to new devices */ /* ensure propagation of failed status to new devices */
zfcp_erp_adapter_failed(adapter, 13, 0); zfcp_erp_adapter_failed(adapter, 13, 0);
retval = -EIO; retval = -EIO;
...@@ -403,7 +399,6 @@ zfcp_erp_adisc_handler(unsigned long data) ...@@ -403,7 +399,6 @@ zfcp_erp_adisc_handler(unsigned long data)
"force physical port reopen " "force physical port reopen "
"(adapter %s, port d_id=0x%06x)\n", "(adapter %s, port d_id=0x%06x)\n",
zfcp_get_busid_by_adapter(adapter), d_id); zfcp_get_busid_by_adapter(adapter), d_id);
debug_text_event(adapter->erp_dbf, 3, "forcreop");
if (zfcp_erp_port_forced_reopen(port, 0, 63, 0)) if (zfcp_erp_port_forced_reopen(port, 0, 63, 0))
ZFCP_LOG_NORMAL("failed reopen of port " ZFCP_LOG_NORMAL("failed reopen of port "
"(adapter %s, wwpn=0x%016Lx)\n", "(adapter %s, wwpn=0x%016Lx)\n",
...@@ -492,10 +487,6 @@ static int zfcp_erp_port_forced_reopen_internal(struct zfcp_port *port, ...@@ -492,10 +487,6 @@ static int zfcp_erp_port_forced_reopen_internal(struct zfcp_port *port,
int clear_mask, u8 id, u64 ref) int clear_mask, u8 id, u64 ref)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = port->adapter;
debug_text_event(adapter->erp_dbf, 5, "pf_ro");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
ZFCP_LOG_DEBUG("forced reopen of port 0x%016Lx on adapter %s\n", ZFCP_LOG_DEBUG("forced reopen of port 0x%016Lx on adapter %s\n",
port->wwpn, zfcp_get_busid_by_port(port)); port->wwpn, zfcp_get_busid_by_port(port));
...@@ -506,8 +497,6 @@ static int zfcp_erp_port_forced_reopen_internal(struct zfcp_port *port, ...@@ -506,8 +497,6 @@ static int zfcp_erp_port_forced_reopen_internal(struct zfcp_port *port,
ZFCP_LOG_DEBUG("skipped forced reopen of failed port 0x%016Lx " ZFCP_LOG_DEBUG("skipped forced reopen of failed port 0x%016Lx "
"on adapter %s\n", port->wwpn, "on adapter %s\n", port->wwpn,
zfcp_get_busid_by_port(port)); zfcp_get_busid_by_port(port));
debug_text_event(adapter->erp_dbf, 5, "pf_ro_f");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
retval = -EIO; retval = -EIO;
goto out; goto out;
} }
...@@ -560,10 +549,6 @@ static int zfcp_erp_port_reopen_internal(struct zfcp_port *port, int clear_mask, ...@@ -560,10 +549,6 @@ static int zfcp_erp_port_reopen_internal(struct zfcp_port *port, int clear_mask,
u8 id, u64 ref) u8 id, u64 ref)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = port->adapter;
debug_text_event(adapter->erp_dbf, 5, "p_ro");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
ZFCP_LOG_DEBUG("reopen of port 0x%016Lx on adapter %s\n", ZFCP_LOG_DEBUG("reopen of port 0x%016Lx on adapter %s\n",
port->wwpn, zfcp_get_busid_by_port(port)); port->wwpn, zfcp_get_busid_by_port(port));
...@@ -574,8 +559,6 @@ static int zfcp_erp_port_reopen_internal(struct zfcp_port *port, int clear_mask, ...@@ -574,8 +559,6 @@ static int zfcp_erp_port_reopen_internal(struct zfcp_port *port, int clear_mask,
ZFCP_LOG_DEBUG("skipped reopen of failed port 0x%016Lx " ZFCP_LOG_DEBUG("skipped reopen of failed port 0x%016Lx "
"on adapter %s\n", port->wwpn, "on adapter %s\n", port->wwpn,
zfcp_get_busid_by_port(port)); zfcp_get_busid_by_port(port));
debug_text_event(adapter->erp_dbf, 5, "p_ro_f");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
/* ensure propagation of failed status to new devices */ /* ensure propagation of failed status to new devices */
zfcp_erp_port_failed(port, 14, 0); zfcp_erp_port_failed(port, 14, 0);
retval = -EIO; retval = -EIO;
...@@ -630,8 +613,6 @@ static int zfcp_erp_unit_reopen_internal(struct zfcp_unit *unit, int clear_mask, ...@@ -630,8 +613,6 @@ static int zfcp_erp_unit_reopen_internal(struct zfcp_unit *unit, int clear_mask,
int retval; int retval;
struct zfcp_adapter *adapter = unit->port->adapter; struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 5, "u_ro");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun, sizeof (fcp_lun_t));
ZFCP_LOG_DEBUG("reopen of unit 0x%016Lx on port 0x%016Lx " ZFCP_LOG_DEBUG("reopen of unit 0x%016Lx on port 0x%016Lx "
"on adapter %s\n", unit->fcp_lun, "on adapter %s\n", unit->fcp_lun,
unit->port->wwpn, zfcp_get_busid_by_unit(unit)); unit->port->wwpn, zfcp_get_busid_by_unit(unit));
...@@ -643,9 +624,6 @@ static int zfcp_erp_unit_reopen_internal(struct zfcp_unit *unit, int clear_mask, ...@@ -643,9 +624,6 @@ static int zfcp_erp_unit_reopen_internal(struct zfcp_unit *unit, int clear_mask,
"on port 0x%016Lx on adapter %s\n", "on port 0x%016Lx on adapter %s\n",
unit->fcp_lun, unit->port->wwpn, unit->fcp_lun, unit->port->wwpn,
zfcp_get_busid_by_unit(unit)); zfcp_get_busid_by_unit(unit));
debug_text_event(adapter->erp_dbf, 5, "u_ro_f");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun,
sizeof (fcp_lun_t));
retval = -EIO; retval = -EIO;
goto out; goto out;
} }
...@@ -690,7 +668,6 @@ int zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear_mask, u8 id, u64 ref) ...@@ -690,7 +668,6 @@ int zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear_mask, u8 id, u64 ref)
*/ */
static void zfcp_erp_adapter_block(struct zfcp_adapter *adapter, int clear_mask) static void zfcp_erp_adapter_block(struct zfcp_adapter *adapter, int clear_mask)
{ {
debug_text_event(adapter->erp_dbf, 6, "a_bl");
zfcp_erp_modify_adapter_status(adapter, 15, 0, zfcp_erp_modify_adapter_status(adapter, 15, 0,
ZFCP_STATUS_COMMON_UNBLOCKED | ZFCP_STATUS_COMMON_UNBLOCKED |
clear_mask, ZFCP_CLEAR); clear_mask, ZFCP_CLEAR);
...@@ -725,7 +702,6 @@ static int atomic_test_and_clear_mask(unsigned long mask, atomic_t *v) ...@@ -725,7 +702,6 @@ static int atomic_test_and_clear_mask(unsigned long mask, atomic_t *v)
*/ */
static void zfcp_erp_adapter_unblock(struct zfcp_adapter *adapter) static void zfcp_erp_adapter_unblock(struct zfcp_adapter *adapter)
{ {
debug_text_event(adapter->erp_dbf, 6, "a_ubl");
if (atomic_test_and_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, if (atomic_test_and_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED,
&adapter->status)) &adapter->status))
zfcp_rec_dbf_event_adapter(16, 0, adapter); zfcp_rec_dbf_event_adapter(16, 0, adapter);
...@@ -743,10 +719,6 @@ static void zfcp_erp_adapter_unblock(struct zfcp_adapter *adapter) ...@@ -743,10 +719,6 @@ static void zfcp_erp_adapter_unblock(struct zfcp_adapter *adapter)
static void static void
zfcp_erp_port_block(struct zfcp_port *port, int clear_mask) zfcp_erp_port_block(struct zfcp_port *port, int clear_mask)
{ {
struct zfcp_adapter *adapter = port->adapter;
debug_text_event(adapter->erp_dbf, 6, "p_bl");
debug_event(adapter->erp_dbf, 6, &port->wwpn, sizeof (wwn_t));
zfcp_erp_modify_port_status(port, 17, 0, zfcp_erp_modify_port_status(port, 17, 0,
ZFCP_STATUS_COMMON_UNBLOCKED | clear_mask, ZFCP_STATUS_COMMON_UNBLOCKED | clear_mask,
ZFCP_CLEAR); ZFCP_CLEAR);
...@@ -762,10 +734,6 @@ zfcp_erp_port_block(struct zfcp_port *port, int clear_mask) ...@@ -762,10 +734,6 @@ zfcp_erp_port_block(struct zfcp_port *port, int clear_mask)
static void static void
zfcp_erp_port_unblock(struct zfcp_port *port) zfcp_erp_port_unblock(struct zfcp_port *port)
{ {
struct zfcp_adapter *adapter = port->adapter;
debug_text_event(adapter->erp_dbf, 6, "p_ubl");
debug_event(adapter->erp_dbf, 6, &port->wwpn, sizeof (wwn_t));
if (atomic_test_and_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, if (atomic_test_and_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED,
&port->status)) &port->status))
zfcp_rec_dbf_event_port(18, 0, port); zfcp_rec_dbf_event_port(18, 0, port);
...@@ -783,10 +751,6 @@ zfcp_erp_port_unblock(struct zfcp_port *port) ...@@ -783,10 +751,6 @@ zfcp_erp_port_unblock(struct zfcp_port *port)
static void static void
zfcp_erp_unit_block(struct zfcp_unit *unit, int clear_mask) zfcp_erp_unit_block(struct zfcp_unit *unit, int clear_mask)
{ {
struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 6, "u_bl");
debug_event(adapter->erp_dbf, 6, &unit->fcp_lun, sizeof (fcp_lun_t));
zfcp_erp_modify_unit_status(unit, 19, 0, zfcp_erp_modify_unit_status(unit, 19, 0,
ZFCP_STATUS_COMMON_UNBLOCKED | clear_mask, ZFCP_STATUS_COMMON_UNBLOCKED | clear_mask,
ZFCP_CLEAR); ZFCP_CLEAR);
...@@ -802,10 +766,6 @@ zfcp_erp_unit_block(struct zfcp_unit *unit, int clear_mask) ...@@ -802,10 +766,6 @@ zfcp_erp_unit_block(struct zfcp_unit *unit, int clear_mask)
static void static void
zfcp_erp_unit_unblock(struct zfcp_unit *unit) zfcp_erp_unit_unblock(struct zfcp_unit *unit)
{ {
struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 6, "u_ubl");
debug_event(adapter->erp_dbf, 6, &unit->fcp_lun, sizeof (fcp_lun_t));
if (atomic_test_and_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, if (atomic_test_and_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED,
&unit->status)) &unit->status))
zfcp_rec_dbf_event_unit(20, 0, unit); zfcp_rec_dbf_event_unit(20, 0, unit);
...@@ -816,9 +776,6 @@ zfcp_erp_action_ready(struct zfcp_erp_action *erp_action) ...@@ -816,9 +776,6 @@ zfcp_erp_action_ready(struct zfcp_erp_action *erp_action)
{ {
struct zfcp_adapter *adapter = erp_action->adapter; struct zfcp_adapter *adapter = erp_action->adapter;
debug_text_event(adapter->erp_dbf, 4, "a_ar");
debug_event(adapter->erp_dbf, 4, &erp_action->action, sizeof (int));
zfcp_erp_action_to_ready(erp_action); zfcp_erp_action_to_ready(erp_action);
up(&adapter->erp_ready_sem); up(&adapter->erp_ready_sem);
zfcp_rec_dbf_event_thread(2, adapter, 0); zfcp_rec_dbf_event_thread(2, adapter, 0);
...@@ -883,14 +840,9 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action) ...@@ -883,14 +840,9 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action)
if (zfcp_reqlist_find_safe(adapter, erp_action->fsf_req) && if (zfcp_reqlist_find_safe(adapter, erp_action->fsf_req) &&
erp_action->fsf_req->erp_action == erp_action) { erp_action->fsf_req->erp_action == erp_action) {
/* fsf_req still exists */ /* fsf_req still exists */
debug_text_event(adapter->erp_dbf, 3, "a_ca_req");
debug_event(adapter->erp_dbf, 3, &erp_action->fsf_req,
sizeof (unsigned long));
/* dismiss fsf_req of timed out/dismissed erp_action */ /* dismiss fsf_req of timed out/dismissed erp_action */
if (erp_action->status & (ZFCP_STATUS_ERP_DISMISSED | if (erp_action->status & (ZFCP_STATUS_ERP_DISMISSED |
ZFCP_STATUS_ERP_TIMEDOUT)) { ZFCP_STATUS_ERP_TIMEDOUT)) {
debug_text_event(adapter->erp_dbf, 3,
"a_ca_disreq");
erp_action->fsf_req->status |= erp_action->fsf_req->status |=
ZFCP_STATUS_FSFREQ_DISMISSED; ZFCP_STATUS_FSFREQ_DISMISSED;
zfcp_rec_dbf_event_action(142, erp_action); zfcp_rec_dbf_event_action(142, erp_action);
...@@ -915,7 +867,6 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action) ...@@ -915,7 +867,6 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action)
erp_action->fsf_req = NULL; erp_action->fsf_req = NULL;
} }
} else { } else {
debug_text_event(adapter->erp_dbf, 3, "a_ca_gonereq");
/* /*
* even if this fsf_req has gone, forget about * even if this fsf_req has gone, forget about
* association between erp_action and fsf_req * association between erp_action and fsf_req
...@@ -923,8 +874,7 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action) ...@@ -923,8 +874,7 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action)
erp_action->fsf_req = NULL; erp_action->fsf_req = NULL;
} }
spin_unlock(&adapter->req_list_lock); spin_unlock(&adapter->req_list_lock);
} else }
debug_text_event(adapter->erp_dbf, 3, "a_ca_noreq");
} }
/** /**
...@@ -936,19 +886,11 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action) ...@@ -936,19 +886,11 @@ zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *erp_action)
static void zfcp_erp_async_handler_nolock(struct zfcp_erp_action *erp_action, static void zfcp_erp_async_handler_nolock(struct zfcp_erp_action *erp_action,
unsigned long set_mask) unsigned long set_mask)
{ {
struct zfcp_adapter *adapter = erp_action->adapter;
if (zfcp_erp_action_exists(erp_action) == ZFCP_ERP_ACTION_RUNNING) { if (zfcp_erp_action_exists(erp_action) == ZFCP_ERP_ACTION_RUNNING) {
debug_text_event(adapter->erp_dbf, 2, "a_asyh_ex");
debug_event(adapter->erp_dbf, 2, &erp_action->action,
sizeof (int));
erp_action->status |= set_mask; erp_action->status |= set_mask;
zfcp_erp_action_ready(erp_action); zfcp_erp_action_ready(erp_action);
} else { } else {
/* action is ready or gone - nothing to do */ /* action is ready or gone - nothing to do */
debug_text_event(adapter->erp_dbf, 3, "a_asyh_gone");
debug_event(adapter->erp_dbf, 3, &erp_action->action,
sizeof (int));
} }
} }
...@@ -975,10 +917,6 @@ static void ...@@ -975,10 +917,6 @@ static void
zfcp_erp_memwait_handler(unsigned long data) zfcp_erp_memwait_handler(unsigned long data)
{ {
struct zfcp_erp_action *erp_action = (struct zfcp_erp_action *) data; struct zfcp_erp_action *erp_action = (struct zfcp_erp_action *) data;
struct zfcp_adapter *adapter = erp_action->adapter;
debug_text_event(adapter->erp_dbf, 2, "a_mwh");
debug_event(adapter->erp_dbf, 2, &erp_action->action, sizeof (int));
zfcp_erp_async_handler(erp_action, 0); zfcp_erp_async_handler(erp_action, 0);
} }
...@@ -991,10 +929,6 @@ zfcp_erp_memwait_handler(unsigned long data) ...@@ -991,10 +929,6 @@ zfcp_erp_memwait_handler(unsigned long data)
static void zfcp_erp_timeout_handler(unsigned long data) static void zfcp_erp_timeout_handler(unsigned long data)
{ {
struct zfcp_erp_action *erp_action = (struct zfcp_erp_action *) data; struct zfcp_erp_action *erp_action = (struct zfcp_erp_action *) data;
struct zfcp_adapter *adapter = erp_action->adapter;
debug_text_event(adapter->erp_dbf, 2, "a_th");
debug_event(adapter->erp_dbf, 2, &erp_action->action, sizeof (int));
zfcp_erp_async_handler(erp_action, ZFCP_STATUS_ERP_TIMEDOUT); zfcp_erp_async_handler(erp_action, ZFCP_STATUS_ERP_TIMEDOUT);
} }
...@@ -1009,11 +943,6 @@ static void zfcp_erp_timeout_handler(unsigned long data) ...@@ -1009,11 +943,6 @@ static void zfcp_erp_timeout_handler(unsigned long data)
*/ */
static void zfcp_erp_action_dismiss(struct zfcp_erp_action *erp_action) static void zfcp_erp_action_dismiss(struct zfcp_erp_action *erp_action)
{ {
struct zfcp_adapter *adapter = erp_action->adapter;
debug_text_event(adapter->erp_dbf, 2, "a_adis");
debug_event(adapter->erp_dbf, 2, &erp_action->action, sizeof (int));
erp_action->status |= ZFCP_STATUS_ERP_DISMISSED; erp_action->status |= ZFCP_STATUS_ERP_DISMISSED;
if (zfcp_erp_action_exists(erp_action) == ZFCP_ERP_ACTION_RUNNING) if (zfcp_erp_action_exists(erp_action) == ZFCP_ERP_ACTION_RUNNING)
zfcp_erp_action_ready(erp_action); zfcp_erp_action_ready(erp_action);
...@@ -1031,12 +960,10 @@ zfcp_erp_thread_setup(struct zfcp_adapter *adapter) ...@@ -1031,12 +960,10 @@ zfcp_erp_thread_setup(struct zfcp_adapter *adapter)
ZFCP_LOG_NORMAL("error: creation of erp thread failed for " ZFCP_LOG_NORMAL("error: creation of erp thread failed for "
"adapter %s\n", "adapter %s\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf, 5, "a_thset_fail");
} else { } else {
wait_event(adapter->erp_thread_wqh, wait_event(adapter->erp_thread_wqh,
atomic_test_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, atomic_test_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP,
&adapter->status)); &adapter->status));
debug_text_event(adapter->erp_dbf, 5, "a_thset_ok");
} }
return (retval < 0); return (retval < 0);
...@@ -1072,8 +999,6 @@ zfcp_erp_thread_kill(struct zfcp_adapter *adapter) ...@@ -1072,8 +999,6 @@ zfcp_erp_thread_kill(struct zfcp_adapter *adapter)
atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL, atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL,
&adapter->status); &adapter->status);
debug_text_event(adapter->erp_dbf, 5, "a_thki_ok");
return retval; return retval;
} }
...@@ -1096,7 +1021,6 @@ zfcp_erp_thread(void *data) ...@@ -1096,7 +1021,6 @@ zfcp_erp_thread(void *data)
/* Block all signals */ /* Block all signals */
siginitsetinv(&current->blocked, 0); siginitsetinv(&current->blocked, 0);
atomic_set_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status); atomic_set_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status);
debug_text_event(adapter->erp_dbf, 5, "a_th_run");
wake_up(&adapter->erp_thread_wqh); wake_up(&adapter->erp_thread_wqh);
while (!atomic_test_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL, while (!atomic_test_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL,
...@@ -1124,11 +1048,9 @@ zfcp_erp_thread(void *data) ...@@ -1124,11 +1048,9 @@ zfcp_erp_thread(void *data)
zfcp_rec_dbf_event_thread(4, adapter, 1); zfcp_rec_dbf_event_thread(4, adapter, 1);
down_interruptible(&adapter->erp_ready_sem); down_interruptible(&adapter->erp_ready_sem);
zfcp_rec_dbf_event_thread(5, adapter, 1); zfcp_rec_dbf_event_thread(5, adapter, 1);
debug_text_event(adapter->erp_dbf, 5, "a_th_woken");
} }
atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status); atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status);
debug_text_event(adapter->erp_dbf, 5, "a_th_stop");
wake_up(&adapter->erp_thread_wqh); wake_up(&adapter->erp_thread_wqh);
return 0; return 0;
...@@ -1164,7 +1086,6 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action) ...@@ -1164,7 +1086,6 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
/* dequeue dismissed action and leave, if required */ /* dequeue dismissed action and leave, if required */
retval = zfcp_erp_strategy_check_action(erp_action, retval); retval = zfcp_erp_strategy_check_action(erp_action, retval);
if (retval == ZFCP_ERP_DISMISSED) { if (retval == ZFCP_ERP_DISMISSED) {
debug_text_event(adapter->erp_dbf, 4, "a_st_dis1");
goto unlock; goto unlock;
} }
...@@ -1215,20 +1136,17 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action) ...@@ -1215,20 +1136,17 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
element was timed out. element was timed out.
*/ */
if (adapter->erp_total_count == adapter->erp_low_mem_count) { if (adapter->erp_total_count == adapter->erp_low_mem_count) {
debug_text_event(adapter->erp_dbf, 3, "a_st_lowmem");
ZFCP_LOG_NORMAL("error: no mempool elements available, " ZFCP_LOG_NORMAL("error: no mempool elements available, "
"restarting I/O on adapter %s " "restarting I/O on adapter %s "
"to free mempool\n", "to free mempool\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
zfcp_erp_adapter_reopen_internal(adapter, 0, 66, 0); zfcp_erp_adapter_reopen_internal(adapter, 0, 66, 0);
} else { } else {
debug_text_event(adapter->erp_dbf, 2, "a_st_memw");
retval = zfcp_erp_strategy_memwait(erp_action); retval = zfcp_erp_strategy_memwait(erp_action);
} }
goto unlock; goto unlock;
case ZFCP_ERP_CONTINUES: case ZFCP_ERP_CONTINUES:
/* leave since this action runs asynchronously */ /* leave since this action runs asynchronously */
debug_text_event(adapter->erp_dbf, 6, "a_st_cont");
if (erp_action->status & ZFCP_STATUS_ERP_LOWMEM) { if (erp_action->status & ZFCP_STATUS_ERP_LOWMEM) {
--adapter->erp_low_mem_count; --adapter->erp_low_mem_count;
erp_action->status &= ~ZFCP_STATUS_ERP_LOWMEM; erp_action->status &= ~ZFCP_STATUS_ERP_LOWMEM;
...@@ -1257,7 +1175,6 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action) ...@@ -1257,7 +1175,6 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
* action is repeated in order to process state change * action is repeated in order to process state change
*/ */
if (retval == ZFCP_ERP_EXIT) { if (retval == ZFCP_ERP_EXIT) {
debug_text_event(adapter->erp_dbf, 2, "a_st_exit");
goto unlock; goto unlock;
} }
...@@ -1283,8 +1200,6 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action) ...@@ -1283,8 +1200,6 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
if (retval != ZFCP_ERP_DISMISSED) if (retval != ZFCP_ERP_DISMISSED)
zfcp_erp_strategy_check_queues(adapter); zfcp_erp_strategy_check_queues(adapter);
debug_text_event(adapter->erp_dbf, 6, "a_st_done");
return retval; return retval;
} }
...@@ -1299,17 +1214,12 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action) ...@@ -1299,17 +1214,12 @@ zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
static int static int
zfcp_erp_strategy_check_action(struct zfcp_erp_action *erp_action, int retval) zfcp_erp_strategy_check_action(struct zfcp_erp_action *erp_action, int retval)
{ {
struct zfcp_adapter *adapter = erp_action->adapter;
zfcp_erp_strategy_check_fsfreq(erp_action); zfcp_erp_strategy_check_fsfreq(erp_action);
debug_event(adapter->erp_dbf, 5, &erp_action->action, sizeof (int));
if (erp_action->status & ZFCP_STATUS_ERP_DISMISSED) { if (erp_action->status & ZFCP_STATUS_ERP_DISMISSED) {
debug_text_event(adapter->erp_dbf, 3, "a_stcd_dis");
zfcp_erp_action_dequeue(erp_action); zfcp_erp_action_dequeue(erp_action);
retval = ZFCP_ERP_DISMISSED; retval = ZFCP_ERP_DISMISSED;
} else }
debug_text_event(adapter->erp_dbf, 5, "a_stcd_nodis");
return retval; return retval;
} }
...@@ -1318,7 +1228,6 @@ static int ...@@ -1318,7 +1228,6 @@ static int
zfcp_erp_strategy_do_action(struct zfcp_erp_action *erp_action) zfcp_erp_strategy_do_action(struct zfcp_erp_action *erp_action)
{ {
int retval = ZFCP_ERP_FAILED; int retval = ZFCP_ERP_FAILED;
struct zfcp_adapter *adapter = erp_action->adapter;
/* /*
* try to execute/continue action as far as possible, * try to execute/continue action as far as possible,
...@@ -1348,9 +1257,6 @@ zfcp_erp_strategy_do_action(struct zfcp_erp_action *erp_action) ...@@ -1348,9 +1257,6 @@ zfcp_erp_strategy_do_action(struct zfcp_erp_action *erp_action)
break; break;
default: default:
debug_text_exception(adapter->erp_dbf, 1, "a_stda_bug");
debug_event(adapter->erp_dbf, 1, &erp_action->action,
sizeof (int));
ZFCP_LOG_NORMAL("bug: unknown erp action requested on " ZFCP_LOG_NORMAL("bug: unknown erp action requested on "
"adapter %s (action=%d)\n", "adapter %s (action=%d)\n",
zfcp_get_busid_by_adapter(erp_action->adapter), zfcp_get_busid_by_adapter(erp_action->adapter),
...@@ -1372,10 +1278,7 @@ static int ...@@ -1372,10 +1278,7 @@ static int
zfcp_erp_strategy_memwait(struct zfcp_erp_action *erp_action) zfcp_erp_strategy_memwait(struct zfcp_erp_action *erp_action)
{ {
int retval = ZFCP_ERP_CONTINUES; int retval = ZFCP_ERP_CONTINUES;
struct zfcp_adapter *adapter = erp_action->adapter;
debug_text_event(adapter->erp_dbf, 6, "a_mwinit");
debug_event(adapter->erp_dbf, 6, &erp_action->action, sizeof (int));
init_timer(&erp_action->timer); init_timer(&erp_action->timer);
erp_action->timer.function = zfcp_erp_memwait_handler; erp_action->timer.function = zfcp_erp_memwait_handler;
erp_action->timer.data = (unsigned long) erp_action; erp_action->timer.data = (unsigned long) erp_action;
...@@ -1398,7 +1301,6 @@ zfcp_erp_adapter_failed(struct zfcp_adapter *adapter, u8 id, u64 ref) ...@@ -1398,7 +1301,6 @@ zfcp_erp_adapter_failed(struct zfcp_adapter *adapter, u8 id, u64 ref)
ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET); ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET);
ZFCP_LOG_NORMAL("adapter erp failed on adapter %s\n", ZFCP_LOG_NORMAL("adapter erp failed on adapter %s\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf, 2, "a_afail");
} }
/* /*
...@@ -1420,9 +1322,6 @@ zfcp_erp_port_failed(struct zfcp_port *port, u8 id, u64 ref) ...@@ -1420,9 +1322,6 @@ zfcp_erp_port_failed(struct zfcp_port *port, u8 id, u64 ref)
else else
ZFCP_LOG_NORMAL("port erp failed (adapter %s, wwpn=0x%016Lx)\n", ZFCP_LOG_NORMAL("port erp failed (adapter %s, wwpn=0x%016Lx)\n",
zfcp_get_busid_by_port(port), port->wwpn); zfcp_get_busid_by_port(port), port->wwpn);
debug_text_event(port->adapter->erp_dbf, 2, "p_pfail");
debug_event(port->adapter->erp_dbf, 2, &port->wwpn, sizeof (wwn_t));
} }
/* /*
...@@ -1440,9 +1339,6 @@ zfcp_erp_unit_failed(struct zfcp_unit *unit, u8 id, u64 ref) ...@@ -1440,9 +1339,6 @@ zfcp_erp_unit_failed(struct zfcp_unit *unit, u8 id, u64 ref)
ZFCP_LOG_NORMAL("unit erp failed on unit 0x%016Lx on port 0x%016Lx " ZFCP_LOG_NORMAL("unit erp failed on unit 0x%016Lx on port 0x%016Lx "
" on adapter %s\n", unit->fcp_lun, " on adapter %s\n", unit->fcp_lun,
unit->port->wwpn, zfcp_get_busid_by_unit(unit)); unit->port->wwpn, zfcp_get_busid_by_unit(unit));
debug_text_event(unit->port->adapter->erp_dbf, 2, "u_ufail");
debug_event(unit->port->adapter->erp_dbf, 2,
&unit->fcp_lun, sizeof (fcp_lun_t));
} }
/* /*
...@@ -1466,10 +1362,6 @@ zfcp_erp_strategy_check_target(struct zfcp_erp_action *erp_action, int result) ...@@ -1466,10 +1362,6 @@ zfcp_erp_strategy_check_target(struct zfcp_erp_action *erp_action, int result)
struct zfcp_port *port = erp_action->port; struct zfcp_port *port = erp_action->port;
struct zfcp_unit *unit = erp_action->unit; struct zfcp_unit *unit = erp_action->unit;
debug_text_event(adapter->erp_dbf, 5, "a_stct_norm");
debug_event(adapter->erp_dbf, 5, &erp_action->action, sizeof (int));
debug_event(adapter->erp_dbf, 5, &result, sizeof (int));
switch (erp_action->action) { switch (erp_action->action) {
case ZFCP_ERP_ACTION_REOPEN_UNIT: case ZFCP_ERP_ACTION_REOPEN_UNIT:
...@@ -1496,9 +1388,6 @@ zfcp_erp_strategy_statechange(int action, ...@@ -1496,9 +1388,6 @@ zfcp_erp_strategy_statechange(int action,
struct zfcp_port *port, struct zfcp_port *port,
struct zfcp_unit *unit, int retval) struct zfcp_unit *unit, int retval)
{ {
debug_text_event(adapter->erp_dbf, 3, "a_stsc");
debug_event(adapter->erp_dbf, 3, &action, sizeof (int));
switch (action) { switch (action) {
case ZFCP_ERP_ACTION_REOPEN_ADAPTER: case ZFCP_ERP_ACTION_REOPEN_ADAPTER:
...@@ -1551,10 +1440,6 @@ zfcp_erp_strategy_statechange_detected(atomic_t * target_status, u32 erp_status) ...@@ -1551,10 +1440,6 @@ zfcp_erp_strategy_statechange_detected(atomic_t * target_status, u32 erp_status)
static int static int
zfcp_erp_strategy_check_unit(struct zfcp_unit *unit, int result) zfcp_erp_strategy_check_unit(struct zfcp_unit *unit, int result)
{ {
debug_text_event(unit->port->adapter->erp_dbf, 5, "u_stct");
debug_event(unit->port->adapter->erp_dbf, 5, &unit->fcp_lun,
sizeof (fcp_lun_t));
switch (result) { switch (result) {
case ZFCP_ERP_SUCCEEDED : case ZFCP_ERP_SUCCEEDED :
atomic_set(&unit->erp_counter, 0); atomic_set(&unit->erp_counter, 0);
...@@ -1581,9 +1466,6 @@ zfcp_erp_strategy_check_unit(struct zfcp_unit *unit, int result) ...@@ -1581,9 +1466,6 @@ zfcp_erp_strategy_check_unit(struct zfcp_unit *unit, int result)
static int static int
zfcp_erp_strategy_check_port(struct zfcp_port *port, int result) zfcp_erp_strategy_check_port(struct zfcp_port *port, int result)
{ {
debug_text_event(port->adapter->erp_dbf, 5, "p_stct");
debug_event(port->adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
switch (result) { switch (result) {
case ZFCP_ERP_SUCCEEDED : case ZFCP_ERP_SUCCEEDED :
atomic_set(&port->erp_counter, 0); atomic_set(&port->erp_counter, 0);
...@@ -1610,8 +1492,6 @@ zfcp_erp_strategy_check_port(struct zfcp_port *port, int result) ...@@ -1610,8 +1492,6 @@ zfcp_erp_strategy_check_port(struct zfcp_port *port, int result)
static int static int
zfcp_erp_strategy_check_adapter(struct zfcp_adapter *adapter, int result) zfcp_erp_strategy_check_adapter(struct zfcp_adapter *adapter, int result)
{ {
debug_text_event(adapter->erp_dbf, 5, "a_stct");
switch (result) { switch (result) {
case ZFCP_ERP_SUCCEEDED : case ZFCP_ERP_SUCCEEDED :
atomic_set(&adapter->erp_counter, 0); atomic_set(&adapter->erp_counter, 0);
...@@ -1703,9 +1583,6 @@ zfcp_erp_strategy_followup_actions(int action, ...@@ -1703,9 +1583,6 @@ zfcp_erp_strategy_followup_actions(int action,
struct zfcp_port *port, struct zfcp_port *port,
struct zfcp_unit *unit, int status) struct zfcp_unit *unit, int status)
{ {
debug_text_event(adapter->erp_dbf, 5, "a_stfol");
debug_event(adapter->erp_dbf, 5, &action, sizeof (int));
/* initiate follow-up actions depending on success of finished action */ /* initiate follow-up actions depending on success of finished action */
switch (action) { switch (action) {
...@@ -1749,12 +1626,10 @@ zfcp_erp_strategy_check_queues(struct zfcp_adapter *adapter) ...@@ -1749,12 +1626,10 @@ zfcp_erp_strategy_check_queues(struct zfcp_adapter *adapter)
read_lock(&adapter->erp_lock); read_lock(&adapter->erp_lock);
if (list_empty(&adapter->erp_ready_head) && if (list_empty(&adapter->erp_ready_head) &&
list_empty(&adapter->erp_running_head)) { list_empty(&adapter->erp_running_head)) {
debug_text_event(adapter->erp_dbf, 4, "a_cq_wake");
atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_PENDING, atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_PENDING,
&adapter->status); &adapter->status);
wake_up(&adapter->erp_done_wqh); wake_up(&adapter->erp_done_wqh);
} else }
debug_text_event(adapter->erp_dbf, 5, "a_cq_notempty");
read_unlock(&adapter->erp_lock); read_unlock(&adapter->erp_lock);
read_unlock_irqrestore(&zfcp_data.config_lock, flags); read_unlock_irqrestore(&zfcp_data.config_lock, flags);
...@@ -1786,16 +1661,13 @@ void zfcp_erp_modify_adapter_status(struct zfcp_adapter *adapter, u8 id, ...@@ -1786,16 +1661,13 @@ void zfcp_erp_modify_adapter_status(struct zfcp_adapter *adapter, u8 id,
if (set_or_clear == ZFCP_SET) { if (set_or_clear == ZFCP_SET) {
changed = atomic_test_and_set_mask(mask, &adapter->status); changed = atomic_test_and_set_mask(mask, &adapter->status);
debug_text_event(adapter->erp_dbf, 3, "a_mod_as_s");
} else { } else {
changed = atomic_test_and_clear_mask(mask, &adapter->status); changed = atomic_test_and_clear_mask(mask, &adapter->status);
if (mask & ZFCP_STATUS_COMMON_ERP_FAILED) if (mask & ZFCP_STATUS_COMMON_ERP_FAILED)
atomic_set(&adapter->erp_counter, 0); atomic_set(&adapter->erp_counter, 0);
debug_text_event(adapter->erp_dbf, 3, "a_mod_as_c");
} }
if (changed) if (changed)
zfcp_rec_dbf_event_adapter(id, ref, adapter); zfcp_rec_dbf_event_adapter(id, ref, adapter);
debug_event(adapter->erp_dbf, 3, &mask, sizeof (u32));
/* Deal with all underlying devices, only pass common_mask */ /* Deal with all underlying devices, only pass common_mask */
if (common_mask) if (common_mask)
...@@ -1818,17 +1690,13 @@ void zfcp_erp_modify_port_status(struct zfcp_port *port, u8 id, u64 ref, ...@@ -1818,17 +1690,13 @@ void zfcp_erp_modify_port_status(struct zfcp_port *port, u8 id, u64 ref,
if (set_or_clear == ZFCP_SET) { if (set_or_clear == ZFCP_SET) {
changed = atomic_test_and_set_mask(mask, &port->status); changed = atomic_test_and_set_mask(mask, &port->status);
debug_text_event(port->adapter->erp_dbf, 3, "p_mod_ps_s");
} else { } else {
changed = atomic_test_and_clear_mask(mask, &port->status); changed = atomic_test_and_clear_mask(mask, &port->status);
if (mask & ZFCP_STATUS_COMMON_ERP_FAILED) if (mask & ZFCP_STATUS_COMMON_ERP_FAILED)
atomic_set(&port->erp_counter, 0); atomic_set(&port->erp_counter, 0);
debug_text_event(port->adapter->erp_dbf, 3, "p_mod_ps_c");
} }
if (changed) if (changed)
zfcp_rec_dbf_event_port(id, ref, port); zfcp_rec_dbf_event_port(id, ref, port);
debug_event(port->adapter->erp_dbf, 3, &port->wwpn, sizeof (wwn_t));
debug_event(port->adapter->erp_dbf, 3, &mask, sizeof (u32));
/* Modify status of all underlying devices, only pass common mask */ /* Modify status of all underlying devices, only pass common mask */
if (common_mask) if (common_mask)
...@@ -1850,19 +1718,14 @@ void zfcp_erp_modify_unit_status(struct zfcp_unit *unit, u8 id, u64 ref, ...@@ -1850,19 +1718,14 @@ void zfcp_erp_modify_unit_status(struct zfcp_unit *unit, u8 id, u64 ref,
if (set_or_clear == ZFCP_SET) { if (set_or_clear == ZFCP_SET) {
changed = atomic_test_and_set_mask(mask, &unit->status); changed = atomic_test_and_set_mask(mask, &unit->status);
debug_text_event(unit->port->adapter->erp_dbf, 3, "u_mod_us_s");
} else { } else {
changed = atomic_test_and_clear_mask(mask, &unit->status); changed = atomic_test_and_clear_mask(mask, &unit->status);
if (mask & ZFCP_STATUS_COMMON_ERP_FAILED) { if (mask & ZFCP_STATUS_COMMON_ERP_FAILED) {
atomic_set(&unit->erp_counter, 0); atomic_set(&unit->erp_counter, 0);
} }
debug_text_event(unit->port->adapter->erp_dbf, 3, "u_mod_us_c");
} }
if (changed) if (changed)
zfcp_rec_dbf_event_unit(id, ref, unit); zfcp_rec_dbf_event_unit(id, ref, unit);
debug_event(unit->port->adapter->erp_dbf, 3, &unit->fcp_lun,
sizeof (fcp_lun_t));
debug_event(unit->port->adapter->erp_dbf, 3, &mask, sizeof (u32));
} }
/* /*
...@@ -1946,10 +1809,6 @@ zfcp_erp_adapter_strategy(struct zfcp_erp_action *erp_action) ...@@ -1946,10 +1809,6 @@ zfcp_erp_adapter_strategy(struct zfcp_erp_action *erp_action)
else else
retval = zfcp_erp_adapter_strategy_open(erp_action); retval = zfcp_erp_adapter_strategy_open(erp_action);
debug_text_event(adapter->erp_dbf, 3, "a_ast/ret");
debug_event(adapter->erp_dbf, 3, &erp_action->action, sizeof (int));
debug_event(adapter->erp_dbf, 3, &retval, sizeof (int));
if (retval == ZFCP_ERP_FAILED) { if (retval == ZFCP_ERP_FAILED) {
ZFCP_LOG_INFO("Waiting to allow the adapter %s " ZFCP_LOG_INFO("Waiting to allow the adapter %s "
"to recover itself\n", "to recover itself\n",
...@@ -2075,7 +1934,6 @@ zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *erp_action) ...@@ -2075,7 +1934,6 @@ zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *erp_action)
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
goto failed_qdio_establish; goto failed_qdio_establish;
} }
debug_text_event(adapter->erp_dbf, 3, "qdio_est");
if (qdio_activate(adapter->ccw_device, 0) != 0) { if (qdio_activate(adapter->ccw_device, 0) != 0) {
ZFCP_LOG_INFO("error: activation of QDIO queues failed " ZFCP_LOG_INFO("error: activation of QDIO queues failed "
...@@ -2083,7 +1941,6 @@ zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *erp_action) ...@@ -2083,7 +1941,6 @@ zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *erp_action)
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
goto failed_qdio_activate; goto failed_qdio_activate;
} }
debug_text_event(adapter->erp_dbf, 3, "qdio_act");
/* /*
* put buffers into response queue, * put buffers into response queue,
...@@ -2131,11 +1988,9 @@ zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *erp_action) ...@@ -2131,11 +1988,9 @@ zfcp_erp_adapter_strategy_open_qdio(struct zfcp_erp_action *erp_action)
/* NOP */ /* NOP */
failed_qdio_activate: failed_qdio_activate:
debug_text_event(adapter->erp_dbf, 3, "qdio_down1a");
while (qdio_shutdown(adapter->ccw_device, while (qdio_shutdown(adapter->ccw_device,
QDIO_FLAG_CLEANUP_USING_CLEAR) == -EINPROGRESS) QDIO_FLAG_CLEANUP_USING_CLEAR) == -EINPROGRESS)
ssleep(1); ssleep(1);
debug_text_event(adapter->erp_dbf, 3, "qdio_down1b");
failed_qdio_establish: failed_qdio_establish:
failed_sanity: failed_sanity:
...@@ -2181,14 +2036,12 @@ zfcp_erp_adapter_strategy_open_fsf_xconfig(struct zfcp_erp_action *erp_action) ...@@ -2181,14 +2036,12 @@ zfcp_erp_adapter_strategy_open_fsf_xconfig(struct zfcp_erp_action *erp_action)
write_unlock_irq(&adapter->erp_lock); write_unlock_irq(&adapter->erp_lock);
if (zfcp_fsf_exchange_config_data(erp_action)) { if (zfcp_fsf_exchange_config_data(erp_action)) {
retval = ZFCP_ERP_FAILED; retval = ZFCP_ERP_FAILED;
debug_text_event(adapter->erp_dbf, 5, "a_fstx_xf");
ZFCP_LOG_INFO("error: initiation of exchange of " ZFCP_LOG_INFO("error: initiation of exchange of "
"configuration data failed for " "configuration data failed for "
"adapter %s\n", "adapter %s\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
break; break;
} }
debug_text_event(adapter->erp_dbf, 6, "a_fstx_xok");
ZFCP_LOG_DEBUG("Xchange underway\n"); ZFCP_LOG_DEBUG("Xchange underway\n");
/* /*
...@@ -2254,13 +2107,10 @@ zfcp_erp_adapter_strategy_open_fsf_xport(struct zfcp_erp_action *erp_action) ...@@ -2254,13 +2107,10 @@ zfcp_erp_adapter_strategy_open_fsf_xport(struct zfcp_erp_action *erp_action)
ret = zfcp_fsf_exchange_port_data(erp_action); ret = zfcp_fsf_exchange_port_data(erp_action);
if (ret == -EOPNOTSUPP) { if (ret == -EOPNOTSUPP) {
debug_text_event(adapter->erp_dbf, 3, "a_xport_notsupp");
return ZFCP_ERP_SUCCEEDED; return ZFCP_ERP_SUCCEEDED;
} else if (ret) { } else if (ret) {
debug_text_event(adapter->erp_dbf, 3, "a_xport_failed");
return ZFCP_ERP_FAILED; return ZFCP_ERP_FAILED;
} }
debug_text_event(adapter->erp_dbf, 6, "a_xport_ok");
ret = ZFCP_ERP_SUCCEEDED; ret = ZFCP_ERP_SUCCEEDED;
zfcp_rec_dbf_event_thread(8, adapter, 1); zfcp_rec_dbf_event_thread(8, adapter, 1);
...@@ -2319,7 +2169,6 @@ zfcp_erp_port_forced_strategy(struct zfcp_erp_action *erp_action) ...@@ -2319,7 +2169,6 @@ zfcp_erp_port_forced_strategy(struct zfcp_erp_action *erp_action)
{ {
int retval = ZFCP_ERP_FAILED; int retval = ZFCP_ERP_FAILED;
struct zfcp_port *port = erp_action->port; struct zfcp_port *port = erp_action->port;
struct zfcp_adapter *adapter = erp_action->adapter;
switch (erp_action->step) { switch (erp_action->step) {
...@@ -2356,11 +2205,6 @@ zfcp_erp_port_forced_strategy(struct zfcp_erp_action *erp_action) ...@@ -2356,11 +2205,6 @@ zfcp_erp_port_forced_strategy(struct zfcp_erp_action *erp_action)
break; break;
} }
debug_text_event(adapter->erp_dbf, 3, "p_pfst/ret");
debug_event(adapter->erp_dbf, 3, &port->wwpn, sizeof (wwn_t));
debug_event(adapter->erp_dbf, 3, &erp_action->action, sizeof (int));
debug_event(adapter->erp_dbf, 3, &retval, sizeof (int));
return retval; return retval;
} }
...@@ -2378,7 +2222,6 @@ zfcp_erp_port_strategy(struct zfcp_erp_action *erp_action) ...@@ -2378,7 +2222,6 @@ zfcp_erp_port_strategy(struct zfcp_erp_action *erp_action)
{ {
int retval = ZFCP_ERP_FAILED; int retval = ZFCP_ERP_FAILED;
struct zfcp_port *port = erp_action->port; struct zfcp_port *port = erp_action->port;
struct zfcp_adapter *adapter = erp_action->adapter;
switch (erp_action->step) { switch (erp_action->step) {
...@@ -2411,11 +2254,6 @@ zfcp_erp_port_strategy(struct zfcp_erp_action *erp_action) ...@@ -2411,11 +2254,6 @@ zfcp_erp_port_strategy(struct zfcp_erp_action *erp_action)
retval = zfcp_erp_port_strategy_open(erp_action); retval = zfcp_erp_port_strategy_open(erp_action);
out: out:
debug_text_event(adapter->erp_dbf, 3, "p_pst/ret");
debug_event(adapter->erp_dbf, 3, &port->wwpn, sizeof (wwn_t));
debug_event(adapter->erp_dbf, 3, &erp_action->action, sizeof (int));
debug_event(adapter->erp_dbf, 3, &retval, sizeof (int));
return retval; return retval;
} }
...@@ -2607,13 +2445,7 @@ zfcp_erp_port_strategy_open_nameserver_wakeup(struct zfcp_erp_action ...@@ -2607,13 +2445,7 @@ zfcp_erp_port_strategy_open_nameserver_wakeup(struct zfcp_erp_action
read_lock_irqsave(&adapter->erp_lock, flags); read_lock_irqsave(&adapter->erp_lock, flags);
list_for_each_entry_safe(erp_action, tmp, &adapter->erp_running_head, list_for_each_entry_safe(erp_action, tmp, &adapter->erp_running_head,
list) { list) {
debug_text_event(adapter->erp_dbf, 4, "p_pstnsw_n");
debug_event(adapter->erp_dbf, 4, &erp_action->port->wwpn,
sizeof (wwn_t));
if (erp_action->step == ZFCP_ERP_STEP_NAMESERVER_OPEN) { if (erp_action->step == ZFCP_ERP_STEP_NAMESERVER_OPEN) {
debug_text_event(adapter->erp_dbf, 3, "p_pstnsw_w");
debug_event(adapter->erp_dbf, 3,
&erp_action->port->wwpn, sizeof (wwn_t));
if (atomic_test_mask( if (atomic_test_mask(
ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_STATUS_COMMON_ERP_FAILED,
&adapter->nameserver_port->status)) &adapter->nameserver_port->status))
...@@ -2638,26 +2470,18 @@ static int ...@@ -2638,26 +2470,18 @@ static int
zfcp_erp_port_forced_strategy_close(struct zfcp_erp_action *erp_action) zfcp_erp_port_forced_strategy_close(struct zfcp_erp_action *erp_action)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = erp_action->adapter;
struct zfcp_port *port = erp_action->port;
retval = zfcp_fsf_close_physical_port(erp_action); retval = zfcp_fsf_close_physical_port(erp_action);
if (retval == -ENOMEM) { if (retval == -ENOMEM) {
debug_text_event(adapter->erp_dbf, 5, "o_pfstc_nomem");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_NOMEM; retval = ZFCP_ERP_NOMEM;
goto out; goto out;
} }
erp_action->step = ZFCP_ERP_STEP_PHYS_PORT_CLOSING; erp_action->step = ZFCP_ERP_STEP_PHYS_PORT_CLOSING;
if (retval != 0) { if (retval != 0) {
debug_text_event(adapter->erp_dbf, 5, "o_pfstc_cpf");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
/* could not send 'open', fail */ /* could not send 'open', fail */
retval = ZFCP_ERP_FAILED; retval = ZFCP_ERP_FAILED;
goto out; goto out;
} }
debug_text_event(adapter->erp_dbf, 6, "o_pfstc_cpok");
debug_event(adapter->erp_dbf, 6, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_CONTINUES; retval = ZFCP_ERP_CONTINUES;
out: out:
return retval; return retval;
...@@ -2667,10 +2491,6 @@ static int ...@@ -2667,10 +2491,6 @@ static int
zfcp_erp_port_strategy_clearstati(struct zfcp_port *port) zfcp_erp_port_strategy_clearstati(struct zfcp_port *port)
{ {
int retval = 0; int retval = 0;
struct zfcp_adapter *adapter = port->adapter;
debug_text_event(adapter->erp_dbf, 5, "p_pstclst");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
atomic_clear_mask(ZFCP_STATUS_COMMON_OPENING | atomic_clear_mask(ZFCP_STATUS_COMMON_OPENING |
ZFCP_STATUS_COMMON_CLOSING | ZFCP_STATUS_COMMON_CLOSING |
...@@ -2694,26 +2514,18 @@ static int ...@@ -2694,26 +2514,18 @@ static int
zfcp_erp_port_strategy_close(struct zfcp_erp_action *erp_action) zfcp_erp_port_strategy_close(struct zfcp_erp_action *erp_action)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = erp_action->adapter;
struct zfcp_port *port = erp_action->port;
retval = zfcp_fsf_close_port(erp_action); retval = zfcp_fsf_close_port(erp_action);
if (retval == -ENOMEM) { if (retval == -ENOMEM) {
debug_text_event(adapter->erp_dbf, 5, "p_pstc_nomem");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_NOMEM; retval = ZFCP_ERP_NOMEM;
goto out; goto out;
} }
erp_action->step = ZFCP_ERP_STEP_PORT_CLOSING; erp_action->step = ZFCP_ERP_STEP_PORT_CLOSING;
if (retval != 0) { if (retval != 0) {
debug_text_event(adapter->erp_dbf, 5, "p_pstc_cpf");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
/* could not send 'close', fail */ /* could not send 'close', fail */
retval = ZFCP_ERP_FAILED; retval = ZFCP_ERP_FAILED;
goto out; goto out;
} }
debug_text_event(adapter->erp_dbf, 6, "p_pstc_cpok");
debug_event(adapter->erp_dbf, 6, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_CONTINUES; retval = ZFCP_ERP_CONTINUES;
out: out:
return retval; return retval;
...@@ -2731,26 +2543,18 @@ static int ...@@ -2731,26 +2543,18 @@ static int
zfcp_erp_port_strategy_open_port(struct zfcp_erp_action *erp_action) zfcp_erp_port_strategy_open_port(struct zfcp_erp_action *erp_action)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = erp_action->adapter;
struct zfcp_port *port = erp_action->port;
retval = zfcp_fsf_open_port(erp_action); retval = zfcp_fsf_open_port(erp_action);
if (retval == -ENOMEM) { if (retval == -ENOMEM) {
debug_text_event(adapter->erp_dbf, 5, "p_psto_nomem");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_NOMEM; retval = ZFCP_ERP_NOMEM;
goto out; goto out;
} }
erp_action->step = ZFCP_ERP_STEP_PORT_OPENING; erp_action->step = ZFCP_ERP_STEP_PORT_OPENING;
if (retval != 0) { if (retval != 0) {
debug_text_event(adapter->erp_dbf, 5, "p_psto_opf");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
/* could not send 'open', fail */ /* could not send 'open', fail */
retval = ZFCP_ERP_FAILED; retval = ZFCP_ERP_FAILED;
goto out; goto out;
} }
debug_text_event(adapter->erp_dbf, 6, "p_psto_opok");
debug_event(adapter->erp_dbf, 6, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_CONTINUES; retval = ZFCP_ERP_CONTINUES;
out: out:
return retval; return retval;
...@@ -2768,26 +2572,18 @@ static int ...@@ -2768,26 +2572,18 @@ static int
zfcp_erp_port_strategy_open_common_lookup(struct zfcp_erp_action *erp_action) zfcp_erp_port_strategy_open_common_lookup(struct zfcp_erp_action *erp_action)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = erp_action->adapter;
struct zfcp_port *port = erp_action->port;
retval = zfcp_ns_gid_pn_request(erp_action); retval = zfcp_ns_gid_pn_request(erp_action);
if (retval == -ENOMEM) { if (retval == -ENOMEM) {
debug_text_event(adapter->erp_dbf, 5, "p_pstn_nomem");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_NOMEM; retval = ZFCP_ERP_NOMEM;
goto out; goto out;
} }
erp_action->step = ZFCP_ERP_STEP_NAMESERVER_LOOKUP; erp_action->step = ZFCP_ERP_STEP_NAMESERVER_LOOKUP;
if (retval != 0) { if (retval != 0) {
debug_text_event(adapter->erp_dbf, 5, "p_pstn_ref");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
/* could not send nameserver request, fail */ /* could not send nameserver request, fail */
retval = ZFCP_ERP_FAILED; retval = ZFCP_ERP_FAILED;
goto out; goto out;
} }
debug_text_event(adapter->erp_dbf, 6, "p_pstn_reok");
debug_event(adapter->erp_dbf, 6, &port->wwpn, sizeof (wwn_t));
retval = ZFCP_ERP_CONTINUES; retval = ZFCP_ERP_CONTINUES;
out: out:
return retval; return retval;
...@@ -2808,7 +2604,6 @@ zfcp_erp_unit_strategy(struct zfcp_erp_action *erp_action) ...@@ -2808,7 +2604,6 @@ zfcp_erp_unit_strategy(struct zfcp_erp_action *erp_action)
{ {
int retval = ZFCP_ERP_FAILED; int retval = ZFCP_ERP_FAILED;
struct zfcp_unit *unit = erp_action->unit; struct zfcp_unit *unit = erp_action->unit;
struct zfcp_adapter *adapter = erp_action->adapter;
switch (erp_action->step) { switch (erp_action->step) {
...@@ -2855,10 +2650,6 @@ zfcp_erp_unit_strategy(struct zfcp_erp_action *erp_action) ...@@ -2855,10 +2650,6 @@ zfcp_erp_unit_strategy(struct zfcp_erp_action *erp_action)
break; break;
} }
debug_text_event(adapter->erp_dbf, 3, "u_ust/ret");
debug_event(adapter->erp_dbf, 3, &unit->fcp_lun, sizeof (fcp_lun_t));
debug_event(adapter->erp_dbf, 3, &erp_action->action, sizeof (int));
debug_event(adapter->erp_dbf, 3, &retval, sizeof (int));
return retval; return retval;
} }
...@@ -2866,10 +2657,6 @@ static int ...@@ -2866,10 +2657,6 @@ static int
zfcp_erp_unit_strategy_clearstati(struct zfcp_unit *unit) zfcp_erp_unit_strategy_clearstati(struct zfcp_unit *unit)
{ {
int retval = 0; int retval = 0;
struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 5, "u_ustclst");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun, sizeof (fcp_lun_t));
atomic_clear_mask(ZFCP_STATUS_COMMON_OPENING | atomic_clear_mask(ZFCP_STATUS_COMMON_OPENING |
ZFCP_STATUS_COMMON_CLOSING | ZFCP_STATUS_COMMON_CLOSING |
...@@ -2893,28 +2680,18 @@ static int ...@@ -2893,28 +2680,18 @@ static int
zfcp_erp_unit_strategy_close(struct zfcp_erp_action *erp_action) zfcp_erp_unit_strategy_close(struct zfcp_erp_action *erp_action)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = erp_action->adapter;
struct zfcp_unit *unit = erp_action->unit;
retval = zfcp_fsf_close_unit(erp_action); retval = zfcp_fsf_close_unit(erp_action);
if (retval == -ENOMEM) { if (retval == -ENOMEM) {
debug_text_event(adapter->erp_dbf, 5, "u_ustc_nomem");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun,
sizeof (fcp_lun_t));
retval = ZFCP_ERP_NOMEM; retval = ZFCP_ERP_NOMEM;
goto out; goto out;
} }
erp_action->step = ZFCP_ERP_STEP_UNIT_CLOSING; erp_action->step = ZFCP_ERP_STEP_UNIT_CLOSING;
if (retval != 0) { if (retval != 0) {
debug_text_event(adapter->erp_dbf, 5, "u_ustc_cuf");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun,
sizeof (fcp_lun_t));
/* could not send 'close', fail */ /* could not send 'close', fail */
retval = ZFCP_ERP_FAILED; retval = ZFCP_ERP_FAILED;
goto out; goto out;
} }
debug_text_event(adapter->erp_dbf, 6, "u_ustc_cuok");
debug_event(adapter->erp_dbf, 6, &unit->fcp_lun, sizeof (fcp_lun_t));
retval = ZFCP_ERP_CONTINUES; retval = ZFCP_ERP_CONTINUES;
out: out:
...@@ -2933,28 +2710,18 @@ static int ...@@ -2933,28 +2710,18 @@ static int
zfcp_erp_unit_strategy_open(struct zfcp_erp_action *erp_action) zfcp_erp_unit_strategy_open(struct zfcp_erp_action *erp_action)
{ {
int retval; int retval;
struct zfcp_adapter *adapter = erp_action->adapter;
struct zfcp_unit *unit = erp_action->unit;
retval = zfcp_fsf_open_unit(erp_action); retval = zfcp_fsf_open_unit(erp_action);
if (retval == -ENOMEM) { if (retval == -ENOMEM) {
debug_text_event(adapter->erp_dbf, 5, "u_usto_nomem");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun,
sizeof (fcp_lun_t));
retval = ZFCP_ERP_NOMEM; retval = ZFCP_ERP_NOMEM;
goto out; goto out;
} }
erp_action->step = ZFCP_ERP_STEP_UNIT_OPENING; erp_action->step = ZFCP_ERP_STEP_UNIT_OPENING;
if (retval != 0) { if (retval != 0) {
debug_text_event(adapter->erp_dbf, 5, "u_usto_ouf");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun,
sizeof (fcp_lun_t));
/* could not send 'open', fail */ /* could not send 'open', fail */
retval = ZFCP_ERP_FAILED; retval = ZFCP_ERP_FAILED;
goto out; goto out;
} }
debug_text_event(adapter->erp_dbf, 6, "u_usto_ouok");
debug_event(adapter->erp_dbf, 6, &unit->fcp_lun, sizeof (fcp_lun_t));
retval = ZFCP_ERP_CONTINUES; retval = ZFCP_ERP_CONTINUES;
out: out:
return retval; return retval;
...@@ -3000,17 +2767,11 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter, ...@@ -3000,17 +2767,11 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
&adapter->status)) &adapter->status))
return -EIO; return -EIO;
debug_event(adapter->erp_dbf, 4, &want, sizeof (int));
/* check whether we really need this */ /* check whether we really need this */
switch (want) { switch (want) {
case ZFCP_ERP_ACTION_REOPEN_UNIT: case ZFCP_ERP_ACTION_REOPEN_UNIT:
if (atomic_test_mask if (atomic_test_mask
(ZFCP_STATUS_COMMON_ERP_INUSE, &unit->status)) { (ZFCP_STATUS_COMMON_ERP_INUSE, &unit->status)) {
debug_text_event(adapter->erp_dbf, 4, "u_actenq_drp");
debug_event(adapter->erp_dbf, 4, &port->wwpn,
sizeof (wwn_t));
debug_event(adapter->erp_dbf, 4, &unit->fcp_lun,
sizeof (fcp_lun_t));
goto out; goto out;
} }
if (!atomic_test_mask if (!atomic_test_mask
...@@ -3027,9 +2788,6 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter, ...@@ -3027,9 +2788,6 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
case ZFCP_ERP_ACTION_REOPEN_PORT: case ZFCP_ERP_ACTION_REOPEN_PORT:
if (atomic_test_mask if (atomic_test_mask
(ZFCP_STATUS_COMMON_ERP_INUSE, &port->status)) { (ZFCP_STATUS_COMMON_ERP_INUSE, &port->status)) {
debug_text_event(adapter->erp_dbf, 4, "p_actenq_drp");
debug_event(adapter->erp_dbf, 4, &port->wwpn,
sizeof (wwn_t));
goto out; goto out;
} }
/* fall through !!! */ /* fall through !!! */
...@@ -3043,13 +2801,7 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter, ...@@ -3043,13 +2801,7 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
"0x%016Lx, action in use: %i)\n", "0x%016Lx, action in use: %i)\n",
want, port->wwpn, want, port->wwpn,
port->erp_action.action); port->erp_action.action);
debug_text_event(adapter->erp_dbf, 4, }
"pf_actenq_drp");
} else
debug_text_event(adapter->erp_dbf, 4,
"pf_actenq_drpcp");
debug_event(adapter->erp_dbf, 4, &port->wwpn,
sizeof (wwn_t));
goto out; goto out;
} }
if (!atomic_test_mask if (!atomic_test_mask
...@@ -3066,14 +2818,11 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter, ...@@ -3066,14 +2818,11 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
case ZFCP_ERP_ACTION_REOPEN_ADAPTER: case ZFCP_ERP_ACTION_REOPEN_ADAPTER:
if (atomic_test_mask if (atomic_test_mask
(ZFCP_STATUS_COMMON_ERP_INUSE, &adapter->status)) { (ZFCP_STATUS_COMMON_ERP_INUSE, &adapter->status)) {
debug_text_event(adapter->erp_dbf, 4, "a_actenq_drp");
goto out; goto out;
} }
break; break;
default: default:
debug_text_exception(adapter->erp_dbf, 1, "a_actenq_bug");
debug_event(adapter->erp_dbf, 1, &want, sizeof (int));
ZFCP_LOG_NORMAL("bug: unknown erp action requested " ZFCP_LOG_NORMAL("bug: unknown erp action requested "
"on adapter %s (action=%d)\n", "on adapter %s (action=%d)\n",
zfcp_get_busid_by_adapter(adapter), want); zfcp_get_busid_by_adapter(adapter), want);
...@@ -3082,9 +2831,6 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter, ...@@ -3082,9 +2831,6 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
/* check whether we need something stronger first */ /* check whether we need something stronger first */
if (need) { if (need) {
debug_text_event(adapter->erp_dbf, 4, "a_actenq_str");
debug_event(adapter->erp_dbf, 4, &need,
sizeof (int));
ZFCP_LOG_DEBUG("stronger erp action %d needed before " ZFCP_LOG_DEBUG("stronger erp action %d needed before "
"erp action %d on adapter %s\n", "erp action %d on adapter %s\n",
need, want, zfcp_get_busid_by_adapter(adapter)); need, want, zfcp_get_busid_by_adapter(adapter));
...@@ -3127,8 +2873,6 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter, ...@@ -3127,8 +2873,6 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
break; break;
} }
debug_text_event(adapter->erp_dbf, 4, "a_actenq");
memset(erp_action, 0, sizeof (struct zfcp_erp_action)); memset(erp_action, 0, sizeof (struct zfcp_erp_action));
erp_action->adapter = adapter; erp_action->adapter = adapter;
erp_action->port = port; erp_action->port = port;
...@@ -3161,8 +2905,6 @@ zfcp_erp_action_dequeue(struct zfcp_erp_action *erp_action) ...@@ -3161,8 +2905,6 @@ zfcp_erp_action_dequeue(struct zfcp_erp_action *erp_action)
erp_action->status &= ~ZFCP_STATUS_ERP_LOWMEM; erp_action->status &= ~ZFCP_STATUS_ERP_LOWMEM;
} }
debug_text_event(adapter->erp_dbf, 4, "a_actdeq");
debug_event(adapter->erp_dbf, 4, &erp_action->action, sizeof (int));
list_del(&erp_action->list); list_del(&erp_action->list);
zfcp_rec_dbf_event_action(144, erp_action); zfcp_rec_dbf_event_action(144, erp_action);
...@@ -3270,7 +3012,6 @@ static void zfcp_erp_action_dismiss_adapter(struct zfcp_adapter *adapter) ...@@ -3270,7 +3012,6 @@ static void zfcp_erp_action_dismiss_adapter(struct zfcp_adapter *adapter)
{ {
struct zfcp_port *port; struct zfcp_port *port;
debug_text_event(adapter->erp_dbf, 5, "a_actab");
if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &adapter->status)) if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &adapter->status))
zfcp_erp_action_dismiss(&adapter->erp_action); zfcp_erp_action_dismiss(&adapter->erp_action);
else else
...@@ -3281,10 +3022,7 @@ static void zfcp_erp_action_dismiss_adapter(struct zfcp_adapter *adapter) ...@@ -3281,10 +3022,7 @@ static void zfcp_erp_action_dismiss_adapter(struct zfcp_adapter *adapter)
static void zfcp_erp_action_dismiss_port(struct zfcp_port *port) static void zfcp_erp_action_dismiss_port(struct zfcp_port *port)
{ {
struct zfcp_unit *unit; struct zfcp_unit *unit;
struct zfcp_adapter *adapter = port->adapter;
debug_text_event(adapter->erp_dbf, 5, "p_actab");
debug_event(adapter->erp_dbf, 5, &port->wwpn, sizeof (wwn_t));
if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &port->status)) if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &port->status))
zfcp_erp_action_dismiss(&port->erp_action); zfcp_erp_action_dismiss(&port->erp_action);
else else
...@@ -3294,41 +3032,26 @@ static void zfcp_erp_action_dismiss_port(struct zfcp_port *port) ...@@ -3294,41 +3032,26 @@ static void zfcp_erp_action_dismiss_port(struct zfcp_port *port)
static void zfcp_erp_action_dismiss_unit(struct zfcp_unit *unit) static void zfcp_erp_action_dismiss_unit(struct zfcp_unit *unit)
{ {
struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 5, "u_actab");
debug_event(adapter->erp_dbf, 5, &unit->fcp_lun, sizeof (fcp_lun_t));
if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &unit->status)) if (atomic_test_mask(ZFCP_STATUS_COMMON_ERP_INUSE, &unit->status))
zfcp_erp_action_dismiss(&unit->erp_action); zfcp_erp_action_dismiss(&unit->erp_action);
} }
static void zfcp_erp_action_to_running(struct zfcp_erp_action *erp_action) static void zfcp_erp_action_to_running(struct zfcp_erp_action *erp_action)
{ {
struct zfcp_adapter *adapter = erp_action->adapter;
debug_text_event(adapter->erp_dbf, 6, "a_toru");
debug_event(adapter->erp_dbf, 6, &erp_action->action, sizeof (int));
list_move(&erp_action->list, &erp_action->adapter->erp_running_head); list_move(&erp_action->list, &erp_action->adapter->erp_running_head);
zfcp_rec_dbf_event_action(145, erp_action); zfcp_rec_dbf_event_action(145, erp_action);
} }
static void zfcp_erp_action_to_ready(struct zfcp_erp_action *erp_action) static void zfcp_erp_action_to_ready(struct zfcp_erp_action *erp_action)
{ {
struct zfcp_adapter *adapter = erp_action->adapter;
debug_text_event(adapter->erp_dbf, 6, "a_tore");
debug_event(adapter->erp_dbf, 6, &erp_action->action, sizeof (int));
list_move(&erp_action->list, &erp_action->adapter->erp_ready_head); list_move(&erp_action->list, &erp_action->adapter->erp_ready_head);
zfcp_rec_dbf_event_action(146, erp_action); zfcp_rec_dbf_event_action(146, erp_action);
} }
void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, u64 ref) void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, u64 ref)
{ {
struct zfcp_adapter *adapter = port->adapter;
unsigned long flags; unsigned long flags;
debug_text_event(adapter->erp_dbf, 3, "p_access_boxed");
debug_event(adapter->erp_dbf, 3, &port->wwpn, sizeof(wwn_t));
read_lock_irqsave(&zfcp_data.config_lock, flags); read_lock_irqsave(&zfcp_data.config_lock, flags);
zfcp_erp_modify_port_status(port, id, ref, zfcp_erp_modify_port_status(port, id, ref,
ZFCP_STATUS_COMMON_ACCESS_BOXED, ZFCP_SET); ZFCP_STATUS_COMMON_ACCESS_BOXED, ZFCP_SET);
...@@ -3338,10 +3061,6 @@ void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, u64 ref) ...@@ -3338,10 +3061,6 @@ void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, u64 ref)
void zfcp_erp_unit_boxed(struct zfcp_unit *unit, u8 id, u64 ref) void zfcp_erp_unit_boxed(struct zfcp_unit *unit, u8 id, u64 ref)
{ {
struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 3, "u_access_boxed");
debug_event(adapter->erp_dbf, 3, &unit->fcp_lun, sizeof(fcp_lun_t));
zfcp_erp_modify_unit_status(unit, id, ref, zfcp_erp_modify_unit_status(unit, id, ref,
ZFCP_STATUS_COMMON_ACCESS_BOXED, ZFCP_SET); ZFCP_STATUS_COMMON_ACCESS_BOXED, ZFCP_SET);
zfcp_erp_unit_reopen(unit, ZFCP_STATUS_COMMON_ERP_FAILED, id, ref); zfcp_erp_unit_reopen(unit, ZFCP_STATUS_COMMON_ERP_FAILED, id, ref);
...@@ -3349,11 +3068,8 @@ void zfcp_erp_unit_boxed(struct zfcp_unit *unit, u8 id, u64 ref) ...@@ -3349,11 +3068,8 @@ void zfcp_erp_unit_boxed(struct zfcp_unit *unit, u8 id, u64 ref)
void zfcp_erp_port_access_denied(struct zfcp_port *port, u8 id, u64 ref) void zfcp_erp_port_access_denied(struct zfcp_port *port, u8 id, u64 ref)
{ {
struct zfcp_adapter *adapter = port->adapter;
unsigned long flags; unsigned long flags;
debug_text_event(adapter->erp_dbf, 3, "p_access_denied");
debug_event(adapter->erp_dbf, 3, &port->wwpn, sizeof(wwn_t));
read_lock_irqsave(&zfcp_data.config_lock, flags); read_lock_irqsave(&zfcp_data.config_lock, flags);
zfcp_erp_modify_port_status(port, id, ref, zfcp_erp_modify_port_status(port, id, ref,
ZFCP_STATUS_COMMON_ERP_FAILED | ZFCP_STATUS_COMMON_ERP_FAILED |
...@@ -3363,10 +3079,6 @@ void zfcp_erp_port_access_denied(struct zfcp_port *port, u8 id, u64 ref) ...@@ -3363,10 +3079,6 @@ void zfcp_erp_port_access_denied(struct zfcp_port *port, u8 id, u64 ref)
void zfcp_erp_unit_access_denied(struct zfcp_unit *unit, u8 id, u64 ref) void zfcp_erp_unit_access_denied(struct zfcp_unit *unit, u8 id, u64 ref)
{ {
struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 3, "u_access_denied");
debug_event(adapter->erp_dbf, 3, &unit->fcp_lun, sizeof(fcp_lun_t));
zfcp_erp_modify_unit_status(unit, id, ref, zfcp_erp_modify_unit_status(unit, id, ref,
ZFCP_STATUS_COMMON_ERP_FAILED | ZFCP_STATUS_COMMON_ERP_FAILED |
ZFCP_STATUS_COMMON_ACCESS_DENIED, ZFCP_SET); ZFCP_STATUS_COMMON_ACCESS_DENIED, ZFCP_SET);
...@@ -3381,9 +3093,6 @@ void zfcp_erp_adapter_access_changed(struct zfcp_adapter *adapter, u8 id, ...@@ -3381,9 +3093,6 @@ void zfcp_erp_adapter_access_changed(struct zfcp_adapter *adapter, u8 id,
if (adapter->connection_features & FSF_FEATURE_NPIV_MODE) if (adapter->connection_features & FSF_FEATURE_NPIV_MODE)
return; return;
debug_text_event(adapter->erp_dbf, 3, "a_access_recover");
debug_event(adapter->erp_dbf, 3, zfcp_get_busid_by_adapter(adapter), 8);
read_lock_irqsave(&zfcp_data.config_lock, flags); read_lock_irqsave(&zfcp_data.config_lock, flags);
if (adapter->nameserver_port) if (adapter->nameserver_port)
zfcp_erp_port_access_changed(adapter->nameserver_port, id, ref); zfcp_erp_port_access_changed(adapter->nameserver_port, id, ref);
...@@ -3398,9 +3107,6 @@ void zfcp_erp_port_access_changed(struct zfcp_port *port, u8 id, u64 ref) ...@@ -3398,9 +3107,6 @@ void zfcp_erp_port_access_changed(struct zfcp_port *port, u8 id, u64 ref)
struct zfcp_adapter *adapter = port->adapter; struct zfcp_adapter *adapter = port->adapter;
struct zfcp_unit *unit; struct zfcp_unit *unit;
debug_text_event(adapter->erp_dbf, 3, "p_access_recover");
debug_event(adapter->erp_dbf, 3, &port->wwpn, sizeof(wwn_t));
if (!atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED, if (!atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED,
&port->status) && &port->status) &&
!atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_BOXED, !atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_BOXED,
...@@ -3424,9 +3130,6 @@ void zfcp_erp_unit_access_changed(struct zfcp_unit *unit, u8 id, u64 ref) ...@@ -3424,9 +3130,6 @@ void zfcp_erp_unit_access_changed(struct zfcp_unit *unit, u8 id, u64 ref)
{ {
struct zfcp_adapter *adapter = unit->port->adapter; struct zfcp_adapter *adapter = unit->port->adapter;
debug_text_event(adapter->erp_dbf, 3, "u_access_recover");
debug_event(adapter->erp_dbf, 3, &unit->fcp_lun, sizeof(fcp_lun_t));
if (!atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED, if (!atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_DENIED,
&unit->status) && &unit->status) &&
!atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_BOXED, !atomic_test_mask(ZFCP_STATUS_COMMON_ACCESS_BOXED,
......
...@@ -799,19 +799,14 @@ zfcp_fsf_status_read_port_closed(struct zfcp_fsf_req *fsf_req) ...@@ -799,19 +799,14 @@ zfcp_fsf_status_read_port_closed(struct zfcp_fsf_req *fsf_req)
switch (status_buffer->status_subtype) { switch (status_buffer->status_subtype) {
case FSF_STATUS_READ_SUB_CLOSE_PHYS_PORT: case FSF_STATUS_READ_SUB_CLOSE_PHYS_PORT:
debug_text_event(adapter->erp_dbf, 3, "unsol_pc_phys:");
zfcp_erp_port_reopen(port, 0, 101, (u64)fsf_req); zfcp_erp_port_reopen(port, 0, 101, (u64)fsf_req);
break; break;
case FSF_STATUS_READ_SUB_ERROR_PORT: case FSF_STATUS_READ_SUB_ERROR_PORT:
debug_text_event(adapter->erp_dbf, 1, "unsol_pc_err:");
zfcp_erp_port_shutdown(port, 0, 122, (u64)fsf_req); zfcp_erp_port_shutdown(port, 0, 122, (u64)fsf_req);
break; break;
default: default:
debug_text_event(adapter->erp_dbf, 0, "unsol_unk_sub:");
debug_exception(adapter->erp_dbf, 0,
&status_buffer->status_subtype, sizeof (u32));
ZFCP_LOG_NORMAL("bug: Undefined status subtype received " ZFCP_LOG_NORMAL("bug: Undefined status subtype received "
"for a reopen indication on port with " "for a reopen indication on port with "
"d_id 0x%06x on the adapter %s. " "d_id 0x%06x on the adapter %s. "
...@@ -1002,7 +997,6 @@ zfcp_fsf_status_read_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1002,7 +997,6 @@ zfcp_fsf_status_read_handler(struct zfcp_fsf_req *fsf_req)
break; break;
case FSF_STATUS_READ_FEATURE_UPDATE_ALERT: case FSF_STATUS_READ_FEATURE_UPDATE_ALERT:
debug_text_event(adapter->erp_dbf, 2, "unsol_features:");
ZFCP_LOG_INFO("List of supported features on adapter %s has " ZFCP_LOG_INFO("List of supported features on adapter %s has "
"been changed from 0x%08X to 0x%08X\n", "been changed from 0x%08X to 0x%08X\n",
zfcp_get_busid_by_adapter(adapter), zfcp_get_busid_by_adapter(adapter),
...@@ -1151,8 +1145,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1151,8 +1145,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
case FSF_PORT_HANDLE_NOT_VALID: case FSF_PORT_HANDLE_NOT_VALID:
if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) { if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) {
debug_text_event(new_fsf_req->adapter->erp_dbf, 3,
"fsf_s_phand_nv0");
/* /*
* In this case a command that was sent prior to a port * In this case a command that was sent prior to a port
* reopen was aborted (handles are different). This is * reopen was aborted (handles are different). This is
...@@ -1171,8 +1163,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1171,8 +1163,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
fsf_status_qual, fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
/* Let's hope this sorts out the mess */ /* Let's hope this sorts out the mess */
debug_text_event(new_fsf_req->adapter->erp_dbf, 1,
"fsf_s_phand_nv1");
zfcp_erp_adapter_reopen(unit->port->adapter, 0, 104, zfcp_erp_adapter_reopen(unit->port->adapter, 0, 104,
(u64)new_fsf_req); (u64)new_fsf_req);
new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -1181,8 +1171,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1181,8 +1171,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
case FSF_LUN_HANDLE_NOT_VALID: case FSF_LUN_HANDLE_NOT_VALID:
if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) { if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) {
debug_text_event(new_fsf_req->adapter->erp_dbf, 3,
"fsf_s_lhand_nv0");
/* /*
* In this case a command that was sent prior to a unit * In this case a command that was sent prior to a unit
* reopen was aborted (handles are different). * reopen was aborted (handles are different).
...@@ -1204,8 +1192,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1204,8 +1192,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
fsf_status_qual, fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
/* Let's hope this sorts out the mess */ /* Let's hope this sorts out the mess */
debug_text_event(new_fsf_req->adapter->erp_dbf, 1,
"fsf_s_lhand_nv1");
zfcp_erp_port_reopen(unit->port, 0, 105, zfcp_erp_port_reopen(unit->port, 0, 105,
(u64)new_fsf_req); (u64)new_fsf_req);
new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -1214,8 +1200,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1214,8 +1200,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
case FSF_FCP_COMMAND_DOES_NOT_EXIST: case FSF_FCP_COMMAND_DOES_NOT_EXIST:
retval = 0; retval = 0;
debug_text_event(new_fsf_req->adapter->erp_dbf, 3,
"fsf_s_no_exist");
new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED; new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED;
break; break;
...@@ -1223,8 +1207,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1223,8 +1207,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
ZFCP_LOG_INFO("Remote port 0x%016Lx on adapter %s needs to " ZFCP_LOG_INFO("Remote port 0x%016Lx on adapter %s needs to "
"be reopened\n", unit->port->wwpn, "be reopened\n", unit->port->wwpn,
zfcp_get_busid_by_unit(unit)); zfcp_get_busid_by_unit(unit));
debug_text_event(new_fsf_req->adapter->erp_dbf, 2,
"fsf_s_pboxed");
zfcp_erp_port_boxed(unit->port, 47, (u64)new_fsf_req); zfcp_erp_port_boxed(unit->port, 47, (u64)new_fsf_req);
new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR
| ZFCP_STATUS_FSFREQ_RETRY; | ZFCP_STATUS_FSFREQ_RETRY;
...@@ -1236,7 +1218,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1236,7 +1218,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
"to be reopened\n", "to be reopened\n",
unit->fcp_lun, unit->port->wwpn, unit->fcp_lun, unit->port->wwpn,
zfcp_get_busid_by_unit(unit)); zfcp_get_busid_by_unit(unit));
debug_text_event(new_fsf_req->adapter->erp_dbf, 1, "fsf_s_lboxed");
zfcp_erp_unit_boxed(unit, 48, (u64)new_fsf_req); zfcp_erp_unit_boxed(unit, 48, (u64)new_fsf_req);
new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR
| ZFCP_STATUS_FSFREQ_RETRY; | ZFCP_STATUS_FSFREQ_RETRY;
...@@ -1245,26 +1226,17 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1245,26 +1226,17 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
case FSF_ADAPTER_STATUS_AVAILABLE: case FSF_ADAPTER_STATUS_AVAILABLE:
switch (new_fsf_req->qtcb->header.fsf_status_qual.word[0]) { switch (new_fsf_req->qtcb->header.fsf_status_qual.word[0]) {
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
debug_text_event(new_fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ltest");
zfcp_test_link(unit->port); zfcp_test_link(unit->port);
new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* SCSI stack will escalate */ /* SCSI stack will escalate */
debug_text_event(new_fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ulp");
new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
default: default:
ZFCP_LOG_NORMAL ZFCP_LOG_NORMAL
("bug: Wrong status qualifier 0x%x arrived.\n", ("bug: Wrong status qualifier 0x%x arrived.\n",
new_fsf_req->qtcb->header.fsf_status_qual.word[0]); new_fsf_req->qtcb->header.fsf_status_qual.word[0]);
debug_text_event(new_fsf_req->adapter->erp_dbf, 0,
"fsf_sq_inval:");
debug_exception(new_fsf_req->adapter->erp_dbf, 0,
&new_fsf_req->qtcb->header.
fsf_status_qual.word[0], sizeof (u32));
break; break;
} }
break; break;
...@@ -1278,11 +1250,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) ...@@ -1278,11 +1250,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req)
ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented "
"(debug info 0x%x)\n", "(debug info 0x%x)\n",
new_fsf_req->qtcb->header.fsf_status); new_fsf_req->qtcb->header.fsf_status);
debug_text_event(new_fsf_req->adapter->erp_dbf, 0,
"fsf_s_inval:");
debug_exception(new_fsf_req->adapter->erp_dbf, 0,
&new_fsf_req->qtcb->header.fsf_status,
sizeof (u32));
break; break;
} }
skip_fsfstatus: skip_fsfstatus:
...@@ -1485,7 +1452,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1485,7 +1452,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req)
zfcp_get_busid_by_port(port), zfcp_get_busid_by_port(port),
ZFCP_FC_SERVICE_CLASS_DEFAULT); ZFCP_FC_SERVICE_CLASS_DEFAULT);
/* stop operation for this adapter */ /* stop operation for this adapter */
debug_text_exception(adapter->erp_dbf, 0, "fsf_s_class_nsup");
zfcp_erp_adapter_shutdown(adapter, 0, 123, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 123, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -1494,13 +1460,11 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1494,13 +1460,11 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req)
switch (header->fsf_status_qual.word[0]){ switch (header->fsf_status_qual.word[0]){
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
/* reopening link to port */ /* reopening link to port */
debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ltest");
zfcp_test_link(port); zfcp_test_link(port);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* ERP strategy will escalate */ /* ERP strategy will escalate */
debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ulp");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
default: default:
...@@ -1528,7 +1492,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1528,7 +1492,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req)
break; break;
} }
} }
debug_text_event(adapter->erp_dbf, 1, "fsf_s_access");
zfcp_erp_port_access_denied(port, 55, (u64)fsf_req); zfcp_erp_port_access_denied(port, 55, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -1541,7 +1504,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1541,7 +1504,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(adapter->erp_dbf, 1, "fsf_s_gcom_rej");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -1554,7 +1516,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1554,7 +1516,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(adapter->erp_dbf, 1, "fsf_s_phandle_nv");
zfcp_erp_adapter_reopen(adapter, 0, 106, (u64)fsf_req); zfcp_erp_adapter_reopen(adapter, 0, 106, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -1563,7 +1524,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1563,7 +1524,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_INFO("port needs to be reopened " ZFCP_LOG_INFO("port needs to be reopened "
"(adapter %s, port d_id=0x%06x)\n", "(adapter %s, port d_id=0x%06x)\n",
zfcp_get_busid_by_port(port), port->d_id); zfcp_get_busid_by_port(port), port->d_id);
debug_text_event(adapter->erp_dbf, 2, "fsf_s_pboxed");
zfcp_erp_port_boxed(port, 49, (u64)fsf_req); zfcp_erp_port_boxed(port, 49, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR
| ZFCP_STATUS_FSFREQ_RETRY; | ZFCP_STATUS_FSFREQ_RETRY;
...@@ -1603,9 +1563,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1603,9 +1563,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req)
default: default:
ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented "
"(debug info 0x%x)\n", header->fsf_status); "(debug info 0x%x)\n", header->fsf_status);
debug_text_event(adapter->erp_dbf, 0, "fsf_sq_inval:");
debug_exception(adapter->erp_dbf, 0,
&header->fsf_status_qual.word[0], sizeof (u32));
break; break;
} }
...@@ -1789,7 +1746,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1789,7 +1746,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req)
zfcp_get_busid_by_adapter(adapter), zfcp_get_busid_by_adapter(adapter),
ZFCP_FC_SERVICE_CLASS_DEFAULT); ZFCP_FC_SERVICE_CLASS_DEFAULT);
/* stop operation for this adapter */ /* stop operation for this adapter */
debug_text_exception(adapter->erp_dbf, 0, "fsf_s_class_nsup");
zfcp_erp_adapter_shutdown(adapter, 0, 124, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 124, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -1797,13 +1753,11 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1797,13 +1753,11 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req)
case FSF_ADAPTER_STATUS_AVAILABLE: case FSF_ADAPTER_STATUS_AVAILABLE:
switch (header->fsf_status_qual.word[0]){ switch (header->fsf_status_qual.word[0]){
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ltest");
if (port && (send_els->ls_code != ZFCP_LS_ADISC)) if (port && (send_els->ls_code != ZFCP_LS_ADISC))
zfcp_test_link(port); zfcp_test_link(port);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ulp");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
retval = retval =
zfcp_handle_els_rjt(header->fsf_status_qual.word[1], zfcp_handle_els_rjt(header->fsf_status_qual.word[1],
...@@ -1811,7 +1765,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1811,7 +1765,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req)
&header->fsf_status_qual.word[2]); &header->fsf_status_qual.word[2]);
break; break;
case FSF_SQ_RETRY_IF_POSSIBLE: case FSF_SQ_RETRY_IF_POSSIBLE:
debug_text_event(adapter->erp_dbf, 1, "fsf_sq_retry");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
default: default:
...@@ -1888,7 +1841,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1888,7 +1841,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req)
break; break;
} }
} }
debug_text_event(adapter->erp_dbf, 1, "fsf_s_access");
if (port != NULL) if (port != NULL)
zfcp_erp_port_access_denied(port, 56, (u64)fsf_req); zfcp_erp_port_access_denied(port, 56, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -1900,9 +1852,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) ...@@ -1900,9 +1852,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req)
"(adapter: %s, fsf_status=0x%08x)\n", "(adapter: %s, fsf_status=0x%08x)\n",
zfcp_get_busid_by_adapter(adapter), zfcp_get_busid_by_adapter(adapter),
header->fsf_status); header->fsf_status);
debug_text_event(adapter->erp_dbf, 0, "fsf_sq_inval");
debug_exception(adapter->erp_dbf, 0,
&header->fsf_status_qual.word[0], sizeof(u32));
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
} }
...@@ -2111,7 +2060,6 @@ zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *fsf_req, int xchg_ok) ...@@ -2111,7 +2060,6 @@ zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *fsf_req, int xchg_ok)
"versions in comparison to this device " "versions in comparison to this device "
"driver (try updated device driver)\n", "driver (try updated device driver)\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf, 0, "low_qtcb_ver");
zfcp_erp_adapter_shutdown(adapter, 0, 125, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 125, (u64)fsf_req);
return -EIO; return -EIO;
} }
...@@ -2121,7 +2069,6 @@ zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *fsf_req, int xchg_ok) ...@@ -2121,7 +2069,6 @@ zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *fsf_req, int xchg_ok)
"versions than this device driver uses" "versions than this device driver uses"
"(consider a microcode upgrade)\n", "(consider a microcode upgrade)\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(adapter->erp_dbf, 0, "high_qtcb_ver");
zfcp_erp_adapter_shutdown(adapter, 0, 126, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 126, (u64)fsf_req);
return -EIO; return -EIO;
} }
...@@ -2162,16 +2109,12 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2162,16 +2109,12 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req)
adapter->peer_wwnn, adapter->peer_wwnn,
adapter->peer_wwpn, adapter->peer_wwpn,
adapter->peer_d_id); adapter->peer_d_id);
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"top-p-to-p");
break; break;
case FC_PORTTYPE_NLPORT: case FC_PORTTYPE_NLPORT:
ZFCP_LOG_NORMAL("error: Arbitrated loop fibrechannel " ZFCP_LOG_NORMAL("error: Arbitrated loop fibrechannel "
"topology detected at adapter %s " "topology detected at adapter %s "
"unsupported, shutting down adapter\n", "unsupported, shutting down adapter\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"top-al");
zfcp_erp_adapter_shutdown(adapter, 0, 127, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 127, (u64)fsf_req);
return -EIO; return -EIO;
case FC_PORTTYPE_NPORT: case FC_PORTTYPE_NPORT:
...@@ -2187,8 +2130,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2187,8 +2130,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req)
"of a type known to the zfcp " "of a type known to the zfcp "
"driver, shutting down adapter\n", "driver, shutting down adapter\n",
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_exception(fsf_req->adapter->erp_dbf, 0,
"unknown-topo");
zfcp_erp_adapter_shutdown(adapter, 0, 128, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 128, (u64)fsf_req);
return -EIO; return -EIO;
} }
...@@ -2201,10 +2142,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2201,10 +2142,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req)
bottom->max_qtcb_size, bottom->max_qtcb_size,
zfcp_get_busid_by_adapter(adapter), zfcp_get_busid_by_adapter(adapter),
sizeof(struct fsf_qtcb)); sizeof(struct fsf_qtcb));
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"qtcb-size");
debug_event(fsf_req->adapter->erp_dbf, 0,
&bottom->max_qtcb_size, sizeof (u32));
zfcp_erp_adapter_shutdown(adapter, 0, 129, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 129, (u64)fsf_req);
return -EIO; return -EIO;
} }
...@@ -2212,8 +2149,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2212,8 +2149,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req)
&adapter->status); &adapter->status);
break; break;
case FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE: case FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE:
debug_text_event(adapter->erp_dbf, 0, "xchg-inco");
if (zfcp_fsf_exchange_config_evaluate(fsf_req, 0)) if (zfcp_fsf_exchange_config_evaluate(fsf_req, 0))
return -EIO; return -EIO;
...@@ -2224,9 +2159,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2224,9 +2159,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req)
&qtcb->header.fsf_status_qual.link_down_info); &qtcb->header.fsf_status_qual.link_down_info);
break; break;
default: default:
debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf-stat-ng");
debug_event(fsf_req->adapter->erp_dbf, 0,
&fsf_req->qtcb->header.fsf_status, sizeof(u32));
zfcp_erp_adapter_shutdown(adapter, 0, 130, (u64)fsf_req); zfcp_erp_adapter_shutdown(adapter, 0, 130, (u64)fsf_req);
return -EIO; return -EIO;
} }
...@@ -2406,10 +2338,6 @@ zfcp_fsf_exchange_port_data_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2406,10 +2338,6 @@ zfcp_fsf_exchange_port_data_handler(struct zfcp_fsf_req *fsf_req)
zfcp_fsf_link_down_info_eval(fsf_req, 43, zfcp_fsf_link_down_info_eval(fsf_req, 43,
&qtcb->header.fsf_status_qual.link_down_info); &qtcb->header.fsf_status_qual.link_down_info);
break; break;
default:
debug_text_event(adapter->erp_dbf, 0, "xchg-port-ng");
debug_event(adapter->erp_dbf, 0,
&fsf_req->qtcb->header.fsf_status, sizeof(u32));
} }
} }
...@@ -2507,8 +2435,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2507,8 +2435,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_NORMAL("bug: remote port 0x%016Lx on adapter %s " ZFCP_LOG_NORMAL("bug: remote port 0x%016Lx on adapter %s "
"is already open.\n", "is already open.\n",
port->wwpn, zfcp_get_busid_by_port(port)); port->wwpn, zfcp_get_busid_by_port(port));
debug_text_exception(fsf_req->adapter->erp_dbf, 0,
"fsf_s_popen");
/* /*
* This is a bug, however operation should continue normally * This is a bug, however operation should continue normally
* if it is simply ignored * if it is simply ignored
...@@ -2532,7 +2458,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2532,7 +2458,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
break; break;
} }
} }
debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_access");
zfcp_erp_port_access_denied(port, 57, (u64)fsf_req); zfcp_erp_port_access_denied(port, 57, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -2542,8 +2467,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2542,8 +2467,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
"The remote port 0x%016Lx on adapter %s " "The remote port 0x%016Lx on adapter %s "
"could not be opened. Disabling it.\n", "could not be opened. Disabling it.\n",
port->wwpn, zfcp_get_busid_by_port(port)); port->wwpn, zfcp_get_busid_by_port(port));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_max_ports");
zfcp_erp_port_failed(port, 31, (u64)fsf_req); zfcp_erp_port_failed(port, 31, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -2551,15 +2474,11 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2551,15 +2474,11 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
case FSF_ADAPTER_STATUS_AVAILABLE: case FSF_ADAPTER_STATUS_AVAILABLE:
switch (header->fsf_status_qual.word[0]) { switch (header->fsf_status_qual.word[0]) {
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ltest");
/* ERP strategy will escalate */ /* ERP strategy will escalate */
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* ERP strategy will escalate */ /* ERP strategy will escalate */
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ulp");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_NO_RETRY_POSSIBLE: case FSF_SQ_NO_RETRY_POSSIBLE:
...@@ -2568,8 +2487,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2568,8 +2487,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
"Disabling it.\n", "Disabling it.\n",
port->wwpn, port->wwpn,
zfcp_get_busid_by_port(port)); zfcp_get_busid_by_port(port));
debug_text_exception(fsf_req->adapter->erp_dbf, 0,
"fsf_sq_no_retry");
zfcp_erp_port_failed(port, 32, (u64)fsf_req); zfcp_erp_port_failed(port, 32, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -2577,12 +2494,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2577,12 +2494,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_NORMAL ZFCP_LOG_NORMAL
("bug: Wrong status qualifier 0x%x arrived.\n", ("bug: Wrong status qualifier 0x%x arrived.\n",
header->fsf_status_qual.word[0]); header->fsf_status_qual.word[0]);
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_sq_inval:");
debug_exception(
fsf_req->adapter->erp_dbf, 0,
&header->fsf_status_qual.word[0],
sizeof (u32));
break; break;
} }
break; break;
...@@ -2625,17 +2536,12 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2625,17 +2536,12 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
"warning: insufficient length of " "warning: insufficient length of "
"PLOGI payload (%i)\n", "PLOGI payload (%i)\n",
fsf_req->qtcb->bottom.support.els1_length); fsf_req->qtcb->bottom.support.els1_length);
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_s_short_plogi:");
/* skip sanity check and assume wwpn is ok */ /* skip sanity check and assume wwpn is ok */
} else { } else {
if (plogi->serv_param.wwpn != port->wwpn) { if (plogi->serv_param.wwpn != port->wwpn) {
ZFCP_LOG_INFO("warning: d_id of port " ZFCP_LOG_INFO("warning: d_id of port "
"0x%016Lx changed during " "0x%016Lx changed during "
"open\n", port->wwpn); "open\n", port->wwpn);
debug_text_event(
fsf_req->adapter->erp_dbf, 0,
"fsf_s_did_change:");
atomic_clear_mask( atomic_clear_mask(
ZFCP_STATUS_PORT_DID_DID, ZFCP_STATUS_PORT_DID_DID,
&port->status); &port->status);
...@@ -2660,9 +2566,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2660,9 +2566,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented "
"(debug info 0x%x)\n", "(debug info 0x%x)\n",
header->fsf_status); header->fsf_status);
debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:");
debug_exception(fsf_req->adapter->erp_dbf, 0,
&header->fsf_status, sizeof (u32));
break; break;
} }
...@@ -2766,8 +2669,6 @@ zfcp_fsf_close_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2766,8 +2669,6 @@ zfcp_fsf_close_port_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &fsf_req->qtcb->header.fsf_status_qual, (char *) &fsf_req->qtcb->header.fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_phand_nv");
zfcp_erp_adapter_reopen(port->adapter, 0, 107, (u64)fsf_req); zfcp_erp_adapter_reopen(port->adapter, 0, 107, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -2793,10 +2694,6 @@ zfcp_fsf_close_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2793,10 +2694,6 @@ zfcp_fsf_close_port_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented "
"(debug info 0x%x)\n", "(debug info 0x%x)\n",
fsf_req->qtcb->header.fsf_status); fsf_req->qtcb->header.fsf_status);
debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:");
debug_exception(fsf_req->adapter->erp_dbf, 0,
&fsf_req->qtcb->header.fsf_status,
sizeof (u32));
break; break;
} }
...@@ -2909,8 +2806,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2909,8 +2806,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_phand_nv");
zfcp_erp_adapter_reopen(port->adapter, 0, 108, (u64)fsf_req); zfcp_erp_adapter_reopen(port->adapter, 0, 108, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -2932,7 +2827,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2932,7 +2827,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req)
break; break;
} }
} }
debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_access");
zfcp_erp_port_access_denied(port, 58, (u64)fsf_req); zfcp_erp_port_access_denied(port, 58, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -2943,7 +2837,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2943,7 +2837,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req)
"to close it physically.\n", "to close it physically.\n",
port->wwpn, port->wwpn,
zfcp_get_busid_by_port(port)); zfcp_get_busid_by_port(port));
debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_pboxed");
zfcp_erp_port_boxed(port, 50, (u64)fsf_req); zfcp_erp_port_boxed(port, 50, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
ZFCP_STATUS_FSFREQ_RETRY; ZFCP_STATUS_FSFREQ_RETRY;
...@@ -2959,26 +2852,17 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -2959,26 +2852,17 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req)
case FSF_ADAPTER_STATUS_AVAILABLE: case FSF_ADAPTER_STATUS_AVAILABLE:
switch (header->fsf_status_qual.word[0]) { switch (header->fsf_status_qual.word[0]) {
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ltest");
/* This will now be escalated by ERP */ /* This will now be escalated by ERP */
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* ERP strategy will escalate */ /* ERP strategy will escalate */
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ulp");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
default: default:
ZFCP_LOG_NORMAL ZFCP_LOG_NORMAL
("bug: Wrong status qualifier 0x%x arrived.\n", ("bug: Wrong status qualifier 0x%x arrived.\n",
header->fsf_status_qual.word[0]); header->fsf_status_qual.word[0]);
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_sq_inval:");
debug_exception(
fsf_req->adapter->erp_dbf, 0,
&header->fsf_status_qual.word[0], sizeof (u32));
break; break;
} }
break; break;
...@@ -3001,9 +2885,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3001,9 +2885,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented "
"(debug info 0x%x)\n", "(debug info 0x%x)\n",
header->fsf_status); header->fsf_status);
debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:");
debug_exception(fsf_req->adapter->erp_dbf, 0,
&header->fsf_status, sizeof (u32));
break; break;
} }
...@@ -3135,7 +3016,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3135,7 +3016,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(adapter->erp_dbf, 1, "fsf_s_ph_nv");
zfcp_erp_adapter_reopen(unit->port->adapter, 0, 109, zfcp_erp_adapter_reopen(unit->port->adapter, 0, 109,
(u64)fsf_req); (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -3146,8 +3026,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3146,8 +3026,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
"remote port 0x%016Lx on adapter %s twice.\n", "remote port 0x%016Lx on adapter %s twice.\n",
unit->fcp_lun, unit->fcp_lun,
unit->port->wwpn, zfcp_get_busid_by_unit(unit)); unit->port->wwpn, zfcp_get_busid_by_unit(unit));
debug_text_exception(adapter->erp_dbf, 0,
"fsf_s_uopen");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -3169,7 +3047,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3169,7 +3047,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
break; break;
} }
} }
debug_text_event(adapter->erp_dbf, 1, "fsf_s_access");
zfcp_erp_unit_access_denied(unit, 59, (u64)fsf_req); zfcp_erp_unit_access_denied(unit, 59, (u64)fsf_req);
atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status); atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status);
atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status); atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status);
...@@ -3180,7 +3057,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3180,7 +3057,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s " ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s "
"needs to be reopened\n", "needs to be reopened\n",
unit->port->wwpn, zfcp_get_busid_by_unit(unit)); unit->port->wwpn, zfcp_get_busid_by_unit(unit));
debug_text_event(adapter->erp_dbf, 2, "fsf_s_pboxed");
zfcp_erp_port_boxed(unit->port, 51, (u64)fsf_req); zfcp_erp_port_boxed(unit->port, 51, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
ZFCP_STATUS_FSFREQ_RETRY; ZFCP_STATUS_FSFREQ_RETRY;
...@@ -3221,8 +3097,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3221,8 +3097,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(adapter->erp_dbf, 2,
"fsf_s_l_sh_vio");
zfcp_erp_unit_access_denied(unit, 60, (u64)fsf_req); zfcp_erp_unit_access_denied(unit, 60, (u64)fsf_req);
atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status); atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status);
atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status); atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status);
...@@ -3237,8 +3111,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3237,8 +3111,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
unit->fcp_lun, unit->fcp_lun,
unit->port->wwpn, unit->port->wwpn,
zfcp_get_busid_by_unit(unit)); zfcp_get_busid_by_unit(unit));
debug_text_event(adapter->erp_dbf, 1,
"fsf_s_max_units");
zfcp_erp_unit_failed(unit, 34, (u64)fsf_req); zfcp_erp_unit_failed(unit, 34, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -3247,26 +3119,17 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3247,26 +3119,17 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
switch (header->fsf_status_qual.word[0]) { switch (header->fsf_status_qual.word[0]) {
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
/* Re-establish link to port */ /* Re-establish link to port */
debug_text_event(adapter->erp_dbf, 1,
"fsf_sq_ltest");
zfcp_test_link(unit->port); zfcp_test_link(unit->port);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* ERP strategy will escalate */ /* ERP strategy will escalate */
debug_text_event(adapter->erp_dbf, 1,
"fsf_sq_ulp");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
default: default:
ZFCP_LOG_NORMAL ZFCP_LOG_NORMAL
("bug: Wrong status qualifier 0x%x arrived.\n", ("bug: Wrong status qualifier 0x%x arrived.\n",
header->fsf_status_qual.word[0]); header->fsf_status_qual.word[0]);
debug_text_event(adapter->erp_dbf, 0,
"fsf_sq_inval:");
debug_exception(adapter->erp_dbf, 0,
&header->fsf_status_qual.word[0],
sizeof (u32));
} }
break; break;
...@@ -3339,9 +3202,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3339,9 +3202,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented "
"(debug info 0x%x)\n", "(debug info 0x%x)\n",
header->fsf_status); header->fsf_status);
debug_text_event(adapter->erp_dbf, 0, "fsf_s_inval:");
debug_exception(adapter->erp_dbf, 0,
&header->fsf_status, sizeof (u32));
break; break;
} }
...@@ -3454,8 +3314,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3454,8 +3314,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &fsf_req->qtcb->header.fsf_status_qual, (char *) &fsf_req->qtcb->header.fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_phand_nv");
zfcp_erp_adapter_reopen(unit->port->adapter, 0, 110, zfcp_erp_adapter_reopen(unit->port->adapter, 0, 110,
(u64)fsf_req); (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -3473,8 +3331,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3473,8 +3331,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &fsf_req->qtcb->header.fsf_status_qual, (char *) &fsf_req->qtcb->header.fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_lhand_nv");
zfcp_erp_port_reopen(unit->port, 0, 111, (u64)fsf_req); zfcp_erp_port_reopen(unit->port, 0, 111, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -3484,7 +3340,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3484,7 +3340,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req)
"needs to be reopened\n", "needs to be reopened\n",
unit->port->wwpn, unit->port->wwpn,
zfcp_get_busid_by_unit(unit)); zfcp_get_busid_by_unit(unit));
debug_text_event(fsf_req->adapter->erp_dbf, 2, "fsf_s_pboxed");
zfcp_erp_port_boxed(unit->port, 52, (u64)fsf_req); zfcp_erp_port_boxed(unit->port, 52, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
ZFCP_STATUS_FSFREQ_RETRY; ZFCP_STATUS_FSFREQ_RETRY;
...@@ -3494,27 +3349,17 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3494,27 +3349,17 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req)
switch (fsf_req->qtcb->header.fsf_status_qual.word[0]) { switch (fsf_req->qtcb->header.fsf_status_qual.word[0]) {
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
/* re-establish link to port */ /* re-establish link to port */
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ltest");
zfcp_test_link(unit->port); zfcp_test_link(unit->port);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* ERP strategy will escalate */ /* ERP strategy will escalate */
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ulp");
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
default: default:
ZFCP_LOG_NORMAL ZFCP_LOG_NORMAL
("bug: Wrong status qualifier 0x%x arrived.\n", ("bug: Wrong status qualifier 0x%x arrived.\n",
fsf_req->qtcb->header.fsf_status_qual.word[0]); fsf_req->qtcb->header.fsf_status_qual.word[0]);
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_sq_inval:");
debug_exception(
fsf_req->adapter->erp_dbf, 0,
&fsf_req->qtcb->header.fsf_status_qual.word[0],
sizeof (u32));
break; break;
} }
break; break;
...@@ -3535,10 +3380,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3535,10 +3380,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented "
"(debug info 0x%x)\n", "(debug info 0x%x)\n",
fsf_req->qtcb->header.fsf_status); fsf_req->qtcb->header.fsf_status);
debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:");
debug_exception(fsf_req->adapter->erp_dbf, 0,
&fsf_req->qtcb->header.fsf_status,
sizeof (u32));
break; break;
} }
...@@ -3851,8 +3692,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3851,8 +3692,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_phand_nv");
zfcp_erp_adapter_reopen(unit->port->adapter, 0, 112, zfcp_erp_adapter_reopen(unit->port->adapter, 0, 112,
(u64)fsf_req); (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -3870,8 +3709,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3870,8 +3709,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_uhand_nv");
zfcp_erp_port_reopen(unit->port, 0, 113, (u64)fsf_req); zfcp_erp_port_reopen(unit->port, 0, 113, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -3888,8 +3725,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3888,8 +3725,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_hand_mis");
zfcp_erp_adapter_reopen(unit->port->adapter, 0, 114, zfcp_erp_adapter_reopen(unit->port->adapter, 0, 114,
(u64)fsf_req); (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -3901,8 +3736,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3901,8 +3736,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
zfcp_get_busid_by_unit(unit), zfcp_get_busid_by_unit(unit),
ZFCP_FC_SERVICE_CLASS_DEFAULT); ZFCP_FC_SERVICE_CLASS_DEFAULT);
/* stop operation for this adapter */ /* stop operation for this adapter */
debug_text_exception(fsf_req->adapter->erp_dbf, 0,
"fsf_s_class_nsup");
zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 132, zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 132,
(u64)fsf_req); (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -3920,8 +3753,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3920,8 +3753,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG,
(char *) &header->fsf_status_qual, (char *) &header->fsf_status_qual,
sizeof (union fsf_status_qual)); sizeof (union fsf_status_qual));
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_s_fcp_lun_nv");
zfcp_erp_port_reopen(unit->port, 0, 115, (u64)fsf_req); zfcp_erp_port_reopen(unit->port, 0, 115, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -3944,7 +3775,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3944,7 +3775,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
break; break;
} }
} }
debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_access");
zfcp_erp_unit_access_denied(unit, 61, (u64)fsf_req); zfcp_erp_unit_access_denied(unit, 61, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
break; break;
...@@ -3958,8 +3788,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3958,8 +3788,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
zfcp_get_busid_by_unit(unit), zfcp_get_busid_by_unit(unit),
fsf_req->qtcb->bottom.io.data_direction); fsf_req->qtcb->bottom.io.data_direction);
/* stop operation for this adapter */ /* stop operation for this adapter */
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_s_dir_ind_nv");
zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 133, zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 133,
(u64)fsf_req); (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -3974,8 +3802,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3974,8 +3802,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
zfcp_get_busid_by_unit(unit), zfcp_get_busid_by_unit(unit),
fsf_req->qtcb->bottom.io.fcp_cmnd_length); fsf_req->qtcb->bottom.io.fcp_cmnd_length);
/* stop operation for this adapter */ /* stop operation for this adapter */
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_s_cmd_len_nv");
zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 134, zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 134,
(u64)fsf_req); (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -3985,7 +3811,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3985,7 +3811,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s " ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s "
"needs to be reopened\n", "needs to be reopened\n",
unit->port->wwpn, zfcp_get_busid_by_unit(unit)); unit->port->wwpn, zfcp_get_busid_by_unit(unit));
debug_text_event(fsf_req->adapter->erp_dbf, 2, "fsf_s_pboxed");
zfcp_erp_port_boxed(unit->port, 53, (u64)fsf_req); zfcp_erp_port_boxed(unit->port, 53, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
ZFCP_STATUS_FSFREQ_RETRY; ZFCP_STATUS_FSFREQ_RETRY;
...@@ -3996,7 +3821,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -3996,7 +3821,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
"wwpn=0x%016Lx, fcp_lun=0x%016Lx)\n", "wwpn=0x%016Lx, fcp_lun=0x%016Lx)\n",
zfcp_get_busid_by_unit(unit), zfcp_get_busid_by_unit(unit),
unit->port->wwpn, unit->fcp_lun); unit->port->wwpn, unit->fcp_lun);
debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_lboxed");
zfcp_erp_unit_boxed(unit, 54, (u64)fsf_req); zfcp_erp_unit_boxed(unit, 54, (u64)fsf_req);
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR
| ZFCP_STATUS_FSFREQ_RETRY; | ZFCP_STATUS_FSFREQ_RETRY;
...@@ -4006,25 +3830,16 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -4006,25 +3830,16 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
switch (header->fsf_status_qual.word[0]) { switch (header->fsf_status_qual.word[0]) {
case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE:
/* re-establish link to port */ /* re-establish link to port */
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ltest");
zfcp_test_link(unit->port); zfcp_test_link(unit->port);
break; break;
case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED:
/* FIXME(hw) need proper specs for proper action */ /* FIXME(hw) need proper specs for proper action */
/* let scsi stack deal with retries and escalation */ /* let scsi stack deal with retries and escalation */
debug_text_event(fsf_req->adapter->erp_dbf, 1,
"fsf_sq_ulp");
break; break;
default: default:
ZFCP_LOG_NORMAL ZFCP_LOG_NORMAL
("Unknown status qualifier 0x%x arrived.\n", ("Unknown status qualifier 0x%x arrived.\n",
header->fsf_status_qual.word[0]); header->fsf_status_qual.word[0]);
debug_text_event(fsf_req->adapter->erp_dbf, 0,
"fsf_sq_inval:");
debug_exception(fsf_req->adapter->erp_dbf, 0,
&header->fsf_status_qual.word[0],
sizeof(u32));
break; break;
} }
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
...@@ -4035,12 +3850,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) ...@@ -4035,12 +3850,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req)
case FSF_FCP_RSP_AVAILABLE: case FSF_FCP_RSP_AVAILABLE:
break; break;
default:
debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:");
debug_exception(fsf_req->adapter->erp_dbf, 0,
&header->fsf_status, sizeof(u32));
break;
} }
skip_fsfstatus: skip_fsfstatus:
...@@ -4620,9 +4429,6 @@ zfcp_fsf_control_file_handler(struct zfcp_fsf_req *fsf_req) ...@@ -4620,9 +4429,6 @@ zfcp_fsf_control_file_handler(struct zfcp_fsf_req *fsf_req)
"was presented on the adapter %s\n", "was presented on the adapter %s\n",
header->fsf_status, header->fsf_status,
zfcp_get_busid_by_adapter(adapter)); zfcp_get_busid_by_adapter(adapter));
debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_sq_inval");
debug_exception(fsf_req->adapter->erp_dbf, 0,
&header->fsf_status_qual.word[0], sizeof(u32));
fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR;
retval = -EINVAL; retval = -EINVAL;
break; break;
...@@ -4812,7 +4618,6 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *fsf_req) ...@@ -4812,7 +4618,6 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *fsf_req)
volatile struct qdio_buffer_element *sbale; volatile struct qdio_buffer_element *sbale;
int inc_seq_no; int inc_seq_no;
int new_distance_from_int; int new_distance_from_int;
u64 dbg_tmp[2];
int retval = 0; int retval = 0;
adapter = fsf_req->adapter; adapter = fsf_req->adapter;
...@@ -4862,10 +4667,6 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *fsf_req) ...@@ -4862,10 +4667,6 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *fsf_req)
QDIO_FLAG_SYNC_OUTPUT, QDIO_FLAG_SYNC_OUTPUT,
0, fsf_req->sbal_first, fsf_req->sbal_number, NULL); 0, fsf_req->sbal_first, fsf_req->sbal_number, NULL);
dbg_tmp[0] = (unsigned long) sbale[0].addr;
dbg_tmp[1] = (u64) retval;
debug_event(adapter->erp_dbf, 4, (void *) dbg_tmp, 16);
if (unlikely(retval)) { if (unlikely(retval)) {
/* Queues are down..... */ /* Queues are down..... */
retval = -EIO; retval = -EIO;
......
...@@ -239,8 +239,6 @@ static void zfcp_qdio_reqid_check(struct zfcp_adapter *adapter, ...@@ -239,8 +239,6 @@ static void zfcp_qdio_reqid_check(struct zfcp_adapter *adapter,
struct zfcp_fsf_req *fsf_req; struct zfcp_fsf_req *fsf_req;
unsigned long flags; unsigned long flags;
debug_long_event(adapter->erp_dbf, 4, req_id);
spin_lock_irqsave(&adapter->req_list_lock, flags); spin_lock_irqsave(&adapter->req_list_lock, flags);
fsf_req = zfcp_reqlist_find(adapter, req_id); fsf_req = zfcp_reqlist_find(adapter, req_id);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment