aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi/zfcp_fsf.c
diff options
context:
space:
mode:
authorSwen Schillig <swen@vnet.ibm.com>2010-12-02 09:16:16 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 13:24:46 -0500
commitea4a3a6ac40e2a585654808d4aefb39a6d57dca0 (patch)
treec0da0843fc8d4087448ffc4e1b7992dab6aa62f5 /drivers/s390/scsi/zfcp_fsf.c
parent250a1352b95e1db3216e5c5d4f4365bea5122f4a (diff)
[SCSI] zfcp: Redesign of the debug tracing final cleanup.
This patch is the final cleanup of the redesign from the zfcp tracing. Structures and elements which were used by multiple areas of the former debug tracing are now changed to the new scheme. Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/s390/scsi/zfcp_fsf.c')
-rw-r--r--drivers/s390/scsi/zfcp_fsf.c85
1 files changed, 39 insertions, 46 deletions
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c
index 5bb118e01f36..60ff9d172c79 100644
--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -23,7 +23,7 @@ static void zfcp_fsf_request_timeout_handler(unsigned long data)
23 struct zfcp_adapter *adapter = (struct zfcp_adapter *) data; 23 struct zfcp_adapter *adapter = (struct zfcp_adapter *) data;
24 zfcp_qdio_siosl(adapter); 24 zfcp_qdio_siosl(adapter);
25 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED, 25 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
26 "fsrth_1", NULL); 26 "fsrth_1");
27} 27}
28 28
29static void zfcp_fsf_start_timer(struct zfcp_fsf_req *fsf_req, 29static void zfcp_fsf_start_timer(struct zfcp_fsf_req *fsf_req,
@@ -65,7 +65,7 @@ static void zfcp_fsf_class_not_supp(struct zfcp_fsf_req *req)
65{ 65{
66 dev_err(&req->adapter->ccw_device->dev, "FCP device not " 66 dev_err(&req->adapter->ccw_device->dev, "FCP device not "
67 "operational because of an unsupported FC class\n"); 67 "operational because of an unsupported FC class\n");
68 zfcp_erp_adapter_shutdown(req->adapter, 0, "fscns_1", req); 68 zfcp_erp_adapter_shutdown(req->adapter, 0, "fscns_1");
69 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 69 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
70} 70}
71 71
@@ -98,7 +98,7 @@ static void zfcp_fsf_status_read_port_closed(struct zfcp_fsf_req *req)
98 read_lock_irqsave(&adapter->port_list_lock, flags); 98 read_lock_irqsave(&adapter->port_list_lock, flags);
99 list_for_each_entry(port, &adapter->port_list, list) 99 list_for_each_entry(port, &adapter->port_list, list)
100 if (port->d_id == d_id) { 100 if (port->d_id == d_id) {
101 zfcp_erp_port_reopen(port, 0, "fssrpc1", req); 101 zfcp_erp_port_reopen(port, 0, "fssrpc1");
102 break; 102 break;
103 } 103 }
104 read_unlock_irqrestore(&adapter->port_list_lock, flags); 104 read_unlock_irqrestore(&adapter->port_list_lock, flags);
@@ -247,7 +247,7 @@ static void zfcp_fsf_status_read_handler(struct zfcp_fsf_req *req)
247 zfcp_erp_adapter_reopen(adapter, 247 zfcp_erp_adapter_reopen(adapter,
248 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED | 248 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED |
249 ZFCP_STATUS_COMMON_ERP_FAILED, 249 ZFCP_STATUS_COMMON_ERP_FAILED,
250 "fssrh_2", req); 250 "fssrh_2");
251 zfcp_fc_enqueue_event(adapter, FCH_EVT_LINKUP, 0); 251 zfcp_fc_enqueue_event(adapter, FCH_EVT_LINKUP, 0);
252 252
253 break; 253 break;
@@ -287,7 +287,7 @@ static void zfcp_fsf_fsfstatus_qual_eval(struct zfcp_fsf_req *req)
287 "The FCP adapter reported a problem " 287 "The FCP adapter reported a problem "
288 "that cannot be recovered\n"); 288 "that cannot be recovered\n");
289 zfcp_qdio_siosl(req->adapter); 289 zfcp_qdio_siosl(req->adapter);
290 zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfsqe1", req); 290 zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfsqe1");
291 break; 291 break;
292 } 292 }
293 /* all non-return stats set FSFREQ_ERROR*/ 293 /* all non-return stats set FSFREQ_ERROR*/
@@ -304,7 +304,7 @@ static void zfcp_fsf_fsfstatus_eval(struct zfcp_fsf_req *req)
304 dev_err(&req->adapter->ccw_device->dev, 304 dev_err(&req->adapter->ccw_device->dev,
305 "The FCP adapter does not recognize the command 0x%x\n", 305 "The FCP adapter does not recognize the command 0x%x\n",
306 req->qtcb->header.fsf_command); 306 req->qtcb->header.fsf_command);
307 zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfse_1", req); 307 zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfse_1");
308 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 308 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
309 break; 309 break;
310 case FSF_ADAPTER_STATUS_AVAILABLE: 310 case FSF_ADAPTER_STATUS_AVAILABLE:
@@ -335,17 +335,17 @@ static void zfcp_fsf_protstatus_eval(struct zfcp_fsf_req *req)
335 "QTCB version 0x%x not supported by FCP adapter " 335 "QTCB version 0x%x not supported by FCP adapter "
336 "(0x%x to 0x%x)\n", FSF_QTCB_CURRENT_VERSION, 336 "(0x%x to 0x%x)\n", FSF_QTCB_CURRENT_VERSION,
337 psq->word[0], psq->word[1]); 337 psq->word[0], psq->word[1]);
338 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_1", req); 338 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_1");
339 break; 339 break;
340 case FSF_PROT_ERROR_STATE: 340 case FSF_PROT_ERROR_STATE:
341 case FSF_PROT_SEQ_NUMB_ERROR: 341 case FSF_PROT_SEQ_NUMB_ERROR:
342 zfcp_erp_adapter_reopen(adapter, 0, "fspse_2", req); 342 zfcp_erp_adapter_reopen(adapter, 0, "fspse_2");
343 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 343 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
344 break; 344 break;
345 case FSF_PROT_UNSUPP_QTCB_TYPE: 345 case FSF_PROT_UNSUPP_QTCB_TYPE:
346 dev_err(&adapter->ccw_device->dev, 346 dev_err(&adapter->ccw_device->dev,
347 "The QTCB type is not supported by the FCP adapter\n"); 347 "The QTCB type is not supported by the FCP adapter\n");
348 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_3", req); 348 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_3");
349 break; 349 break;
350 case FSF_PROT_HOST_CONNECTION_INITIALIZING: 350 case FSF_PROT_HOST_CONNECTION_INITIALIZING:
351 atomic_set_mask(ZFCP_STATUS_ADAPTER_HOST_CON_INIT, 351 atomic_set_mask(ZFCP_STATUS_ADAPTER_HOST_CON_INIT,
@@ -355,12 +355,12 @@ static void zfcp_fsf_protstatus_eval(struct zfcp_fsf_req *req)
355 dev_err(&adapter->ccw_device->dev, 355 dev_err(&adapter->ccw_device->dev,
356 "0x%Lx is an ambiguous request identifier\n", 356 "0x%Lx is an ambiguous request identifier\n",
357 (unsigned long long)qtcb->bottom.support.req_handle); 357 (unsigned long long)qtcb->bottom.support.req_handle);
358 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_4", req); 358 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_4");
359 break; 359 break;
360 case FSF_PROT_LINK_DOWN: 360 case FSF_PROT_LINK_DOWN:
361 zfcp_fsf_link_down_info_eval(req, &psq->link_down_info); 361 zfcp_fsf_link_down_info_eval(req, &psq->link_down_info);
362 /* go through reopen to flush pending requests */ 362 /* go through reopen to flush pending requests */
363 zfcp_erp_adapter_reopen(adapter, 0, "fspse_6", req); 363 zfcp_erp_adapter_reopen(adapter, 0, "fspse_6");
364 break; 364 break;
365 case FSF_PROT_REEST_QUEUE: 365 case FSF_PROT_REEST_QUEUE:
366 /* All ports should be marked as ready to run again */ 366 /* All ports should be marked as ready to run again */
@@ -369,14 +369,14 @@ static void zfcp_fsf_protstatus_eval(struct zfcp_fsf_req *req)
369 zfcp_erp_adapter_reopen(adapter, 369 zfcp_erp_adapter_reopen(adapter,
370 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED | 370 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED |
371 ZFCP_STATUS_COMMON_ERP_FAILED, 371 ZFCP_STATUS_COMMON_ERP_FAILED,
372 "fspse_8", req); 372 "fspse_8");
373 break; 373 break;
374 default: 374 default:
375 dev_err(&adapter->ccw_device->dev, 375 dev_err(&adapter->ccw_device->dev,
376 "0x%x is not a valid transfer protocol status\n", 376 "0x%x is not a valid transfer protocol status\n",
377 qtcb->prefix.prot_status); 377 qtcb->prefix.prot_status);
378 zfcp_qdio_siosl(adapter); 378 zfcp_qdio_siosl(adapter);
379 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_9", req); 379 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_9");
380 } 380 }
381 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 381 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
382} 382}
@@ -482,7 +482,7 @@ static int zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *req)
482 dev_err(&adapter->ccw_device->dev, 482 dev_err(&adapter->ccw_device->dev,
483 "Unknown or unsupported arbitrated loop " 483 "Unknown or unsupported arbitrated loop "
484 "fibre channel topology detected\n"); 484 "fibre channel topology detected\n");
485 zfcp_erp_adapter_shutdown(adapter, 0, "fsece_1", req); 485 zfcp_erp_adapter_shutdown(adapter, 0, "fsece_1");
486 return -EIO; 486 return -EIO;
487 } 487 }
488 488
@@ -518,7 +518,7 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
518 "FCP adapter maximum QTCB size (%d bytes) " 518 "FCP adapter maximum QTCB size (%d bytes) "
519 "is too small\n", 519 "is too small\n",
520 bottom->max_qtcb_size); 520 bottom->max_qtcb_size);
521 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh1", req); 521 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh1");
522 return; 522 return;
523 } 523 }
524 atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK, 524 atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK,
@@ -536,7 +536,7 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
536 &qtcb->header.fsf_status_qual.link_down_info); 536 &qtcb->header.fsf_status_qual.link_down_info);
537 break; 537 break;
538 default: 538 default:
539 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh3", req); 539 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh3");
540 return; 540 return;
541 } 541 }
542 542
@@ -552,14 +552,14 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
552 dev_err(&adapter->ccw_device->dev, 552 dev_err(&adapter->ccw_device->dev,
553 "The FCP adapter only supports newer " 553 "The FCP adapter only supports newer "
554 "control block versions\n"); 554 "control block versions\n");
555 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh4", req); 555 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh4");
556 return; 556 return;
557 } 557 }
558 if (FSF_QTCB_CURRENT_VERSION > bottom->high_qtcb_version) { 558 if (FSF_QTCB_CURRENT_VERSION > bottom->high_qtcb_version) {
559 dev_err(&adapter->ccw_device->dev, 559 dev_err(&adapter->ccw_device->dev,
560 "The FCP adapter only supports older " 560 "The FCP adapter only supports older "
561 "control block versions\n"); 561 "control block versions\n");
562 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh5", req); 562 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh5");
563 } 563 }
564} 564}
565 565
@@ -700,7 +700,7 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *req)
700 del_timer(&req->timer); 700 del_timer(&req->timer);
701 /* lookup request again, list might have changed */ 701 /* lookup request again, list might have changed */
702 zfcp_reqlist_find_rm(adapter->req_list, req_id); 702 zfcp_reqlist_find_rm(adapter->req_list, req_id);
703 zfcp_erp_adapter_reopen(adapter, 0, "fsrs__1", req); 703 zfcp_erp_adapter_reopen(adapter, 0, "fsrs__1");
704 return -EIO; 704 return -EIO;
705 } 705 }
706 706
@@ -777,14 +777,13 @@ static void zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *req)
777 case FSF_PORT_HANDLE_NOT_VALID: 777 case FSF_PORT_HANDLE_NOT_VALID:
778 if (fsq->word[0] == fsq->word[1]) { 778 if (fsq->word[0] == fsq->word[1]) {
779 zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0, 779 zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0,
780 "fsafch1", req); 780 "fsafch1");
781 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 781 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
782 } 782 }
783 break; 783 break;
784 case FSF_LUN_HANDLE_NOT_VALID: 784 case FSF_LUN_HANDLE_NOT_VALID:
785 if (fsq->word[0] == fsq->word[1]) { 785 if (fsq->word[0] == fsq->word[1]) {
786 zfcp_erp_port_reopen(zfcp_sdev->port, 0, "fsafch2", 786 zfcp_erp_port_reopen(zfcp_sdev->port, 0, "fsafch2");
787 req);
788 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 787 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
789 } 788 }
790 break; 789 break;
@@ -795,14 +794,13 @@ static void zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *req)
795 zfcp_erp_set_port_status(zfcp_sdev->port, 794 zfcp_erp_set_port_status(zfcp_sdev->port,
796 ZFCP_STATUS_COMMON_ACCESS_BOXED); 795 ZFCP_STATUS_COMMON_ACCESS_BOXED);
797 zfcp_erp_port_reopen(zfcp_sdev->port, 796 zfcp_erp_port_reopen(zfcp_sdev->port,
798 ZFCP_STATUS_COMMON_ERP_FAILED, "fsafch3", 797 ZFCP_STATUS_COMMON_ERP_FAILED, "fsafch3");
799 req);
800 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 798 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
801 break; 799 break;
802 case FSF_LUN_BOXED: 800 case FSF_LUN_BOXED:
803 zfcp_erp_set_lun_status(sdev, ZFCP_STATUS_COMMON_ACCESS_BOXED); 801 zfcp_erp_set_lun_status(sdev, ZFCP_STATUS_COMMON_ACCESS_BOXED);
804 zfcp_erp_lun_reopen(sdev, ZFCP_STATUS_COMMON_ERP_FAILED, 802 zfcp_erp_lun_reopen(sdev, ZFCP_STATUS_COMMON_ERP_FAILED,
805 "fsafch4", req); 803 "fsafch4");
806 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 804 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
807 break; 805 break;
808 case FSF_ADAPTER_STATUS_AVAILABLE: 806 case FSF_ADAPTER_STATUS_AVAILABLE:
@@ -903,7 +901,7 @@ static void zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *req)
903 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 901 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
904 break; 902 break;
905 case FSF_PORT_HANDLE_NOT_VALID: 903 case FSF_PORT_HANDLE_NOT_VALID:
906 zfcp_erp_adapter_reopen(adapter, 0, "fsscth1", req); 904 zfcp_erp_adapter_reopen(adapter, 0, "fsscth1");
907 /* fall through */ 905 /* fall through */
908 case FSF_GENERIC_COMMAND_REJECTED: 906 case FSF_GENERIC_COMMAND_REJECTED:
909 case FSF_PAYLOAD_SIZE_MISMATCH: 907 case FSF_PAYLOAD_SIZE_MISMATCH:
@@ -1449,7 +1447,7 @@ static void zfcp_fsf_close_port_handler(struct zfcp_fsf_req *req)
1449 1447
1450 switch (req->qtcb->header.fsf_status) { 1448 switch (req->qtcb->header.fsf_status) {
1451 case FSF_PORT_HANDLE_NOT_VALID: 1449 case FSF_PORT_HANDLE_NOT_VALID:
1452 zfcp_erp_adapter_reopen(port->adapter, 0, "fscph_1", req); 1450 zfcp_erp_adapter_reopen(port->adapter, 0, "fscph_1");
1453 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1451 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1454 break; 1452 break;
1455 case FSF_ADAPTER_STATUS_AVAILABLE: 1453 case FSF_ADAPTER_STATUS_AVAILABLE:
@@ -1581,7 +1579,7 @@ static void zfcp_fsf_close_wka_port_handler(struct zfcp_fsf_req *req)
1581 1579
1582 if (req->qtcb->header.fsf_status == FSF_PORT_HANDLE_NOT_VALID) { 1580 if (req->qtcb->header.fsf_status == FSF_PORT_HANDLE_NOT_VALID) {
1583 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1581 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1584 zfcp_erp_adapter_reopen(wka_port->adapter, 0, "fscwph1", req); 1582 zfcp_erp_adapter_reopen(wka_port->adapter, 0, "fscwph1");
1585 } 1583 }
1586 1584
1587 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; 1585 wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE;
@@ -1639,7 +1637,7 @@ static void zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *req)
1639 1637
1640 switch (header->fsf_status) { 1638 switch (header->fsf_status) {
1641 case FSF_PORT_HANDLE_NOT_VALID: 1639 case FSF_PORT_HANDLE_NOT_VALID:
1642 zfcp_erp_adapter_reopen(port->adapter, 0, "fscpph1", req); 1640 zfcp_erp_adapter_reopen(port->adapter, 0, "fscpph1");
1643 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1641 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1644 break; 1642 break;
1645 case FSF_ACCESS_DENIED: 1643 case FSF_ACCESS_DENIED:
@@ -1655,7 +1653,7 @@ static void zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *req)
1655 &sdev_to_zfcp(sdev)->status); 1653 &sdev_to_zfcp(sdev)->status);
1656 zfcp_erp_set_port_status(port, ZFCP_STATUS_COMMON_ACCESS_BOXED); 1654 zfcp_erp_set_port_status(port, ZFCP_STATUS_COMMON_ACCESS_BOXED);
1657 zfcp_erp_port_reopen(port, ZFCP_STATUS_COMMON_ERP_FAILED, 1655 zfcp_erp_port_reopen(port, ZFCP_STATUS_COMMON_ERP_FAILED,
1658 "fscpph2", req); 1656 "fscpph2");
1659 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1657 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1660 break; 1658 break;
1661 case FSF_ADAPTER_STATUS_AVAILABLE: 1659 case FSF_ADAPTER_STATUS_AVAILABLE:
@@ -1744,7 +1742,7 @@ static void zfcp_fsf_open_lun_handler(struct zfcp_fsf_req *req)
1744 switch (header->fsf_status) { 1742 switch (header->fsf_status) {
1745 1743
1746 case FSF_PORT_HANDLE_NOT_VALID: 1744 case FSF_PORT_HANDLE_NOT_VALID:
1747 zfcp_erp_adapter_reopen(adapter, 0, "fsouh_1", req); 1745 zfcp_erp_adapter_reopen(adapter, 0, "fsouh_1");
1748 /* fall through */ 1746 /* fall through */
1749 case FSF_LUN_ALREADY_OPEN: 1747 case FSF_LUN_ALREADY_OPEN:
1750 break; 1748 break;
@@ -1756,8 +1754,7 @@ static void zfcp_fsf_open_lun_handler(struct zfcp_fsf_req *req)
1756 zfcp_erp_set_port_status(zfcp_sdev->port, 1754 zfcp_erp_set_port_status(zfcp_sdev->port,
1757 ZFCP_STATUS_COMMON_ACCESS_BOXED); 1755 ZFCP_STATUS_COMMON_ACCESS_BOXED);
1758 zfcp_erp_port_reopen(zfcp_sdev->port, 1756 zfcp_erp_port_reopen(zfcp_sdev->port,
1759 ZFCP_STATUS_COMMON_ERP_FAILED, "fsouh_2", 1757 ZFCP_STATUS_COMMON_ERP_FAILED, "fsouh_2");
1760 req);
1761 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1758 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1762 break; 1759 break;
1763 case FSF_LUN_SHARING_VIOLATION: 1760 case FSF_LUN_SHARING_VIOLATION:
@@ -1853,20 +1850,18 @@ static void zfcp_fsf_close_lun_handler(struct zfcp_fsf_req *req)
1853 1850
1854 switch (req->qtcb->header.fsf_status) { 1851 switch (req->qtcb->header.fsf_status) {
1855 case FSF_PORT_HANDLE_NOT_VALID: 1852 case FSF_PORT_HANDLE_NOT_VALID:
1856 zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0, "fscuh_1", 1853 zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0, "fscuh_1");
1857 req);
1858 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1854 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1859 break; 1855 break;
1860 case FSF_LUN_HANDLE_NOT_VALID: 1856 case FSF_LUN_HANDLE_NOT_VALID:
1861 zfcp_erp_port_reopen(zfcp_sdev->port, 0, "fscuh_2", req); 1857 zfcp_erp_port_reopen(zfcp_sdev->port, 0, "fscuh_2");
1862 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1858 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1863 break; 1859 break;
1864 case FSF_PORT_BOXED: 1860 case FSF_PORT_BOXED:
1865 zfcp_erp_set_port_status(zfcp_sdev->port, 1861 zfcp_erp_set_port_status(zfcp_sdev->port,
1866 ZFCP_STATUS_COMMON_ACCESS_BOXED); 1862 ZFCP_STATUS_COMMON_ACCESS_BOXED);
1867 zfcp_erp_port_reopen(zfcp_sdev->port, 1863 zfcp_erp_port_reopen(zfcp_sdev->port,
1868 ZFCP_STATUS_COMMON_ERP_FAILED, "fscuh_3", 1864 ZFCP_STATUS_COMMON_ERP_FAILED, "fscuh_3");
1869 req);
1870 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1865 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1871 break; 1866 break;
1872 case FSF_ADAPTER_STATUS_AVAILABLE: 1867 case FSF_ADAPTER_STATUS_AVAILABLE:
@@ -2003,13 +1998,12 @@ static void zfcp_fsf_fcp_handler_common(struct zfcp_fsf_req *req)
2003 switch (header->fsf_status) { 1998 switch (header->fsf_status) {
2004 case FSF_HANDLE_MISMATCH: 1999 case FSF_HANDLE_MISMATCH:
2005 case FSF_PORT_HANDLE_NOT_VALID: 2000 case FSF_PORT_HANDLE_NOT_VALID:
2006 zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0, "fssfch1", 2001 zfcp_erp_adapter_reopen(zfcp_sdev->port->adapter, 0, "fssfch1");
2007 req);
2008 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2002 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2009 break; 2003 break;
2010 case FSF_FCPLUN_NOT_VALID: 2004 case FSF_FCPLUN_NOT_VALID:
2011 case FSF_LUN_HANDLE_NOT_VALID: 2005 case FSF_LUN_HANDLE_NOT_VALID:
2012 zfcp_erp_port_reopen(zfcp_sdev->port, 0, "fssfch2", req); 2006 zfcp_erp_port_reopen(zfcp_sdev->port, 0, "fssfch2");
2013 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2007 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2014 break; 2008 break;
2015 case FSF_SERVICE_CLASS_NOT_SUPPORTED: 2009 case FSF_SERVICE_CLASS_NOT_SUPPORTED:
@@ -2027,7 +2021,7 @@ static void zfcp_fsf_fcp_handler_common(struct zfcp_fsf_req *req)
2027 (unsigned long long)zfcp_scsi_dev_lun(sdev), 2021 (unsigned long long)zfcp_scsi_dev_lun(sdev),
2028 (unsigned long long)zfcp_sdev->port->wwpn); 2022 (unsigned long long)zfcp_sdev->port->wwpn);
2029 zfcp_erp_adapter_shutdown(zfcp_sdev->port->adapter, 0, 2023 zfcp_erp_adapter_shutdown(zfcp_sdev->port->adapter, 0,
2030 "fssfch3", req); 2024 "fssfch3");
2031 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2025 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2032 break; 2026 break;
2033 case FSF_CMND_LENGTH_NOT_VALID: 2027 case FSF_CMND_LENGTH_NOT_VALID:
@@ -2038,21 +2032,20 @@ static void zfcp_fsf_fcp_handler_common(struct zfcp_fsf_req *req)
2038 (unsigned long long)zfcp_scsi_dev_lun(sdev), 2032 (unsigned long long)zfcp_scsi_dev_lun(sdev),
2039 (unsigned long long)zfcp_sdev->port->wwpn); 2033 (unsigned long long)zfcp_sdev->port->wwpn);
2040 zfcp_erp_adapter_shutdown(zfcp_sdev->port->adapter, 0, 2034 zfcp_erp_adapter_shutdown(zfcp_sdev->port->adapter, 0,
2041 "fssfch4", req); 2035 "fssfch4");
2042 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2036 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2043 break; 2037 break;
2044 case FSF_PORT_BOXED: 2038 case FSF_PORT_BOXED:
2045 zfcp_erp_set_port_status(zfcp_sdev->port, 2039 zfcp_erp_set_port_status(zfcp_sdev->port,
2046 ZFCP_STATUS_COMMON_ACCESS_BOXED); 2040 ZFCP_STATUS_COMMON_ACCESS_BOXED);
2047 zfcp_erp_port_reopen(zfcp_sdev->port, 2041 zfcp_erp_port_reopen(zfcp_sdev->port,
2048 ZFCP_STATUS_COMMON_ERP_FAILED, "fssfch5", 2042 ZFCP_STATUS_COMMON_ERP_FAILED, "fssfch5");
2049 req);
2050 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2043 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2051 break; 2044 break;
2052 case FSF_LUN_BOXED: 2045 case FSF_LUN_BOXED:
2053 zfcp_erp_set_lun_status(sdev, ZFCP_STATUS_COMMON_ACCESS_BOXED); 2046 zfcp_erp_set_lun_status(sdev, ZFCP_STATUS_COMMON_ACCESS_BOXED);
2054 zfcp_erp_lun_reopen(sdev, ZFCP_STATUS_COMMON_ERP_FAILED, 2047 zfcp_erp_lun_reopen(sdev, ZFCP_STATUS_COMMON_ERP_FAILED,
2055 "fssfch6", req); 2048 "fssfch6");
2056 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2049 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2057 break; 2050 break;
2058 case FSF_ADAPTER_STATUS_AVAILABLE: 2051 case FSF_ADAPTER_STATUS_AVAILABLE: