diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_fsf.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_fsf.c | 199 |
1 files changed, 0 insertions, 199 deletions
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c index ffdf99736a4c..b7aa9696ba60 100644 --- a/drivers/s390/scsi/zfcp_fsf.c +++ b/drivers/s390/scsi/zfcp_fsf.c | |||
@@ -799,19 +799,14 @@ zfcp_fsf_status_read_port_closed(struct zfcp_fsf_req *fsf_req) | |||
799 | switch (status_buffer->status_subtype) { | 799 | switch (status_buffer->status_subtype) { |
800 | 800 | ||
801 | case FSF_STATUS_READ_SUB_CLOSE_PHYS_PORT: | 801 | case FSF_STATUS_READ_SUB_CLOSE_PHYS_PORT: |
802 | debug_text_event(adapter->erp_dbf, 3, "unsol_pc_phys:"); | ||
803 | zfcp_erp_port_reopen(port, 0, 101, (u64)fsf_req); | 802 | zfcp_erp_port_reopen(port, 0, 101, (u64)fsf_req); |
804 | break; | 803 | break; |
805 | 804 | ||
806 | case FSF_STATUS_READ_SUB_ERROR_PORT: | 805 | case FSF_STATUS_READ_SUB_ERROR_PORT: |
807 | debug_text_event(adapter->erp_dbf, 1, "unsol_pc_err:"); | ||
808 | zfcp_erp_port_shutdown(port, 0, 122, (u64)fsf_req); | 806 | zfcp_erp_port_shutdown(port, 0, 122, (u64)fsf_req); |
809 | break; | 807 | break; |
810 | 808 | ||
811 | default: | 809 | default: |
812 | debug_text_event(adapter->erp_dbf, 0, "unsol_unk_sub:"); | ||
813 | debug_exception(adapter->erp_dbf, 0, | ||
814 | &status_buffer->status_subtype, sizeof (u32)); | ||
815 | ZFCP_LOG_NORMAL("bug: Undefined status subtype received " | 810 | ZFCP_LOG_NORMAL("bug: Undefined status subtype received " |
816 | "for a reopen indication on port with " | 811 | "for a reopen indication on port with " |
817 | "d_id 0x%06x on the adapter %s. " | 812 | "d_id 0x%06x on the adapter %s. " |
@@ -1002,7 +997,6 @@ zfcp_fsf_status_read_handler(struct zfcp_fsf_req *fsf_req) | |||
1002 | break; | 997 | break; |
1003 | 998 | ||
1004 | case FSF_STATUS_READ_FEATURE_UPDATE_ALERT: | 999 | case FSF_STATUS_READ_FEATURE_UPDATE_ALERT: |
1005 | debug_text_event(adapter->erp_dbf, 2, "unsol_features:"); | ||
1006 | ZFCP_LOG_INFO("List of supported features on adapter %s has " | 1000 | ZFCP_LOG_INFO("List of supported features on adapter %s has " |
1007 | "been changed from 0x%08X to 0x%08X\n", | 1001 | "been changed from 0x%08X to 0x%08X\n", |
1008 | zfcp_get_busid_by_adapter(adapter), | 1002 | zfcp_get_busid_by_adapter(adapter), |
@@ -1151,8 +1145,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) | |||
1151 | 1145 | ||
1152 | case FSF_PORT_HANDLE_NOT_VALID: | 1146 | case FSF_PORT_HANDLE_NOT_VALID: |
1153 | if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) { | 1147 | if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) { |
1154 | debug_text_event(new_fsf_req->adapter->erp_dbf, 3, | ||
1155 | "fsf_s_phand_nv0"); | ||
1156 | /* | 1148 | /* |
1157 | * In this case a command that was sent prior to a port | 1149 | * In this case a command that was sent prior to a port |
1158 | * reopen was aborted (handles are different). This is | 1150 | * 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 | fsf_status_qual, | 1163 | fsf_status_qual, |
1172 | sizeof (union fsf_status_qual)); | 1164 | sizeof (union fsf_status_qual)); |
1173 | /* Let's hope this sorts out the mess */ | 1165 | /* Let's hope this sorts out the mess */ |
1174 | debug_text_event(new_fsf_req->adapter->erp_dbf, 1, | ||
1175 | "fsf_s_phand_nv1"); | ||
1176 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 104, | 1166 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 104, |
1177 | (u64)new_fsf_req); | 1167 | (u64)new_fsf_req); |
1178 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1168 | 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 | 1171 | ||
1182 | case FSF_LUN_HANDLE_NOT_VALID: | 1172 | case FSF_LUN_HANDLE_NOT_VALID: |
1183 | if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) { | 1173 | if (fsf_stat_qual->word[0] != fsf_stat_qual->word[1]) { |
1184 | debug_text_event(new_fsf_req->adapter->erp_dbf, 3, | ||
1185 | "fsf_s_lhand_nv0"); | ||
1186 | /* | 1174 | /* |
1187 | * In this case a command that was sent prior to a unit | 1175 | * In this case a command that was sent prior to a unit |
1188 | * reopen was aborted (handles are different). | 1176 | * reopen was aborted (handles are different). |
@@ -1204,8 +1192,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) | |||
1204 | fsf_status_qual, | 1192 | fsf_status_qual, |
1205 | sizeof (union fsf_status_qual)); | 1193 | sizeof (union fsf_status_qual)); |
1206 | /* Let's hope this sorts out the mess */ | 1194 | /* Let's hope this sorts out the mess */ |
1207 | debug_text_event(new_fsf_req->adapter->erp_dbf, 1, | ||
1208 | "fsf_s_lhand_nv1"); | ||
1209 | zfcp_erp_port_reopen(unit->port, 0, 105, | 1195 | zfcp_erp_port_reopen(unit->port, 0, 105, |
1210 | (u64)new_fsf_req); | 1196 | (u64)new_fsf_req); |
1211 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1197 | 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 | 1200 | ||
1215 | case FSF_FCP_COMMAND_DOES_NOT_EXIST: | 1201 | case FSF_FCP_COMMAND_DOES_NOT_EXIST: |
1216 | retval = 0; | 1202 | retval = 0; |
1217 | debug_text_event(new_fsf_req->adapter->erp_dbf, 3, | ||
1218 | "fsf_s_no_exist"); | ||
1219 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED; | 1203 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED; |
1220 | break; | 1204 | break; |
1221 | 1205 | ||
@@ -1223,8 +1207,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) | |||
1223 | ZFCP_LOG_INFO("Remote port 0x%016Lx on adapter %s needs to " | 1207 | ZFCP_LOG_INFO("Remote port 0x%016Lx on adapter %s needs to " |
1224 | "be reopened\n", unit->port->wwpn, | 1208 | "be reopened\n", unit->port->wwpn, |
1225 | zfcp_get_busid_by_unit(unit)); | 1209 | zfcp_get_busid_by_unit(unit)); |
1226 | debug_text_event(new_fsf_req->adapter->erp_dbf, 2, | ||
1227 | "fsf_s_pboxed"); | ||
1228 | zfcp_erp_port_boxed(unit->port, 47, (u64)new_fsf_req); | 1210 | zfcp_erp_port_boxed(unit->port, 47, (u64)new_fsf_req); |
1229 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | 1211 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
1230 | | ZFCP_STATUS_FSFREQ_RETRY; | 1212 | | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -1236,7 +1218,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) | |||
1236 | "to be reopened\n", | 1218 | "to be reopened\n", |
1237 | unit->fcp_lun, unit->port->wwpn, | 1219 | unit->fcp_lun, unit->port->wwpn, |
1238 | zfcp_get_busid_by_unit(unit)); | 1220 | zfcp_get_busid_by_unit(unit)); |
1239 | debug_text_event(new_fsf_req->adapter->erp_dbf, 1, "fsf_s_lboxed"); | ||
1240 | zfcp_erp_unit_boxed(unit, 48, (u64)new_fsf_req); | 1221 | zfcp_erp_unit_boxed(unit, 48, (u64)new_fsf_req); |
1241 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | 1222 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
1242 | | ZFCP_STATUS_FSFREQ_RETRY; | 1223 | | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -1245,26 +1226,17 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) | |||
1245 | case FSF_ADAPTER_STATUS_AVAILABLE: | 1226 | case FSF_ADAPTER_STATUS_AVAILABLE: |
1246 | switch (new_fsf_req->qtcb->header.fsf_status_qual.word[0]) { | 1227 | switch (new_fsf_req->qtcb->header.fsf_status_qual.word[0]) { |
1247 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 1228 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
1248 | debug_text_event(new_fsf_req->adapter->erp_dbf, 1, | ||
1249 | "fsf_sq_ltest"); | ||
1250 | zfcp_test_link(unit->port); | 1229 | zfcp_test_link(unit->port); |
1251 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1230 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1252 | break; | 1231 | break; |
1253 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 1232 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
1254 | /* SCSI stack will escalate */ | 1233 | /* SCSI stack will escalate */ |
1255 | debug_text_event(new_fsf_req->adapter->erp_dbf, 1, | ||
1256 | "fsf_sq_ulp"); | ||
1257 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1234 | new_fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1258 | break; | 1235 | break; |
1259 | default: | 1236 | default: |
1260 | ZFCP_LOG_NORMAL | 1237 | ZFCP_LOG_NORMAL |
1261 | ("bug: Wrong status qualifier 0x%x arrived.\n", | 1238 | ("bug: Wrong status qualifier 0x%x arrived.\n", |
1262 | new_fsf_req->qtcb->header.fsf_status_qual.word[0]); | 1239 | new_fsf_req->qtcb->header.fsf_status_qual.word[0]); |
1263 | debug_text_event(new_fsf_req->adapter->erp_dbf, 0, | ||
1264 | "fsf_sq_inval:"); | ||
1265 | debug_exception(new_fsf_req->adapter->erp_dbf, 0, | ||
1266 | &new_fsf_req->qtcb->header. | ||
1267 | fsf_status_qual.word[0], sizeof (u32)); | ||
1268 | break; | 1240 | break; |
1269 | } | 1241 | } |
1270 | break; | 1242 | break; |
@@ -1278,11 +1250,6 @@ zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *new_fsf_req) | |||
1278 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " | 1250 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " |
1279 | "(debug info 0x%x)\n", | 1251 | "(debug info 0x%x)\n", |
1280 | new_fsf_req->qtcb->header.fsf_status); | 1252 | new_fsf_req->qtcb->header.fsf_status); |
1281 | debug_text_event(new_fsf_req->adapter->erp_dbf, 0, | ||
1282 | "fsf_s_inval:"); | ||
1283 | debug_exception(new_fsf_req->adapter->erp_dbf, 0, | ||
1284 | &new_fsf_req->qtcb->header.fsf_status, | ||
1285 | sizeof (u32)); | ||
1286 | break; | 1253 | break; |
1287 | } | 1254 | } |
1288 | skip_fsfstatus: | 1255 | skip_fsfstatus: |
@@ -1485,7 +1452,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) | |||
1485 | zfcp_get_busid_by_port(port), | 1452 | zfcp_get_busid_by_port(port), |
1486 | ZFCP_FC_SERVICE_CLASS_DEFAULT); | 1453 | ZFCP_FC_SERVICE_CLASS_DEFAULT); |
1487 | /* stop operation for this adapter */ | 1454 | /* stop operation for this adapter */ |
1488 | debug_text_exception(adapter->erp_dbf, 0, "fsf_s_class_nsup"); | ||
1489 | zfcp_erp_adapter_shutdown(adapter, 0, 123, (u64)fsf_req); | 1455 | zfcp_erp_adapter_shutdown(adapter, 0, 123, (u64)fsf_req); |
1490 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1456 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1491 | break; | 1457 | break; |
@@ -1494,13 +1460,11 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) | |||
1494 | switch (header->fsf_status_qual.word[0]){ | 1460 | switch (header->fsf_status_qual.word[0]){ |
1495 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 1461 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
1496 | /* reopening link to port */ | 1462 | /* reopening link to port */ |
1497 | debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ltest"); | ||
1498 | zfcp_test_link(port); | 1463 | zfcp_test_link(port); |
1499 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1464 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1500 | break; | 1465 | break; |
1501 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 1466 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
1502 | /* ERP strategy will escalate */ | 1467 | /* ERP strategy will escalate */ |
1503 | debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ulp"); | ||
1504 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1468 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1505 | break; | 1469 | break; |
1506 | default: | 1470 | default: |
@@ -1528,7 +1492,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) | |||
1528 | break; | 1492 | break; |
1529 | } | 1493 | } |
1530 | } | 1494 | } |
1531 | debug_text_event(adapter->erp_dbf, 1, "fsf_s_access"); | ||
1532 | zfcp_erp_port_access_denied(port, 55, (u64)fsf_req); | 1495 | zfcp_erp_port_access_denied(port, 55, (u64)fsf_req); |
1533 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1496 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1534 | break; | 1497 | break; |
@@ -1541,7 +1504,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) | |||
1541 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO, | 1504 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO, |
1542 | (char *) &header->fsf_status_qual, | 1505 | (char *) &header->fsf_status_qual, |
1543 | sizeof (union fsf_status_qual)); | 1506 | sizeof (union fsf_status_qual)); |
1544 | debug_text_event(adapter->erp_dbf, 1, "fsf_s_gcom_rej"); | ||
1545 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1507 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1546 | break; | 1508 | break; |
1547 | 1509 | ||
@@ -1554,7 +1516,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) | |||
1554 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO, | 1516 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_INFO, |
1555 | (char *) &header->fsf_status_qual, | 1517 | (char *) &header->fsf_status_qual, |
1556 | sizeof (union fsf_status_qual)); | 1518 | sizeof (union fsf_status_qual)); |
1557 | debug_text_event(adapter->erp_dbf, 1, "fsf_s_phandle_nv"); | ||
1558 | zfcp_erp_adapter_reopen(adapter, 0, 106, (u64)fsf_req); | 1519 | zfcp_erp_adapter_reopen(adapter, 0, 106, (u64)fsf_req); |
1559 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1520 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1560 | break; | 1521 | break; |
@@ -1563,7 +1524,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) | |||
1563 | ZFCP_LOG_INFO("port needs to be reopened " | 1524 | ZFCP_LOG_INFO("port needs to be reopened " |
1564 | "(adapter %s, port d_id=0x%06x)\n", | 1525 | "(adapter %s, port d_id=0x%06x)\n", |
1565 | zfcp_get_busid_by_port(port), port->d_id); | 1526 | zfcp_get_busid_by_port(port), port->d_id); |
1566 | debug_text_event(adapter->erp_dbf, 2, "fsf_s_pboxed"); | ||
1567 | zfcp_erp_port_boxed(port, 49, (u64)fsf_req); | 1527 | zfcp_erp_port_boxed(port, 49, (u64)fsf_req); |
1568 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | 1528 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
1569 | | ZFCP_STATUS_FSFREQ_RETRY; | 1529 | | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -1603,9 +1563,6 @@ zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *fsf_req) | |||
1603 | default: | 1563 | default: |
1604 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " | 1564 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " |
1605 | "(debug info 0x%x)\n", header->fsf_status); | 1565 | "(debug info 0x%x)\n", header->fsf_status); |
1606 | debug_text_event(adapter->erp_dbf, 0, "fsf_sq_inval:"); | ||
1607 | debug_exception(adapter->erp_dbf, 0, | ||
1608 | &header->fsf_status_qual.word[0], sizeof (u32)); | ||
1609 | break; | 1566 | break; |
1610 | } | 1567 | } |
1611 | 1568 | ||
@@ -1789,7 +1746,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) | |||
1789 | zfcp_get_busid_by_adapter(adapter), | 1746 | zfcp_get_busid_by_adapter(adapter), |
1790 | ZFCP_FC_SERVICE_CLASS_DEFAULT); | 1747 | ZFCP_FC_SERVICE_CLASS_DEFAULT); |
1791 | /* stop operation for this adapter */ | 1748 | /* stop operation for this adapter */ |
1792 | debug_text_exception(adapter->erp_dbf, 0, "fsf_s_class_nsup"); | ||
1793 | zfcp_erp_adapter_shutdown(adapter, 0, 124, (u64)fsf_req); | 1749 | zfcp_erp_adapter_shutdown(adapter, 0, 124, (u64)fsf_req); |
1794 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1750 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1795 | break; | 1751 | break; |
@@ -1797,13 +1753,11 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) | |||
1797 | case FSF_ADAPTER_STATUS_AVAILABLE: | 1753 | case FSF_ADAPTER_STATUS_AVAILABLE: |
1798 | switch (header->fsf_status_qual.word[0]){ | 1754 | switch (header->fsf_status_qual.word[0]){ |
1799 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 1755 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
1800 | debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ltest"); | ||
1801 | if (port && (send_els->ls_code != ZFCP_LS_ADISC)) | 1756 | if (port && (send_els->ls_code != ZFCP_LS_ADISC)) |
1802 | zfcp_test_link(port); | 1757 | zfcp_test_link(port); |
1803 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1758 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1804 | break; | 1759 | break; |
1805 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 1760 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
1806 | debug_text_event(adapter->erp_dbf, 1, "fsf_sq_ulp"); | ||
1807 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1761 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1808 | retval = | 1762 | retval = |
1809 | zfcp_handle_els_rjt(header->fsf_status_qual.word[1], | 1763 | 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 | &header->fsf_status_qual.word[2]); | 1765 | &header->fsf_status_qual.word[2]); |
1812 | break; | 1766 | break; |
1813 | case FSF_SQ_RETRY_IF_POSSIBLE: | 1767 | case FSF_SQ_RETRY_IF_POSSIBLE: |
1814 | debug_text_event(adapter->erp_dbf, 1, "fsf_sq_retry"); | ||
1815 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1768 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1816 | break; | 1769 | break; |
1817 | default: | 1770 | default: |
@@ -1888,7 +1841,6 @@ static int zfcp_fsf_send_els_handler(struct zfcp_fsf_req *fsf_req) | |||
1888 | break; | 1841 | break; |
1889 | } | 1842 | } |
1890 | } | 1843 | } |
1891 | debug_text_event(adapter->erp_dbf, 1, "fsf_s_access"); | ||
1892 | if (port != NULL) | 1844 | if (port != NULL) |
1893 | zfcp_erp_port_access_denied(port, 56, (u64)fsf_req); | 1845 | zfcp_erp_port_access_denied(port, 56, (u64)fsf_req); |
1894 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1846 | 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 | "(adapter: %s, fsf_status=0x%08x)\n", | 1852 | "(adapter: %s, fsf_status=0x%08x)\n", |
1901 | zfcp_get_busid_by_adapter(adapter), | 1853 | zfcp_get_busid_by_adapter(adapter), |
1902 | header->fsf_status); | 1854 | header->fsf_status); |
1903 | debug_text_event(adapter->erp_dbf, 0, "fsf_sq_inval"); | ||
1904 | debug_exception(adapter->erp_dbf, 0, | ||
1905 | &header->fsf_status_qual.word[0], sizeof(u32)); | ||
1906 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 1855 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
1907 | break; | 1856 | break; |
1908 | } | 1857 | } |
@@ -2111,7 +2060,6 @@ zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *fsf_req, int xchg_ok) | |||
2111 | "versions in comparison to this device " | 2060 | "versions in comparison to this device " |
2112 | "driver (try updated device driver)\n", | 2061 | "driver (try updated device driver)\n", |
2113 | zfcp_get_busid_by_adapter(adapter)); | 2062 | zfcp_get_busid_by_adapter(adapter)); |
2114 | debug_text_event(adapter->erp_dbf, 0, "low_qtcb_ver"); | ||
2115 | zfcp_erp_adapter_shutdown(adapter, 0, 125, (u64)fsf_req); | 2063 | zfcp_erp_adapter_shutdown(adapter, 0, 125, (u64)fsf_req); |
2116 | return -EIO; | 2064 | return -EIO; |
2117 | } | 2065 | } |
@@ -2121,7 +2069,6 @@ zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *fsf_req, int xchg_ok) | |||
2121 | "versions than this device driver uses" | 2069 | "versions than this device driver uses" |
2122 | "(consider a microcode upgrade)\n", | 2070 | "(consider a microcode upgrade)\n", |
2123 | zfcp_get_busid_by_adapter(adapter)); | 2071 | zfcp_get_busid_by_adapter(adapter)); |
2124 | debug_text_event(adapter->erp_dbf, 0, "high_qtcb_ver"); | ||
2125 | zfcp_erp_adapter_shutdown(adapter, 0, 126, (u64)fsf_req); | 2072 | zfcp_erp_adapter_shutdown(adapter, 0, 126, (u64)fsf_req); |
2126 | return -EIO; | 2073 | return -EIO; |
2127 | } | 2074 | } |
@@ -2162,16 +2109,12 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) | |||
2162 | adapter->peer_wwnn, | 2109 | adapter->peer_wwnn, |
2163 | adapter->peer_wwpn, | 2110 | adapter->peer_wwpn, |
2164 | adapter->peer_d_id); | 2111 | adapter->peer_d_id); |
2165 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
2166 | "top-p-to-p"); | ||
2167 | break; | 2112 | break; |
2168 | case FC_PORTTYPE_NLPORT: | 2113 | case FC_PORTTYPE_NLPORT: |
2169 | ZFCP_LOG_NORMAL("error: Arbitrated loop fibrechannel " | 2114 | ZFCP_LOG_NORMAL("error: Arbitrated loop fibrechannel " |
2170 | "topology detected at adapter %s " | 2115 | "topology detected at adapter %s " |
2171 | "unsupported, shutting down adapter\n", | 2116 | "unsupported, shutting down adapter\n", |
2172 | zfcp_get_busid_by_adapter(adapter)); | 2117 | zfcp_get_busid_by_adapter(adapter)); |
2173 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
2174 | "top-al"); | ||
2175 | zfcp_erp_adapter_shutdown(adapter, 0, 127, (u64)fsf_req); | 2118 | zfcp_erp_adapter_shutdown(adapter, 0, 127, (u64)fsf_req); |
2176 | return -EIO; | 2119 | return -EIO; |
2177 | case FC_PORTTYPE_NPORT: | 2120 | case FC_PORTTYPE_NPORT: |
@@ -2187,8 +2130,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) | |||
2187 | "of a type known to the zfcp " | 2130 | "of a type known to the zfcp " |
2188 | "driver, shutting down adapter\n", | 2131 | "driver, shutting down adapter\n", |
2189 | zfcp_get_busid_by_adapter(adapter)); | 2132 | zfcp_get_busid_by_adapter(adapter)); |
2190 | debug_text_exception(fsf_req->adapter->erp_dbf, 0, | ||
2191 | "unknown-topo"); | ||
2192 | zfcp_erp_adapter_shutdown(adapter, 0, 128, (u64)fsf_req); | 2133 | zfcp_erp_adapter_shutdown(adapter, 0, 128, (u64)fsf_req); |
2193 | return -EIO; | 2134 | return -EIO; |
2194 | } | 2135 | } |
@@ -2201,10 +2142,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) | |||
2201 | bottom->max_qtcb_size, | 2142 | bottom->max_qtcb_size, |
2202 | zfcp_get_busid_by_adapter(adapter), | 2143 | zfcp_get_busid_by_adapter(adapter), |
2203 | sizeof(struct fsf_qtcb)); | 2144 | sizeof(struct fsf_qtcb)); |
2204 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
2205 | "qtcb-size"); | ||
2206 | debug_event(fsf_req->adapter->erp_dbf, 0, | ||
2207 | &bottom->max_qtcb_size, sizeof (u32)); | ||
2208 | zfcp_erp_adapter_shutdown(adapter, 0, 129, (u64)fsf_req); | 2145 | zfcp_erp_adapter_shutdown(adapter, 0, 129, (u64)fsf_req); |
2209 | return -EIO; | 2146 | return -EIO; |
2210 | } | 2147 | } |
@@ -2212,8 +2149,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) | |||
2212 | &adapter->status); | 2149 | &adapter->status); |
2213 | break; | 2150 | break; |
2214 | case FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE: | 2151 | case FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE: |
2215 | debug_text_event(adapter->erp_dbf, 0, "xchg-inco"); | ||
2216 | |||
2217 | if (zfcp_fsf_exchange_config_evaluate(fsf_req, 0)) | 2152 | if (zfcp_fsf_exchange_config_evaluate(fsf_req, 0)) |
2218 | return -EIO; | 2153 | return -EIO; |
2219 | 2154 | ||
@@ -2224,9 +2159,6 @@ zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *fsf_req) | |||
2224 | &qtcb->header.fsf_status_qual.link_down_info); | 2159 | &qtcb->header.fsf_status_qual.link_down_info); |
2225 | break; | 2160 | break; |
2226 | default: | 2161 | default: |
2227 | debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf-stat-ng"); | ||
2228 | debug_event(fsf_req->adapter->erp_dbf, 0, | ||
2229 | &fsf_req->qtcb->header.fsf_status, sizeof(u32)); | ||
2230 | zfcp_erp_adapter_shutdown(adapter, 0, 130, (u64)fsf_req); | 2162 | zfcp_erp_adapter_shutdown(adapter, 0, 130, (u64)fsf_req); |
2231 | return -EIO; | 2163 | return -EIO; |
2232 | } | 2164 | } |
@@ -2406,10 +2338,6 @@ zfcp_fsf_exchange_port_data_handler(struct zfcp_fsf_req *fsf_req) | |||
2406 | zfcp_fsf_link_down_info_eval(fsf_req, 43, | 2338 | zfcp_fsf_link_down_info_eval(fsf_req, 43, |
2407 | &qtcb->header.fsf_status_qual.link_down_info); | 2339 | &qtcb->header.fsf_status_qual.link_down_info); |
2408 | break; | 2340 | break; |
2409 | default: | ||
2410 | debug_text_event(adapter->erp_dbf, 0, "xchg-port-ng"); | ||
2411 | debug_event(adapter->erp_dbf, 0, | ||
2412 | &fsf_req->qtcb->header.fsf_status, sizeof(u32)); | ||
2413 | } | 2341 | } |
2414 | } | 2342 | } |
2415 | 2343 | ||
@@ -2507,8 +2435,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2507 | ZFCP_LOG_NORMAL("bug: remote port 0x%016Lx on adapter %s " | 2435 | ZFCP_LOG_NORMAL("bug: remote port 0x%016Lx on adapter %s " |
2508 | "is already open.\n", | 2436 | "is already open.\n", |
2509 | port->wwpn, zfcp_get_busid_by_port(port)); | 2437 | port->wwpn, zfcp_get_busid_by_port(port)); |
2510 | debug_text_exception(fsf_req->adapter->erp_dbf, 0, | ||
2511 | "fsf_s_popen"); | ||
2512 | /* | 2438 | /* |
2513 | * This is a bug, however operation should continue normally | 2439 | * This is a bug, however operation should continue normally |
2514 | * if it is simply ignored | 2440 | * if it is simply ignored |
@@ -2532,7 +2458,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2532 | break; | 2458 | break; |
2533 | } | 2459 | } |
2534 | } | 2460 | } |
2535 | debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_access"); | ||
2536 | zfcp_erp_port_access_denied(port, 57, (u64)fsf_req); | 2461 | zfcp_erp_port_access_denied(port, 57, (u64)fsf_req); |
2537 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2462 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2538 | break; | 2463 | break; |
@@ -2542,8 +2467,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2542 | "The remote port 0x%016Lx on adapter %s " | 2467 | "The remote port 0x%016Lx on adapter %s " |
2543 | "could not be opened. Disabling it.\n", | 2468 | "could not be opened. Disabling it.\n", |
2544 | port->wwpn, zfcp_get_busid_by_port(port)); | 2469 | port->wwpn, zfcp_get_busid_by_port(port)); |
2545 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
2546 | "fsf_s_max_ports"); | ||
2547 | zfcp_erp_port_failed(port, 31, (u64)fsf_req); | 2470 | zfcp_erp_port_failed(port, 31, (u64)fsf_req); |
2548 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2471 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2549 | break; | 2472 | break; |
@@ -2551,15 +2474,11 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2551 | case FSF_ADAPTER_STATUS_AVAILABLE: | 2474 | case FSF_ADAPTER_STATUS_AVAILABLE: |
2552 | switch (header->fsf_status_qual.word[0]) { | 2475 | switch (header->fsf_status_qual.word[0]) { |
2553 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 2476 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
2554 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
2555 | "fsf_sq_ltest"); | ||
2556 | /* ERP strategy will escalate */ | 2477 | /* ERP strategy will escalate */ |
2557 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2478 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2558 | break; | 2479 | break; |
2559 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 2480 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
2560 | /* ERP strategy will escalate */ | 2481 | /* ERP strategy will escalate */ |
2561 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
2562 | "fsf_sq_ulp"); | ||
2563 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2482 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2564 | break; | 2483 | break; |
2565 | case FSF_SQ_NO_RETRY_POSSIBLE: | 2484 | case FSF_SQ_NO_RETRY_POSSIBLE: |
@@ -2568,8 +2487,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2568 | "Disabling it.\n", | 2487 | "Disabling it.\n", |
2569 | port->wwpn, | 2488 | port->wwpn, |
2570 | zfcp_get_busid_by_port(port)); | 2489 | zfcp_get_busid_by_port(port)); |
2571 | debug_text_exception(fsf_req->adapter->erp_dbf, 0, | ||
2572 | "fsf_sq_no_retry"); | ||
2573 | zfcp_erp_port_failed(port, 32, (u64)fsf_req); | 2490 | zfcp_erp_port_failed(port, 32, (u64)fsf_req); |
2574 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2491 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2575 | break; | 2492 | break; |
@@ -2577,12 +2494,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2577 | ZFCP_LOG_NORMAL | 2494 | ZFCP_LOG_NORMAL |
2578 | ("bug: Wrong status qualifier 0x%x arrived.\n", | 2495 | ("bug: Wrong status qualifier 0x%x arrived.\n", |
2579 | header->fsf_status_qual.word[0]); | 2496 | header->fsf_status_qual.word[0]); |
2580 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
2581 | "fsf_sq_inval:"); | ||
2582 | debug_exception( | ||
2583 | fsf_req->adapter->erp_dbf, 0, | ||
2584 | &header->fsf_status_qual.word[0], | ||
2585 | sizeof (u32)); | ||
2586 | break; | 2497 | break; |
2587 | } | 2498 | } |
2588 | break; | 2499 | break; |
@@ -2625,17 +2536,12 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2625 | "warning: insufficient length of " | 2536 | "warning: insufficient length of " |
2626 | "PLOGI payload (%i)\n", | 2537 | "PLOGI payload (%i)\n", |
2627 | fsf_req->qtcb->bottom.support.els1_length); | 2538 | fsf_req->qtcb->bottom.support.els1_length); |
2628 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
2629 | "fsf_s_short_plogi:"); | ||
2630 | /* skip sanity check and assume wwpn is ok */ | 2539 | /* skip sanity check and assume wwpn is ok */ |
2631 | } else { | 2540 | } else { |
2632 | if (plogi->serv_param.wwpn != port->wwpn) { | 2541 | if (plogi->serv_param.wwpn != port->wwpn) { |
2633 | ZFCP_LOG_INFO("warning: d_id of port " | 2542 | ZFCP_LOG_INFO("warning: d_id of port " |
2634 | "0x%016Lx changed during " | 2543 | "0x%016Lx changed during " |
2635 | "open\n", port->wwpn); | 2544 | "open\n", port->wwpn); |
2636 | debug_text_event( | ||
2637 | fsf_req->adapter->erp_dbf, 0, | ||
2638 | "fsf_s_did_change:"); | ||
2639 | atomic_clear_mask( | 2545 | atomic_clear_mask( |
2640 | ZFCP_STATUS_PORT_DID_DID, | 2546 | ZFCP_STATUS_PORT_DID_DID, |
2641 | &port->status); | 2547 | &port->status); |
@@ -2660,9 +2566,6 @@ zfcp_fsf_open_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2660 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " | 2566 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " |
2661 | "(debug info 0x%x)\n", | 2567 | "(debug info 0x%x)\n", |
2662 | header->fsf_status); | 2568 | header->fsf_status); |
2663 | debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:"); | ||
2664 | debug_exception(fsf_req->adapter->erp_dbf, 0, | ||
2665 | &header->fsf_status, sizeof (u32)); | ||
2666 | break; | 2569 | break; |
2667 | } | 2570 | } |
2668 | 2571 | ||
@@ -2766,8 +2669,6 @@ zfcp_fsf_close_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2766 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 2669 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
2767 | (char *) &fsf_req->qtcb->header.fsf_status_qual, | 2670 | (char *) &fsf_req->qtcb->header.fsf_status_qual, |
2768 | sizeof (union fsf_status_qual)); | 2671 | sizeof (union fsf_status_qual)); |
2769 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
2770 | "fsf_s_phand_nv"); | ||
2771 | zfcp_erp_adapter_reopen(port->adapter, 0, 107, (u64)fsf_req); | 2672 | zfcp_erp_adapter_reopen(port->adapter, 0, 107, (u64)fsf_req); |
2772 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2673 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2773 | break; | 2674 | break; |
@@ -2793,10 +2694,6 @@ zfcp_fsf_close_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2793 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " | 2694 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " |
2794 | "(debug info 0x%x)\n", | 2695 | "(debug info 0x%x)\n", |
2795 | fsf_req->qtcb->header.fsf_status); | 2696 | fsf_req->qtcb->header.fsf_status); |
2796 | debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:"); | ||
2797 | debug_exception(fsf_req->adapter->erp_dbf, 0, | ||
2798 | &fsf_req->qtcb->header.fsf_status, | ||
2799 | sizeof (u32)); | ||
2800 | break; | 2697 | break; |
2801 | } | 2698 | } |
2802 | 2699 | ||
@@ -2909,8 +2806,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2909 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 2806 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
2910 | (char *) &header->fsf_status_qual, | 2807 | (char *) &header->fsf_status_qual, |
2911 | sizeof (union fsf_status_qual)); | 2808 | sizeof (union fsf_status_qual)); |
2912 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
2913 | "fsf_s_phand_nv"); | ||
2914 | zfcp_erp_adapter_reopen(port->adapter, 0, 108, (u64)fsf_req); | 2809 | zfcp_erp_adapter_reopen(port->adapter, 0, 108, (u64)fsf_req); |
2915 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2810 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2916 | break; | 2811 | break; |
@@ -2932,7 +2827,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2932 | break; | 2827 | break; |
2933 | } | 2828 | } |
2934 | } | 2829 | } |
2935 | debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_access"); | ||
2936 | zfcp_erp_port_access_denied(port, 58, (u64)fsf_req); | 2830 | zfcp_erp_port_access_denied(port, 58, (u64)fsf_req); |
2937 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2831 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2938 | break; | 2832 | break; |
@@ -2943,7 +2837,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2943 | "to close it physically.\n", | 2837 | "to close it physically.\n", |
2944 | port->wwpn, | 2838 | port->wwpn, |
2945 | zfcp_get_busid_by_port(port)); | 2839 | zfcp_get_busid_by_port(port)); |
2946 | debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_pboxed"); | ||
2947 | zfcp_erp_port_boxed(port, 50, (u64)fsf_req); | 2840 | zfcp_erp_port_boxed(port, 50, (u64)fsf_req); |
2948 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | | 2841 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | |
2949 | ZFCP_STATUS_FSFREQ_RETRY; | 2842 | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -2959,26 +2852,17 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) | |||
2959 | case FSF_ADAPTER_STATUS_AVAILABLE: | 2852 | case FSF_ADAPTER_STATUS_AVAILABLE: |
2960 | switch (header->fsf_status_qual.word[0]) { | 2853 | switch (header->fsf_status_qual.word[0]) { |
2961 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 2854 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
2962 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
2963 | "fsf_sq_ltest"); | ||
2964 | /* This will now be escalated by ERP */ | 2855 | /* This will now be escalated by ERP */ |
2965 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2856 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2966 | break; | 2857 | break; |
2967 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 2858 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
2968 | /* ERP strategy will escalate */ | 2859 | /* ERP strategy will escalate */ |
2969 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
2970 | "fsf_sq_ulp"); | ||
2971 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 2860 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
2972 | break; | 2861 | break; |
2973 | default: | 2862 | default: |
2974 | ZFCP_LOG_NORMAL | 2863 | ZFCP_LOG_NORMAL |
2975 | ("bug: Wrong status qualifier 0x%x arrived.\n", | 2864 | ("bug: Wrong status qualifier 0x%x arrived.\n", |
2976 | header->fsf_status_qual.word[0]); | 2865 | header->fsf_status_qual.word[0]); |
2977 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
2978 | "fsf_sq_inval:"); | ||
2979 | debug_exception( | ||
2980 | fsf_req->adapter->erp_dbf, 0, | ||
2981 | &header->fsf_status_qual.word[0], sizeof (u32)); | ||
2982 | break; | 2866 | break; |
2983 | } | 2867 | } |
2984 | break; | 2868 | break; |
@@ -3001,9 +2885,6 @@ zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *fsf_req) | |||
3001 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " | 2885 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " |
3002 | "(debug info 0x%x)\n", | 2886 | "(debug info 0x%x)\n", |
3003 | header->fsf_status); | 2887 | header->fsf_status); |
3004 | debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:"); | ||
3005 | debug_exception(fsf_req->adapter->erp_dbf, 0, | ||
3006 | &header->fsf_status, sizeof (u32)); | ||
3007 | break; | 2888 | break; |
3008 | } | 2889 | } |
3009 | 2890 | ||
@@ -3135,7 +3016,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3135 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 3016 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
3136 | (char *) &header->fsf_status_qual, | 3017 | (char *) &header->fsf_status_qual, |
3137 | sizeof (union fsf_status_qual)); | 3018 | sizeof (union fsf_status_qual)); |
3138 | debug_text_event(adapter->erp_dbf, 1, "fsf_s_ph_nv"); | ||
3139 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 109, | 3019 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 109, |
3140 | (u64)fsf_req); | 3020 | (u64)fsf_req); |
3141 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3021 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -3146,8 +3026,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3146 | "remote port 0x%016Lx on adapter %s twice.\n", | 3026 | "remote port 0x%016Lx on adapter %s twice.\n", |
3147 | unit->fcp_lun, | 3027 | unit->fcp_lun, |
3148 | unit->port->wwpn, zfcp_get_busid_by_unit(unit)); | 3028 | unit->port->wwpn, zfcp_get_busid_by_unit(unit)); |
3149 | debug_text_exception(adapter->erp_dbf, 0, | ||
3150 | "fsf_s_uopen"); | ||
3151 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3029 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3152 | break; | 3030 | break; |
3153 | 3031 | ||
@@ -3169,7 +3047,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3169 | break; | 3047 | break; |
3170 | } | 3048 | } |
3171 | } | 3049 | } |
3172 | debug_text_event(adapter->erp_dbf, 1, "fsf_s_access"); | ||
3173 | zfcp_erp_unit_access_denied(unit, 59, (u64)fsf_req); | 3050 | zfcp_erp_unit_access_denied(unit, 59, (u64)fsf_req); |
3174 | atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status); | 3051 | atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status); |
3175 | atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status); | 3052 | 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 | ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s " | 3057 | ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s " |
3181 | "needs to be reopened\n", | 3058 | "needs to be reopened\n", |
3182 | unit->port->wwpn, zfcp_get_busid_by_unit(unit)); | 3059 | unit->port->wwpn, zfcp_get_busid_by_unit(unit)); |
3183 | debug_text_event(adapter->erp_dbf, 2, "fsf_s_pboxed"); | ||
3184 | zfcp_erp_port_boxed(unit->port, 51, (u64)fsf_req); | 3060 | zfcp_erp_port_boxed(unit->port, 51, (u64)fsf_req); |
3185 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | | 3061 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | |
3186 | ZFCP_STATUS_FSFREQ_RETRY; | 3062 | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -3221,8 +3097,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3221 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 3097 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
3222 | (char *) &header->fsf_status_qual, | 3098 | (char *) &header->fsf_status_qual, |
3223 | sizeof (union fsf_status_qual)); | 3099 | sizeof (union fsf_status_qual)); |
3224 | debug_text_event(adapter->erp_dbf, 2, | ||
3225 | "fsf_s_l_sh_vio"); | ||
3226 | zfcp_erp_unit_access_denied(unit, 60, (u64)fsf_req); | 3100 | zfcp_erp_unit_access_denied(unit, 60, (u64)fsf_req); |
3227 | atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status); | 3101 | atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status); |
3228 | atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status); | 3102 | 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 | unit->fcp_lun, | 3111 | unit->fcp_lun, |
3238 | unit->port->wwpn, | 3112 | unit->port->wwpn, |
3239 | zfcp_get_busid_by_unit(unit)); | 3113 | zfcp_get_busid_by_unit(unit)); |
3240 | debug_text_event(adapter->erp_dbf, 1, | ||
3241 | "fsf_s_max_units"); | ||
3242 | zfcp_erp_unit_failed(unit, 34, (u64)fsf_req); | 3114 | zfcp_erp_unit_failed(unit, 34, (u64)fsf_req); |
3243 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3115 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3244 | break; | 3116 | break; |
@@ -3247,26 +3119,17 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3247 | switch (header->fsf_status_qual.word[0]) { | 3119 | switch (header->fsf_status_qual.word[0]) { |
3248 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 3120 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
3249 | /* Re-establish link to port */ | 3121 | /* Re-establish link to port */ |
3250 | debug_text_event(adapter->erp_dbf, 1, | ||
3251 | "fsf_sq_ltest"); | ||
3252 | zfcp_test_link(unit->port); | 3122 | zfcp_test_link(unit->port); |
3253 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3123 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3254 | break; | 3124 | break; |
3255 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 3125 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
3256 | /* ERP strategy will escalate */ | 3126 | /* ERP strategy will escalate */ |
3257 | debug_text_event(adapter->erp_dbf, 1, | ||
3258 | "fsf_sq_ulp"); | ||
3259 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3127 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3260 | break; | 3128 | break; |
3261 | default: | 3129 | default: |
3262 | ZFCP_LOG_NORMAL | 3130 | ZFCP_LOG_NORMAL |
3263 | ("bug: Wrong status qualifier 0x%x arrived.\n", | 3131 | ("bug: Wrong status qualifier 0x%x arrived.\n", |
3264 | header->fsf_status_qual.word[0]); | 3132 | header->fsf_status_qual.word[0]); |
3265 | debug_text_event(adapter->erp_dbf, 0, | ||
3266 | "fsf_sq_inval:"); | ||
3267 | debug_exception(adapter->erp_dbf, 0, | ||
3268 | &header->fsf_status_qual.word[0], | ||
3269 | sizeof (u32)); | ||
3270 | } | 3133 | } |
3271 | break; | 3134 | break; |
3272 | 3135 | ||
@@ -3339,9 +3202,6 @@ zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3339 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " | 3202 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " |
3340 | "(debug info 0x%x)\n", | 3203 | "(debug info 0x%x)\n", |
3341 | header->fsf_status); | 3204 | header->fsf_status); |
3342 | debug_text_event(adapter->erp_dbf, 0, "fsf_s_inval:"); | ||
3343 | debug_exception(adapter->erp_dbf, 0, | ||
3344 | &header->fsf_status, sizeof (u32)); | ||
3345 | break; | 3205 | break; |
3346 | } | 3206 | } |
3347 | 3207 | ||
@@ -3454,8 +3314,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3454 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 3314 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
3455 | (char *) &fsf_req->qtcb->header.fsf_status_qual, | 3315 | (char *) &fsf_req->qtcb->header.fsf_status_qual, |
3456 | sizeof (union fsf_status_qual)); | 3316 | sizeof (union fsf_status_qual)); |
3457 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3458 | "fsf_s_phand_nv"); | ||
3459 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 110, | 3317 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 110, |
3460 | (u64)fsf_req); | 3318 | (u64)fsf_req); |
3461 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3319 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -3473,8 +3331,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3473 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 3331 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
3474 | (char *) &fsf_req->qtcb->header.fsf_status_qual, | 3332 | (char *) &fsf_req->qtcb->header.fsf_status_qual, |
3475 | sizeof (union fsf_status_qual)); | 3333 | sizeof (union fsf_status_qual)); |
3476 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3477 | "fsf_s_lhand_nv"); | ||
3478 | zfcp_erp_port_reopen(unit->port, 0, 111, (u64)fsf_req); | 3334 | zfcp_erp_port_reopen(unit->port, 0, 111, (u64)fsf_req); |
3479 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3335 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3480 | break; | 3336 | break; |
@@ -3484,7 +3340,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3484 | "needs to be reopened\n", | 3340 | "needs to be reopened\n", |
3485 | unit->port->wwpn, | 3341 | unit->port->wwpn, |
3486 | zfcp_get_busid_by_unit(unit)); | 3342 | zfcp_get_busid_by_unit(unit)); |
3487 | debug_text_event(fsf_req->adapter->erp_dbf, 2, "fsf_s_pboxed"); | ||
3488 | zfcp_erp_port_boxed(unit->port, 52, (u64)fsf_req); | 3343 | zfcp_erp_port_boxed(unit->port, 52, (u64)fsf_req); |
3489 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | | 3344 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | |
3490 | ZFCP_STATUS_FSFREQ_RETRY; | 3345 | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -3494,27 +3349,17 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3494 | switch (fsf_req->qtcb->header.fsf_status_qual.word[0]) { | 3349 | switch (fsf_req->qtcb->header.fsf_status_qual.word[0]) { |
3495 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 3350 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
3496 | /* re-establish link to port */ | 3351 | /* re-establish link to port */ |
3497 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3498 | "fsf_sq_ltest"); | ||
3499 | zfcp_test_link(unit->port); | 3352 | zfcp_test_link(unit->port); |
3500 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3353 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3501 | break; | 3354 | break; |
3502 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 3355 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
3503 | /* ERP strategy will escalate */ | 3356 | /* ERP strategy will escalate */ |
3504 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3505 | "fsf_sq_ulp"); | ||
3506 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3357 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3507 | break; | 3358 | break; |
3508 | default: | 3359 | default: |
3509 | ZFCP_LOG_NORMAL | 3360 | ZFCP_LOG_NORMAL |
3510 | ("bug: Wrong status qualifier 0x%x arrived.\n", | 3361 | ("bug: Wrong status qualifier 0x%x arrived.\n", |
3511 | fsf_req->qtcb->header.fsf_status_qual.word[0]); | 3362 | fsf_req->qtcb->header.fsf_status_qual.word[0]); |
3512 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
3513 | "fsf_sq_inval:"); | ||
3514 | debug_exception( | ||
3515 | fsf_req->adapter->erp_dbf, 0, | ||
3516 | &fsf_req->qtcb->header.fsf_status_qual.word[0], | ||
3517 | sizeof (u32)); | ||
3518 | break; | 3363 | break; |
3519 | } | 3364 | } |
3520 | break; | 3365 | break; |
@@ -3535,10 +3380,6 @@ zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *fsf_req) | |||
3535 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " | 3380 | ZFCP_LOG_NORMAL("bug: An unknown FSF Status was presented " |
3536 | "(debug info 0x%x)\n", | 3381 | "(debug info 0x%x)\n", |
3537 | fsf_req->qtcb->header.fsf_status); | 3382 | fsf_req->qtcb->header.fsf_status); |
3538 | debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:"); | ||
3539 | debug_exception(fsf_req->adapter->erp_dbf, 0, | ||
3540 | &fsf_req->qtcb->header.fsf_status, | ||
3541 | sizeof (u32)); | ||
3542 | break; | 3383 | break; |
3543 | } | 3384 | } |
3544 | 3385 | ||
@@ -3851,8 +3692,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3851 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 3692 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
3852 | (char *) &header->fsf_status_qual, | 3693 | (char *) &header->fsf_status_qual, |
3853 | sizeof (union fsf_status_qual)); | 3694 | sizeof (union fsf_status_qual)); |
3854 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3855 | "fsf_s_phand_nv"); | ||
3856 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 112, | 3695 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 112, |
3857 | (u64)fsf_req); | 3696 | (u64)fsf_req); |
3858 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3697 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -3870,8 +3709,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3870 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL, | 3709 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL, |
3871 | (char *) &header->fsf_status_qual, | 3710 | (char *) &header->fsf_status_qual, |
3872 | sizeof (union fsf_status_qual)); | 3711 | sizeof (union fsf_status_qual)); |
3873 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3874 | "fsf_s_uhand_nv"); | ||
3875 | zfcp_erp_port_reopen(unit->port, 0, 113, (u64)fsf_req); | 3712 | zfcp_erp_port_reopen(unit->port, 0, 113, (u64)fsf_req); |
3876 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3713 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3877 | break; | 3714 | break; |
@@ -3888,8 +3725,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3888 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL, | 3725 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_NORMAL, |
3889 | (char *) &header->fsf_status_qual, | 3726 | (char *) &header->fsf_status_qual, |
3890 | sizeof (union fsf_status_qual)); | 3727 | sizeof (union fsf_status_qual)); |
3891 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3892 | "fsf_s_hand_mis"); | ||
3893 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 114, | 3728 | zfcp_erp_adapter_reopen(unit->port->adapter, 0, 114, |
3894 | (u64)fsf_req); | 3729 | (u64)fsf_req); |
3895 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3730 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -3901,8 +3736,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3901 | zfcp_get_busid_by_unit(unit), | 3736 | zfcp_get_busid_by_unit(unit), |
3902 | ZFCP_FC_SERVICE_CLASS_DEFAULT); | 3737 | ZFCP_FC_SERVICE_CLASS_DEFAULT); |
3903 | /* stop operation for this adapter */ | 3738 | /* stop operation for this adapter */ |
3904 | debug_text_exception(fsf_req->adapter->erp_dbf, 0, | ||
3905 | "fsf_s_class_nsup"); | ||
3906 | zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 132, | 3739 | zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 132, |
3907 | (u64)fsf_req); | 3740 | (u64)fsf_req); |
3908 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3741 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -3920,8 +3753,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3920 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, | 3753 | ZFCP_HEX_DUMP(ZFCP_LOG_LEVEL_DEBUG, |
3921 | (char *) &header->fsf_status_qual, | 3754 | (char *) &header->fsf_status_qual, |
3922 | sizeof (union fsf_status_qual)); | 3755 | sizeof (union fsf_status_qual)); |
3923 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
3924 | "fsf_s_fcp_lun_nv"); | ||
3925 | zfcp_erp_port_reopen(unit->port, 0, 115, (u64)fsf_req); | 3756 | zfcp_erp_port_reopen(unit->port, 0, 115, (u64)fsf_req); |
3926 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3757 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3927 | break; | 3758 | break; |
@@ -3944,7 +3775,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3944 | break; | 3775 | break; |
3945 | } | 3776 | } |
3946 | } | 3777 | } |
3947 | debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_access"); | ||
3948 | zfcp_erp_unit_access_denied(unit, 61, (u64)fsf_req); | 3778 | zfcp_erp_unit_access_denied(unit, 61, (u64)fsf_req); |
3949 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3779 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
3950 | break; | 3780 | break; |
@@ -3958,8 +3788,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3958 | zfcp_get_busid_by_unit(unit), | 3788 | zfcp_get_busid_by_unit(unit), |
3959 | fsf_req->qtcb->bottom.io.data_direction); | 3789 | fsf_req->qtcb->bottom.io.data_direction); |
3960 | /* stop operation for this adapter */ | 3790 | /* stop operation for this adapter */ |
3961 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
3962 | "fsf_s_dir_ind_nv"); | ||
3963 | zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 133, | 3791 | zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 133, |
3964 | (u64)fsf_req); | 3792 | (u64)fsf_req); |
3965 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3793 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -3974,8 +3802,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3974 | zfcp_get_busid_by_unit(unit), | 3802 | zfcp_get_busid_by_unit(unit), |
3975 | fsf_req->qtcb->bottom.io.fcp_cmnd_length); | 3803 | fsf_req->qtcb->bottom.io.fcp_cmnd_length); |
3976 | /* stop operation for this adapter */ | 3804 | /* stop operation for this adapter */ |
3977 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
3978 | "fsf_s_cmd_len_nv"); | ||
3979 | zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 134, | 3805 | zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 134, |
3980 | (u64)fsf_req); | 3806 | (u64)fsf_req); |
3981 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3807 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -3985,7 +3811,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3985 | ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s " | 3811 | ZFCP_LOG_DEBUG("The remote port 0x%016Lx on adapter %s " |
3986 | "needs to be reopened\n", | 3812 | "needs to be reopened\n", |
3987 | unit->port->wwpn, zfcp_get_busid_by_unit(unit)); | 3813 | unit->port->wwpn, zfcp_get_busid_by_unit(unit)); |
3988 | debug_text_event(fsf_req->adapter->erp_dbf, 2, "fsf_s_pboxed"); | ||
3989 | zfcp_erp_port_boxed(unit->port, 53, (u64)fsf_req); | 3814 | zfcp_erp_port_boxed(unit->port, 53, (u64)fsf_req); |
3990 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | | 3815 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | |
3991 | ZFCP_STATUS_FSFREQ_RETRY; | 3816 | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -3996,7 +3821,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
3996 | "wwpn=0x%016Lx, fcp_lun=0x%016Lx)\n", | 3821 | "wwpn=0x%016Lx, fcp_lun=0x%016Lx)\n", |
3997 | zfcp_get_busid_by_unit(unit), | 3822 | zfcp_get_busid_by_unit(unit), |
3998 | unit->port->wwpn, unit->fcp_lun); | 3823 | unit->port->wwpn, unit->fcp_lun); |
3999 | debug_text_event(fsf_req->adapter->erp_dbf, 1, "fsf_s_lboxed"); | ||
4000 | zfcp_erp_unit_boxed(unit, 54, (u64)fsf_req); | 3824 | zfcp_erp_unit_boxed(unit, 54, (u64)fsf_req); |
4001 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR | 3825 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR |
4002 | | ZFCP_STATUS_FSFREQ_RETRY; | 3826 | | ZFCP_STATUS_FSFREQ_RETRY; |
@@ -4006,25 +3830,16 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
4006 | switch (header->fsf_status_qual.word[0]) { | 3830 | switch (header->fsf_status_qual.word[0]) { |
4007 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: | 3831 | case FSF_SQ_INVOKE_LINK_TEST_PROCEDURE: |
4008 | /* re-establish link to port */ | 3832 | /* re-establish link to port */ |
4009 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
4010 | "fsf_sq_ltest"); | ||
4011 | zfcp_test_link(unit->port); | 3833 | zfcp_test_link(unit->port); |
4012 | break; | 3834 | break; |
4013 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: | 3835 | case FSF_SQ_ULP_DEPENDENT_ERP_REQUIRED: |
4014 | /* FIXME(hw) need proper specs for proper action */ | 3836 | /* FIXME(hw) need proper specs for proper action */ |
4015 | /* let scsi stack deal with retries and escalation */ | 3837 | /* let scsi stack deal with retries and escalation */ |
4016 | debug_text_event(fsf_req->adapter->erp_dbf, 1, | ||
4017 | "fsf_sq_ulp"); | ||
4018 | break; | 3838 | break; |
4019 | default: | 3839 | default: |
4020 | ZFCP_LOG_NORMAL | 3840 | ZFCP_LOG_NORMAL |
4021 | ("Unknown status qualifier 0x%x arrived.\n", | 3841 | ("Unknown status qualifier 0x%x arrived.\n", |
4022 | header->fsf_status_qual.word[0]); | 3842 | header->fsf_status_qual.word[0]); |
4023 | debug_text_event(fsf_req->adapter->erp_dbf, 0, | ||
4024 | "fsf_sq_inval:"); | ||
4025 | debug_exception(fsf_req->adapter->erp_dbf, 0, | ||
4026 | &header->fsf_status_qual.word[0], | ||
4027 | sizeof(u32)); | ||
4028 | break; | 3843 | break; |
4029 | } | 3844 | } |
4030 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 3845 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
@@ -4035,12 +3850,6 @@ zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *fsf_req) | |||
4035 | 3850 | ||
4036 | case FSF_FCP_RSP_AVAILABLE: | 3851 | case FSF_FCP_RSP_AVAILABLE: |
4037 | break; | 3852 | break; |
4038 | |||
4039 | default: | ||
4040 | debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_s_inval:"); | ||
4041 | debug_exception(fsf_req->adapter->erp_dbf, 0, | ||
4042 | &header->fsf_status, sizeof(u32)); | ||
4043 | break; | ||
4044 | } | 3853 | } |
4045 | 3854 | ||
4046 | skip_fsfstatus: | 3855 | skip_fsfstatus: |
@@ -4620,9 +4429,6 @@ zfcp_fsf_control_file_handler(struct zfcp_fsf_req *fsf_req) | |||
4620 | "was presented on the adapter %s\n", | 4429 | "was presented on the adapter %s\n", |
4621 | header->fsf_status, | 4430 | header->fsf_status, |
4622 | zfcp_get_busid_by_adapter(adapter)); | 4431 | zfcp_get_busid_by_adapter(adapter)); |
4623 | debug_text_event(fsf_req->adapter->erp_dbf, 0, "fsf_sq_inval"); | ||
4624 | debug_exception(fsf_req->adapter->erp_dbf, 0, | ||
4625 | &header->fsf_status_qual.word[0], sizeof(u32)); | ||
4626 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; | 4432 | fsf_req->status |= ZFCP_STATUS_FSFREQ_ERROR; |
4627 | retval = -EINVAL; | 4433 | retval = -EINVAL; |
4628 | break; | 4434 | break; |
@@ -4812,7 +4618,6 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *fsf_req) | |||
4812 | volatile struct qdio_buffer_element *sbale; | 4618 | volatile struct qdio_buffer_element *sbale; |
4813 | int inc_seq_no; | 4619 | int inc_seq_no; |
4814 | int new_distance_from_int; | 4620 | int new_distance_from_int; |
4815 | u64 dbg_tmp[2]; | ||
4816 | int retval = 0; | 4621 | int retval = 0; |
4817 | 4622 | ||
4818 | adapter = fsf_req->adapter; | 4623 | adapter = fsf_req->adapter; |
@@ -4862,10 +4667,6 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *fsf_req) | |||
4862 | QDIO_FLAG_SYNC_OUTPUT, | 4667 | QDIO_FLAG_SYNC_OUTPUT, |
4863 | 0, fsf_req->sbal_first, fsf_req->sbal_number, NULL); | 4668 | 0, fsf_req->sbal_first, fsf_req->sbal_number, NULL); |
4864 | 4669 | ||
4865 | dbg_tmp[0] = (unsigned long) sbale[0].addr; | ||
4866 | dbg_tmp[1] = (u64) retval; | ||
4867 | debug_event(adapter->erp_dbf, 4, (void *) dbg_tmp, 16); | ||
4868 | |||
4869 | if (unlikely(retval)) { | 4670 | if (unlikely(retval)) { |
4870 | /* Queues are down..... */ | 4671 | /* Queues are down..... */ |
4871 | retval = -EIO; | 4672 | retval = -EIO; |