aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/scsi
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/scsi')
-rw-r--r--drivers/s390/scsi/zfcp_aux.c3
-rw-r--r--drivers/s390/scsi/zfcp_ccw.c18
-rw-r--r--drivers/s390/scsi/zfcp_dbf.c188
-rw-r--r--drivers/s390/scsi/zfcp_dbf.h3
-rw-r--r--drivers/s390/scsi/zfcp_erp.c137
-rw-r--r--drivers/s390/scsi/zfcp_ext.h55
-rw-r--r--drivers/s390/scsi/zfcp_fc.c14
-rw-r--r--drivers/s390/scsi/zfcp_fsf.c131
-rw-r--r--drivers/s390/scsi/zfcp_qdio.c6
-rw-r--r--drivers/s390/scsi/zfcp_scsi.c4
-rw-r--r--drivers/s390/scsi/zfcp_sysfs.c12
11 files changed, 215 insertions, 356 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 1e16ab58b242..69a31187e54d 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -421,7 +421,8 @@ int zfcp_status_read_refill(struct zfcp_adapter *adapter)
421 while (atomic_read(&adapter->stat_miss) > 0) 421 while (atomic_read(&adapter->stat_miss) > 0)
422 if (zfcp_fsf_status_read(adapter)) { 422 if (zfcp_fsf_status_read(adapter)) {
423 if (atomic_read(&adapter->stat_miss) >= 16) { 423 if (atomic_read(&adapter->stat_miss) >= 16) {
424 zfcp_erp_adapter_reopen(adapter, 0, 103, NULL); 424 zfcp_erp_adapter_reopen(adapter, 0, "axsref1",
425 NULL);
425 return 1; 426 return 1;
426 } 427 }
427 break; 428 break;
diff --git a/drivers/s390/scsi/zfcp_ccw.c b/drivers/s390/scsi/zfcp_ccw.c
index 683ac4ed5e56..3aeef289fe7c 100644
--- a/drivers/s390/scsi/zfcp_ccw.c
+++ b/drivers/s390/scsi/zfcp_ccw.c
@@ -109,10 +109,10 @@ static int zfcp_ccw_set_online(struct ccw_device *ccw_device)
109 BUG_ON(!zfcp_reqlist_isempty(adapter)); 109 BUG_ON(!zfcp_reqlist_isempty(adapter));
110 adapter->req_no = 0; 110 adapter->req_no = 0;
111 111
112 zfcp_erp_modify_adapter_status(adapter, 10, NULL, 112 zfcp_erp_modify_adapter_status(adapter, "ccsonl1", NULL,
113 ZFCP_STATUS_COMMON_RUNNING, ZFCP_SET); 113 ZFCP_STATUS_COMMON_RUNNING, ZFCP_SET);
114 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED, 85, 114 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
115 NULL); 115 "ccsonl2", NULL);
116 zfcp_erp_wait(adapter); 116 zfcp_erp_wait(adapter);
117 up(&zfcp_data.config_sema); 117 up(&zfcp_data.config_sema);
118 flush_work(&adapter->scan_work); 118 flush_work(&adapter->scan_work);
@@ -136,7 +136,7 @@ static int zfcp_ccw_set_offline(struct ccw_device *ccw_device)
136 136
137 down(&zfcp_data.config_sema); 137 down(&zfcp_data.config_sema);
138 adapter = dev_get_drvdata(&ccw_device->dev); 138 adapter = dev_get_drvdata(&ccw_device->dev);
139 zfcp_erp_adapter_shutdown(adapter, 0, 86, NULL); 139 zfcp_erp_adapter_shutdown(adapter, 0, "ccsoff1", NULL);
140 zfcp_erp_wait(adapter); 140 zfcp_erp_wait(adapter);
141 zfcp_erp_thread_kill(adapter); 141 zfcp_erp_thread_kill(adapter);
142 up(&zfcp_data.config_sema); 142 up(&zfcp_data.config_sema);
@@ -159,21 +159,21 @@ static int zfcp_ccw_notify(struct ccw_device *ccw_device, int event)
159 case CIO_GONE: 159 case CIO_GONE:
160 dev_warn(&adapter->ccw_device->dev, 160 dev_warn(&adapter->ccw_device->dev,
161 "The FCP device has been detached\n"); 161 "The FCP device has been detached\n");
162 zfcp_erp_adapter_shutdown(adapter, 0, 87, NULL); 162 zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti1", NULL);
163 break; 163 break;
164 case CIO_NO_PATH: 164 case CIO_NO_PATH:
165 dev_warn(&adapter->ccw_device->dev, 165 dev_warn(&adapter->ccw_device->dev,
166 "The CHPID for the FCP device is offline\n"); 166 "The CHPID for the FCP device is offline\n");
167 zfcp_erp_adapter_shutdown(adapter, 0, 88, NULL); 167 zfcp_erp_adapter_shutdown(adapter, 0, "ccnoti2", NULL);
168 break; 168 break;
169 case CIO_OPER: 169 case CIO_OPER:
170 dev_info(&adapter->ccw_device->dev, 170 dev_info(&adapter->ccw_device->dev,
171 "The FCP device is operational again\n"); 171 "The FCP device is operational again\n");
172 zfcp_erp_modify_adapter_status(adapter, 11, NULL, 172 zfcp_erp_modify_adapter_status(adapter, "ccnoti3", NULL,
173 ZFCP_STATUS_COMMON_RUNNING, 173 ZFCP_STATUS_COMMON_RUNNING,
174 ZFCP_SET); 174 ZFCP_SET);
175 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED, 175 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
176 89, NULL); 176 "ccnoti4", NULL);
177 break; 177 break;
178 } 178 }
179 return 1; 179 return 1;
@@ -189,7 +189,7 @@ static void zfcp_ccw_shutdown(struct ccw_device *cdev)
189 189
190 down(&zfcp_data.config_sema); 190 down(&zfcp_data.config_sema);
191 adapter = dev_get_drvdata(&cdev->dev); 191 adapter = dev_get_drvdata(&cdev->dev);
192 zfcp_erp_adapter_shutdown(adapter, 0, 90, NULL); 192 zfcp_erp_adapter_shutdown(adapter, 0, "ccshut1", NULL);
193 zfcp_erp_wait(adapter); 193 zfcp_erp_wait(adapter);
194 up(&zfcp_data.config_sema); 194 up(&zfcp_data.config_sema);
195} 195}
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c
index ab843f23d428..0a1a5dd8d018 100644
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -490,172 +490,17 @@ static const char *zfcp_rec_dbf_tags[] = {
490 [ZFCP_REC_DBF_ID_ACTION] = "action", 490 [ZFCP_REC_DBF_ID_ACTION] = "action",
491}; 491};
492 492
493static const char *zfcp_rec_dbf_ids[] = {
494 [1] = "new",
495 [2] = "ready",
496 [3] = "kill",
497 [4] = "down sleep",
498 [5] = "down wakeup",
499 [6] = "down sleep ecd",
500 [7] = "down wakeup ecd",
501 [8] = "down sleep epd",
502 [9] = "down wakeup epd",
503 [10] = "online",
504 [11] = "operational",
505 [12] = "scsi slave destroy",
506 [13] = "propagate failed adapter",
507 [14] = "propagate failed port",
508 [15] = "block adapter",
509 [16] = "unblock adapter",
510 [17] = "block port",
511 [18] = "unblock port",
512 [19] = "block unit",
513 [20] = "unblock unit",
514 [21] = "unit recovery failed",
515 [22] = "port recovery failed",
516 [23] = "adapter recovery failed",
517 [24] = "qdio queues down",
518 [25] = "p2p failed",
519 [26] = "nameserver lookup failed",
520 [27] = "nameserver port failed",
521 [28] = "link up",
522 [29] = "link down",
523 [30] = "link up status read",
524 [31] = "open port failed",
525 [32] = "",
526 [33] = "close port",
527 [34] = "open unit failed",
528 [35] = "exclusive open unit failed",
529 [36] = "shared open unit failed",
530 [37] = "link down",
531 [38] = "link down status read no link",
532 [39] = "link down status read fdisc login",
533 [40] = "link down status read firmware update",
534 [41] = "link down status read unknown reason",
535 [42] = "link down ecd incomplete",
536 [43] = "link down epd incomplete",
537 [44] = "sysfs adapter recovery",
538 [45] = "sysfs port recovery",
539 [46] = "sysfs unit recovery",
540 [47] = "port boxed abort",
541 [48] = "unit boxed abort",
542 [49] = "port boxed ct",
543 [50] = "port boxed close physical",
544 [51] = "port boxed open unit",
545 [52] = "port boxed close unit",
546 [53] = "port boxed fcp",
547 [54] = "unit boxed fcp",
548 [55] = "port access denied",
549 [56] = "",
550 [57] = "",
551 [58] = "",
552 [59] = "unit access denied",
553 [60] = "shared unit access denied open unit",
554 [61] = "",
555 [62] = "request timeout",
556 [63] = "adisc link test reject or timeout",
557 [64] = "adisc link test d_id changed",
558 [65] = "adisc link test failed",
559 [66] = "recovery out of memory",
560 [67] = "adapter recovery repeated after state change",
561 [68] = "port recovery repeated after state change",
562 [69] = "unit recovery repeated after state change",
563 [70] = "port recovery follow-up after successful adapter recovery",
564 [71] = "adapter recovery escalation after failed adapter recovery",
565 [72] = "port recovery follow-up after successful physical port "
566 "recovery",
567 [73] = "adapter recovery escalation after failed physical port "
568 "recovery",
569 [74] = "unit recovery follow-up after successful port recovery",
570 [75] = "physical port recovery escalation after failed port "
571 "recovery",
572 [76] = "port recovery escalation after failed unit recovery",
573 [77] = "",
574 [78] = "duplicate request id",
575 [79] = "link down",
576 [80] = "exclusive read-only unit access unsupported",
577 [81] = "shared read-write unit access unsupported",
578 [82] = "incoming rscn",
579 [83] = "incoming wwpn",
580 [84] = "wka port handle not valid close port",
581 [85] = "online",
582 [86] = "offline",
583 [87] = "ccw device gone",
584 [88] = "ccw device no path",
585 [89] = "ccw device operational",
586 [90] = "ccw device shutdown",
587 [91] = "sysfs port addition",
588 [92] = "sysfs port removal",
589 [93] = "sysfs adapter recovery",
590 [94] = "sysfs unit addition",
591 [95] = "sysfs unit removal",
592 [96] = "sysfs port recovery",
593 [97] = "sysfs unit recovery",
594 [98] = "sequence number mismatch",
595 [99] = "link up",
596 [100] = "error state",
597 [101] = "status read physical port closed",
598 [102] = "link up status read",
599 [103] = "too many failed status read buffers",
600 [104] = "port handle not valid abort",
601 [105] = "lun handle not valid abort",
602 [106] = "port handle not valid ct",
603 [107] = "port handle not valid close port",
604 [108] = "port handle not valid close physical port",
605 [109] = "port handle not valid open unit",
606 [110] = "port handle not valid close unit",
607 [111] = "lun handle not valid close unit",
608 [112] = "port handle not valid fcp",
609 [113] = "lun handle not valid fcp",
610 [114] = "handle mismatch fcp",
611 [115] = "lun not valid fcp",
612 [116] = "qdio send failed",
613 [117] = "version mismatch",
614 [118] = "incompatible qtcb type",
615 [119] = "unknown protocol status",
616 [120] = "unknown fsf command",
617 [121] = "no recommendation for status qualifier",
618 [122] = "",
619 [123] = "fc service class not supported",
620 [124] = "",
621 [125] = "need newer zfcp",
622 [126] = "need newer microcode",
623 [127] = "arbitrated loop not supported",
624 [128] = "",
625 [129] = "qtcb size mismatch",
626 [130] = "unknown fsf status ecd",
627 [131] = "fcp request too big",
628 [132] = "",
629 [133] = "data direction not valid fcp",
630 [134] = "command length not valid fcp",
631 [135] = "status read act update",
632 [136] = "status read cfdc update",
633 [137] = "hbaapi port open",
634 [138] = "hbaapi unit open",
635 [139] = "hbaapi unit shutdown",
636 [140] = "qdio error outbound",
637 [141] = "scsi host reset",
638 [142] = "dismissing fsf request for recovery action",
639 [143] = "recovery action timed out",
640 [144] = "recovery action gone",
641 [145] = "recovery action being processed",
642 [146] = "recovery action ready for next step",
643 [147] = "qdio error inbound",
644 [148] = "nameserver needed for port scan",
645 [149] = "port scan",
646 [150] = "ptp attach",
647 [151] = "port validation failed",
648};
649
650static int zfcp_rec_dbf_view_format(debug_info_t *id, struct debug_view *view, 493static int zfcp_rec_dbf_view_format(debug_info_t *id, struct debug_view *view,
651 char *buf, const char *_rec) 494 char *buf, const char *_rec)
652{ 495{
653 struct zfcp_rec_dbf_record *r = (struct zfcp_rec_dbf_record *)_rec; 496 struct zfcp_rec_dbf_record *r = (struct zfcp_rec_dbf_record *)_rec;
654 char *p = buf; 497 char *p = buf;
498 char hint[ZFCP_DBF_ID_SIZE + 1];
655 499
500 memcpy(hint, r->id2, ZFCP_DBF_ID_SIZE);
501 hint[ZFCP_DBF_ID_SIZE] = 0;
656 zfcp_dbf_outs(&p, "tag", zfcp_rec_dbf_tags[r->id]); 502 zfcp_dbf_outs(&p, "tag", zfcp_rec_dbf_tags[r->id]);
657 zfcp_dbf_outs(&p, "hint", zfcp_rec_dbf_ids[r->id2]); 503 zfcp_dbf_outs(&p, "hint", hint);
658 zfcp_dbf_out(&p, "id", "%d", r->id2);
659 switch (r->id) { 504 switch (r->id) {
660 case ZFCP_REC_DBF_ID_THREAD: 505 case ZFCP_REC_DBF_ID_THREAD:
661 zfcp_dbf_out(&p, "total", "%d", r->u.thread.total); 506 zfcp_dbf_out(&p, "total", "%d", r->u.thread.total);
@@ -707,7 +552,7 @@ static struct debug_view zfcp_rec_dbf_view = {
707 * @adapter: adapter 552 * @adapter: adapter
708 * This function assumes that the caller is holding erp_lock. 553 * This function assumes that the caller is holding erp_lock.
709 */ 554 */
710void zfcp_rec_dbf_event_thread(u8 id2, struct zfcp_adapter *adapter) 555void zfcp_rec_dbf_event_thread(char *id2, struct zfcp_adapter *adapter)
711{ 556{
712 struct zfcp_rec_dbf_record *r = &adapter->rec_dbf_buf; 557 struct zfcp_rec_dbf_record *r = &adapter->rec_dbf_buf;
713 unsigned long flags = 0; 558 unsigned long flags = 0;
@@ -723,7 +568,7 @@ void zfcp_rec_dbf_event_thread(u8 id2, struct zfcp_adapter *adapter)
723 spin_lock_irqsave(&adapter->rec_dbf_lock, flags); 568 spin_lock_irqsave(&adapter->rec_dbf_lock, flags);
724 memset(r, 0, sizeof(*r)); 569 memset(r, 0, sizeof(*r));
725 r->id = ZFCP_REC_DBF_ID_THREAD; 570 r->id = ZFCP_REC_DBF_ID_THREAD;
726 r->id2 = id2; 571 memcpy(r->id2, id2, ZFCP_DBF_ID_SIZE);
727 r->u.thread.total = total; 572 r->u.thread.total = total;
728 r->u.thread.ready = ready; 573 r->u.thread.ready = ready;
729 r->u.thread.running = running; 574 r->u.thread.running = running;
@@ -737,7 +582,7 @@ void zfcp_rec_dbf_event_thread(u8 id2, struct zfcp_adapter *adapter)
737 * @adapter: adapter 582 * @adapter: adapter
738 * This function assumes that the caller does not hold erp_lock. 583 * This function assumes that the caller does not hold erp_lock.
739 */ 584 */
740void zfcp_rec_dbf_event_thread_lock(u8 id2, struct zfcp_adapter *adapter) 585void zfcp_rec_dbf_event_thread_lock(char *id2, struct zfcp_adapter *adapter)
741{ 586{
742 unsigned long flags; 587 unsigned long flags;
743 588
@@ -746,7 +591,7 @@ void zfcp_rec_dbf_event_thread_lock(u8 id2, struct zfcp_adapter *adapter)
746 read_unlock_irqrestore(&adapter->erp_lock, flags); 591 read_unlock_irqrestore(&adapter->erp_lock, flags);
747} 592}
748 593
749static void zfcp_rec_dbf_event_target(u8 id2, void *ref, 594static void zfcp_rec_dbf_event_target(char *id2, void *ref,
750 struct zfcp_adapter *adapter, 595 struct zfcp_adapter *adapter,
751 atomic_t *status, atomic_t *erp_count, 596 atomic_t *status, atomic_t *erp_count,
752 u64 wwpn, u32 d_id, u64 fcp_lun) 597 u64 wwpn, u32 d_id, u64 fcp_lun)
@@ -757,7 +602,7 @@ static void zfcp_rec_dbf_event_target(u8 id2, void *ref,
757 spin_lock_irqsave(&adapter->rec_dbf_lock, flags); 602 spin_lock_irqsave(&adapter->rec_dbf_lock, flags);
758 memset(r, 0, sizeof(*r)); 603 memset(r, 0, sizeof(*r));
759 r->id = ZFCP_REC_DBF_ID_TARGET; 604 r->id = ZFCP_REC_DBF_ID_TARGET;
760 r->id2 = id2; 605 memcpy(r->id2, id2, ZFCP_DBF_ID_SIZE);
761 r->u.target.ref = (unsigned long)ref; 606 r->u.target.ref = (unsigned long)ref;
762 r->u.target.status = atomic_read(status); 607 r->u.target.status = atomic_read(status);
763 r->u.target.wwpn = wwpn; 608 r->u.target.wwpn = wwpn;
@@ -774,7 +619,8 @@ static void zfcp_rec_dbf_event_target(u8 id2, void *ref,
774 * @ref: additional reference (e.g. request) 619 * @ref: additional reference (e.g. request)
775 * @adapter: adapter 620 * @adapter: adapter
776 */ 621 */
777void zfcp_rec_dbf_event_adapter(u8 id, void *ref, struct zfcp_adapter *adapter) 622void zfcp_rec_dbf_event_adapter(char *id, void *ref,
623 struct zfcp_adapter *adapter)
778{ 624{
779 zfcp_rec_dbf_event_target(id, ref, adapter, &adapter->status, 625 zfcp_rec_dbf_event_target(id, ref, adapter, &adapter->status,
780 &adapter->erp_counter, 0, 0, 0); 626 &adapter->erp_counter, 0, 0, 0);
@@ -786,7 +632,7 @@ void zfcp_rec_dbf_event_adapter(u8 id, void *ref, struct zfcp_adapter *adapter)
786 * @ref: additional reference (e.g. request) 632 * @ref: additional reference (e.g. request)
787 * @port: port 633 * @port: port
788 */ 634 */
789void zfcp_rec_dbf_event_port(u8 id, void *ref, struct zfcp_port *port) 635void zfcp_rec_dbf_event_port(char *id, void *ref, struct zfcp_port *port)
790{ 636{
791 struct zfcp_adapter *adapter = port->adapter; 637 struct zfcp_adapter *adapter = port->adapter;
792 638
@@ -801,7 +647,7 @@ void zfcp_rec_dbf_event_port(u8 id, void *ref, struct zfcp_port *port)
801 * @ref: additional reference (e.g. request) 647 * @ref: additional reference (e.g. request)
802 * @unit: unit 648 * @unit: unit
803 */ 649 */
804void zfcp_rec_dbf_event_unit(u8 id, void *ref, struct zfcp_unit *unit) 650void zfcp_rec_dbf_event_unit(char *id, void *ref, struct zfcp_unit *unit)
805{ 651{
806 struct zfcp_port *port = unit->port; 652 struct zfcp_port *port = unit->port;
807 struct zfcp_adapter *adapter = port->adapter; 653 struct zfcp_adapter *adapter = port->adapter;
@@ -822,7 +668,7 @@ void zfcp_rec_dbf_event_unit(u8 id, void *ref, struct zfcp_unit *unit)
822 * @port: port 668 * @port: port
823 * @unit: unit 669 * @unit: unit
824 */ 670 */
825void zfcp_rec_dbf_event_trigger(u8 id2, void *ref, u8 want, u8 need, 671void zfcp_rec_dbf_event_trigger(char *id2, void *ref, u8 want, u8 need,
826 void *action, struct zfcp_adapter *adapter, 672 void *action, struct zfcp_adapter *adapter,
827 struct zfcp_port *port, struct zfcp_unit *unit) 673 struct zfcp_port *port, struct zfcp_unit *unit)
828{ 674{
@@ -832,7 +678,7 @@ void zfcp_rec_dbf_event_trigger(u8 id2, void *ref, u8 want, u8 need,
832 spin_lock_irqsave(&adapter->rec_dbf_lock, flags); 678 spin_lock_irqsave(&adapter->rec_dbf_lock, flags);
833 memset(r, 0, sizeof(*r)); 679 memset(r, 0, sizeof(*r));
834 r->id = ZFCP_REC_DBF_ID_TRIGGER; 680 r->id = ZFCP_REC_DBF_ID_TRIGGER;
835 r->id2 = id2; 681 memcpy(r->id2, id2, ZFCP_DBF_ID_SIZE);
836 r->u.trigger.ref = (unsigned long)ref; 682 r->u.trigger.ref = (unsigned long)ref;
837 r->u.trigger.want = want; 683 r->u.trigger.want = want;
838 r->u.trigger.need = need; 684 r->u.trigger.need = need;
@@ -855,7 +701,7 @@ void zfcp_rec_dbf_event_trigger(u8 id2, void *ref, u8 want, u8 need,
855 * @id2: identifier 701 * @id2: identifier
856 * @erp_action: error recovery action struct pointer 702 * @erp_action: error recovery action struct pointer
857 */ 703 */
858void zfcp_rec_dbf_event_action(u8 id2, struct zfcp_erp_action *erp_action) 704void zfcp_rec_dbf_event_action(char *id2, struct zfcp_erp_action *erp_action)
859{ 705{
860 struct zfcp_adapter *adapter = erp_action->adapter; 706 struct zfcp_adapter *adapter = erp_action->adapter;
861 struct zfcp_rec_dbf_record *r = &adapter->rec_dbf_buf; 707 struct zfcp_rec_dbf_record *r = &adapter->rec_dbf_buf;
@@ -864,7 +710,7 @@ void zfcp_rec_dbf_event_action(u8 id2, struct zfcp_erp_action *erp_action)
864 spin_lock_irqsave(&adapter->rec_dbf_lock, flags); 710 spin_lock_irqsave(&adapter->rec_dbf_lock, flags);
865 memset(r, 0, sizeof(*r)); 711 memset(r, 0, sizeof(*r));
866 r->id = ZFCP_REC_DBF_ID_ACTION; 712 r->id = ZFCP_REC_DBF_ID_ACTION;
867 r->id2 = id2; 713 memcpy(r->id2, id2, ZFCP_DBF_ID_SIZE);
868 r->u.action.action = (unsigned long)erp_action; 714 r->u.action.action = (unsigned long)erp_action;
869 r->u.action.status = erp_action->status; 715 r->u.action.status = erp_action->status;
870 r->u.action.step = erp_action->step; 716 r->u.action.step = erp_action->step;
diff --git a/drivers/s390/scsi/zfcp_dbf.h b/drivers/s390/scsi/zfcp_dbf.h
index 74998ff88e57..a573f7344dd6 100644
--- a/drivers/s390/scsi/zfcp_dbf.h
+++ b/drivers/s390/scsi/zfcp_dbf.h
@@ -25,6 +25,7 @@
25#include "zfcp_fsf.h" 25#include "zfcp_fsf.h"
26 26
27#define ZFCP_DBF_TAG_SIZE 4 27#define ZFCP_DBF_TAG_SIZE 4
28#define ZFCP_DBF_ID_SIZE 7
28 29
29struct zfcp_dbf_dump { 30struct zfcp_dbf_dump {
30 u8 tag[ZFCP_DBF_TAG_SIZE]; 31 u8 tag[ZFCP_DBF_TAG_SIZE];
@@ -70,7 +71,7 @@ struct zfcp_rec_dbf_record_action {
70 71
71struct zfcp_rec_dbf_record { 72struct zfcp_rec_dbf_record {
72 u8 id; 73 u8 id;
73 u8 id2; 74 char id2[7];
74 union { 75 union {
75 struct zfcp_rec_dbf_record_action action; 76 struct zfcp_rec_dbf_record_action action;
76 struct zfcp_rec_dbf_record_thread thread; 77 struct zfcp_rec_dbf_record_thread thread;
diff --git a/drivers/s390/scsi/zfcp_erp.c b/drivers/s390/scsi/zfcp_erp.c
index 28c7185f24bc..65addf6a91ec 100644
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -55,7 +55,7 @@ enum zfcp_erp_act_result {
55 55
56static void zfcp_erp_adapter_block(struct zfcp_adapter *adapter, int mask) 56static void zfcp_erp_adapter_block(struct zfcp_adapter *adapter, int mask)
57{ 57{
58 zfcp_erp_modify_adapter_status(adapter, 15, NULL, 58 zfcp_erp_modify_adapter_status(adapter, "erablk1", NULL,
59 ZFCP_STATUS_COMMON_UNBLOCKED | mask, 59 ZFCP_STATUS_COMMON_UNBLOCKED | mask,
60 ZFCP_CLEAR); 60 ZFCP_CLEAR);
61} 61}
@@ -75,9 +75,9 @@ static void zfcp_erp_action_ready(struct zfcp_erp_action *act)
75 struct zfcp_adapter *adapter = act->adapter; 75 struct zfcp_adapter *adapter = act->adapter;
76 76
77 list_move(&act->list, &act->adapter->erp_ready_head); 77 list_move(&act->list, &act->adapter->erp_ready_head);
78 zfcp_rec_dbf_event_action(146, act); 78 zfcp_rec_dbf_event_action("erardy1", act);
79 up(&adapter->erp_ready_sem); 79 up(&adapter->erp_ready_sem);
80 zfcp_rec_dbf_event_thread(2, adapter); 80 zfcp_rec_dbf_event_thread("erardy2", adapter);
81} 81}
82 82
83static void zfcp_erp_action_dismiss(struct zfcp_erp_action *act) 83static void zfcp_erp_action_dismiss(struct zfcp_erp_action *act)
@@ -208,7 +208,7 @@ static struct zfcp_erp_action *zfcp_erp_setup_act(int need,
208 208
209static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter, 209static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
210 struct zfcp_port *port, 210 struct zfcp_port *port,
211 struct zfcp_unit *unit, u8 id, void *ref) 211 struct zfcp_unit *unit, char *id, void *ref)
212{ 212{
213 int retval = 1, need; 213 int retval = 1, need;
214 struct zfcp_erp_action *act = NULL; 214 struct zfcp_erp_action *act = NULL;
@@ -228,7 +228,7 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
228 ++adapter->erp_total_count; 228 ++adapter->erp_total_count;
229 list_add_tail(&act->list, &adapter->erp_ready_head); 229 list_add_tail(&act->list, &adapter->erp_ready_head);
230 up(&adapter->erp_ready_sem); 230 up(&adapter->erp_ready_sem);
231 zfcp_rec_dbf_event_thread(1, adapter); 231 zfcp_rec_dbf_event_thread("eracte1", adapter);
232 retval = 0; 232 retval = 0;
233 out: 233 out:
234 zfcp_rec_dbf_event_trigger(id, ref, want, need, act, 234 zfcp_rec_dbf_event_trigger(id, ref, want, need, act,
@@ -237,13 +237,13 @@ static int zfcp_erp_action_enqueue(int want, struct zfcp_adapter *adapter,
237} 237}
238 238
239static int _zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter, 239static int _zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter,
240 int clear_mask, u8 id, void *ref) 240 int clear_mask, char *id, void *ref)
241{ 241{
242 zfcp_erp_adapter_block(adapter, clear_mask); 242 zfcp_erp_adapter_block(adapter, clear_mask);
243 243
244 /* ensure propagation of failed status to new devices */ 244 /* ensure propagation of failed status to new devices */
245 if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_ERP_FAILED) { 245 if (atomic_read(&adapter->status) & ZFCP_STATUS_COMMON_ERP_FAILED) {
246 zfcp_erp_adapter_failed(adapter, 13, NULL); 246 zfcp_erp_adapter_failed(adapter, "erareo1", NULL);
247 return -EIO; 247 return -EIO;
248 } 248 }
249 return zfcp_erp_action_enqueue(ZFCP_ERP_ACTION_REOPEN_ADAPTER, 249 return zfcp_erp_action_enqueue(ZFCP_ERP_ACTION_REOPEN_ADAPTER,
@@ -258,7 +258,7 @@ static int _zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter,
258 * @ref: Reference for debug trace event. 258 * @ref: Reference for debug trace event.
259 */ 259 */
260void zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter, int clear, 260void zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter, int clear,
261 u8 id, void *ref) 261 char *id, void *ref)
262{ 262{
263 unsigned long flags; 263 unsigned long flags;
264 264
@@ -277,7 +277,7 @@ void zfcp_erp_adapter_reopen(struct zfcp_adapter *adapter, int clear,
277 * @ref: Reference for debug trace event. 277 * @ref: Reference for debug trace event.
278 */ 278 */
279void zfcp_erp_adapter_shutdown(struct zfcp_adapter *adapter, int clear, 279void zfcp_erp_adapter_shutdown(struct zfcp_adapter *adapter, int clear,
280 u8 id, void *ref) 280 char *id, void *ref)
281{ 281{
282 int flags = ZFCP_STATUS_COMMON_RUNNING | ZFCP_STATUS_COMMON_ERP_FAILED; 282 int flags = ZFCP_STATUS_COMMON_RUNNING | ZFCP_STATUS_COMMON_ERP_FAILED;
283 zfcp_erp_adapter_reopen(adapter, clear | flags, id, ref); 283 zfcp_erp_adapter_reopen(adapter, clear | flags, id, ref);
@@ -290,7 +290,8 @@ void zfcp_erp_adapter_shutdown(struct zfcp_adapter *adapter, int clear,
290 * @id: Id for debug trace event. 290 * @id: Id for debug trace event.
291 * @ref: Reference for debug trace event. 291 * @ref: Reference for debug trace event.
292 */ 292 */
293void zfcp_erp_port_shutdown(struct zfcp_port *port, int clear, u8 id, void *ref) 293void zfcp_erp_port_shutdown(struct zfcp_port *port, int clear, char *id,
294 void *ref)
294{ 295{
295 int flags = ZFCP_STATUS_COMMON_RUNNING | ZFCP_STATUS_COMMON_ERP_FAILED; 296 int flags = ZFCP_STATUS_COMMON_RUNNING | ZFCP_STATUS_COMMON_ERP_FAILED;
296 zfcp_erp_port_reopen(port, clear | flags, id, ref); 297 zfcp_erp_port_reopen(port, clear | flags, id, ref);
@@ -303,7 +304,8 @@ void zfcp_erp_port_shutdown(struct zfcp_port *port, int clear, u8 id, void *ref)
303 * @id: Id for debug trace event. 304 * @id: Id for debug trace event.
304 * @ref: Reference for debug trace event. 305 * @ref: Reference for debug trace event.
305 */ 306 */
306void zfcp_erp_unit_shutdown(struct zfcp_unit *unit, int clear, u8 id, void *ref) 307void zfcp_erp_unit_shutdown(struct zfcp_unit *unit, int clear, char *id,
308 void *ref)
307{ 309{
308 int flags = ZFCP_STATUS_COMMON_RUNNING | ZFCP_STATUS_COMMON_ERP_FAILED; 310 int flags = ZFCP_STATUS_COMMON_RUNNING | ZFCP_STATUS_COMMON_ERP_FAILED;
309 zfcp_erp_unit_reopen(unit, clear | flags, id, ref); 311 zfcp_erp_unit_reopen(unit, clear | flags, id, ref);
@@ -311,13 +313,13 @@ void zfcp_erp_unit_shutdown(struct zfcp_unit *unit, int clear, u8 id, void *ref)
311 313
312static void zfcp_erp_port_block(struct zfcp_port *port, int clear) 314static void zfcp_erp_port_block(struct zfcp_port *port, int clear)
313{ 315{
314 zfcp_erp_modify_port_status(port, 17, NULL, 316 zfcp_erp_modify_port_status(port, "erpblk1", NULL,
315 ZFCP_STATUS_COMMON_UNBLOCKED | clear, 317 ZFCP_STATUS_COMMON_UNBLOCKED | clear,
316 ZFCP_CLEAR); 318 ZFCP_CLEAR);
317} 319}
318 320
319static void _zfcp_erp_port_forced_reopen(struct zfcp_port *port, 321static void _zfcp_erp_port_forced_reopen(struct zfcp_port *port,
320 int clear, u8 id, void *ref) 322 int clear, char *id, void *ref)
321{ 323{
322 zfcp_erp_port_block(port, clear); 324 zfcp_erp_port_block(port, clear);
323 325
@@ -334,7 +336,7 @@ static void _zfcp_erp_port_forced_reopen(struct zfcp_port *port,
334 * @id: Id for debug trace event. 336 * @id: Id for debug trace event.
335 * @ref: Reference for debug trace event. 337 * @ref: Reference for debug trace event.
336 */ 338 */
337void zfcp_erp_port_forced_reopen(struct zfcp_port *port, int clear, u8 id, 339void zfcp_erp_port_forced_reopen(struct zfcp_port *port, int clear, char *id,
338 void *ref) 340 void *ref)
339{ 341{
340 unsigned long flags; 342 unsigned long flags;
@@ -347,14 +349,14 @@ void zfcp_erp_port_forced_reopen(struct zfcp_port *port, int clear, u8 id,
347 read_unlock_irqrestore(&zfcp_data.config_lock, flags); 349 read_unlock_irqrestore(&zfcp_data.config_lock, flags);
348} 350}
349 351
350static int _zfcp_erp_port_reopen(struct zfcp_port *port, int clear, u8 id, 352static int _zfcp_erp_port_reopen(struct zfcp_port *port, int clear, char *id,
351 void *ref) 353 void *ref)
352{ 354{
353 zfcp_erp_port_block(port, clear); 355 zfcp_erp_port_block(port, clear);
354 356
355 if (atomic_read(&port->status) & ZFCP_STATUS_COMMON_ERP_FAILED) { 357 if (atomic_read(&port->status) & ZFCP_STATUS_COMMON_ERP_FAILED) {
356 /* ensure propagation of failed status to new devices */ 358 /* ensure propagation of failed status to new devices */
357 zfcp_erp_port_failed(port, 14, NULL); 359 zfcp_erp_port_failed(port, "erpreo1", NULL);
358 return -EIO; 360 return -EIO;
359 } 361 }
360 362
@@ -369,7 +371,7 @@ static int _zfcp_erp_port_reopen(struct zfcp_port *port, int clear, u8 id,
369 * 371 *
370 * Returns 0 if recovery has been triggered, < 0 if not. 372 * Returns 0 if recovery has been triggered, < 0 if not.
371 */ 373 */
372int zfcp_erp_port_reopen(struct zfcp_port *port, int clear, u8 id, void *ref) 374int zfcp_erp_port_reopen(struct zfcp_port *port, int clear, char *id, void *ref)
373{ 375{
374 unsigned long flags; 376 unsigned long flags;
375 int retval; 377 int retval;
@@ -386,12 +388,12 @@ int zfcp_erp_port_reopen(struct zfcp_port *port, int clear, u8 id, void *ref)
386 388
387static void zfcp_erp_unit_block(struct zfcp_unit *unit, int clear_mask) 389static void zfcp_erp_unit_block(struct zfcp_unit *unit, int clear_mask)
388{ 390{
389 zfcp_erp_modify_unit_status(unit, 19, NULL, 391 zfcp_erp_modify_unit_status(unit, "erublk1", NULL,
390 ZFCP_STATUS_COMMON_UNBLOCKED | clear_mask, 392 ZFCP_STATUS_COMMON_UNBLOCKED | clear_mask,
391 ZFCP_CLEAR); 393 ZFCP_CLEAR);
392} 394}
393 395
394static void _zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear, u8 id, 396static void _zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear, char *id,
395 void *ref) 397 void *ref)
396{ 398{
397 struct zfcp_adapter *adapter = unit->port->adapter; 399 struct zfcp_adapter *adapter = unit->port->adapter;
@@ -411,7 +413,8 @@ static void _zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear, u8 id,
411 * @clear_mask: specifies flags in unit status to be cleared 413 * @clear_mask: specifies flags in unit status to be cleared
412 * Return: 0 on success, < 0 on error 414 * Return: 0 on success, < 0 on error
413 */ 415 */
414void zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear, u8 id, void *ref) 416void zfcp_erp_unit_reopen(struct zfcp_unit *unit, int clear, char *id,
417 void *ref)
415{ 418{
416 unsigned long flags; 419 unsigned long flags;
417 struct zfcp_port *port = unit->port; 420 struct zfcp_port *port = unit->port;
@@ -437,28 +440,28 @@ static int status_change_clear(unsigned long mask, atomic_t *status)
437static void zfcp_erp_adapter_unblock(struct zfcp_adapter *adapter) 440static void zfcp_erp_adapter_unblock(struct zfcp_adapter *adapter)
438{ 441{
439 if (status_change_set(ZFCP_STATUS_COMMON_UNBLOCKED, &adapter->status)) 442 if (status_change_set(ZFCP_STATUS_COMMON_UNBLOCKED, &adapter->status))
440 zfcp_rec_dbf_event_adapter(16, NULL, adapter); 443 zfcp_rec_dbf_event_adapter("eraubl1", NULL, adapter);
441 atomic_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, &adapter->status); 444 atomic_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, &adapter->status);
442} 445}
443 446
444static void zfcp_erp_port_unblock(struct zfcp_port *port) 447static void zfcp_erp_port_unblock(struct zfcp_port *port)
445{ 448{
446 if (status_change_set(ZFCP_STATUS_COMMON_UNBLOCKED, &port->status)) 449 if (status_change_set(ZFCP_STATUS_COMMON_UNBLOCKED, &port->status))
447 zfcp_rec_dbf_event_port(18, NULL, port); 450 zfcp_rec_dbf_event_port("erpubl1", NULL, port);
448 atomic_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, &port->status); 451 atomic_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, &port->status);
449} 452}
450 453
451static void zfcp_erp_unit_unblock(struct zfcp_unit *unit) 454static void zfcp_erp_unit_unblock(struct zfcp_unit *unit)
452{ 455{
453 if (status_change_set(ZFCP_STATUS_COMMON_UNBLOCKED, &unit->status)) 456 if (status_change_set(ZFCP_STATUS_COMMON_UNBLOCKED, &unit->status))
454 zfcp_rec_dbf_event_unit(20, NULL, unit); 457 zfcp_rec_dbf_event_unit("eruubl1", NULL, unit);
455 atomic_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, &unit->status); 458 atomic_set_mask(ZFCP_STATUS_COMMON_UNBLOCKED, &unit->status);
456} 459}
457 460
458static void zfcp_erp_action_to_running(struct zfcp_erp_action *erp_action) 461static void zfcp_erp_action_to_running(struct zfcp_erp_action *erp_action)
459{ 462{
460 list_move(&erp_action->list, &erp_action->adapter->erp_running_head); 463 list_move(&erp_action->list, &erp_action->adapter->erp_running_head);
461 zfcp_rec_dbf_event_action(145, erp_action); 464 zfcp_rec_dbf_event_action("erator1", erp_action);
462} 465}
463 466
464static void zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *act) 467static void zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *act)
@@ -474,11 +477,11 @@ static void zfcp_erp_strategy_check_fsfreq(struct zfcp_erp_action *act)
474 if (act->status & (ZFCP_STATUS_ERP_DISMISSED | 477 if (act->status & (ZFCP_STATUS_ERP_DISMISSED |
475 ZFCP_STATUS_ERP_TIMEDOUT)) { 478 ZFCP_STATUS_ERP_TIMEDOUT)) {
476 act->fsf_req->status |= ZFCP_STATUS_FSFREQ_DISMISSED; 479 act->fsf_req->status |= ZFCP_STATUS_FSFREQ_DISMISSED;
477 zfcp_rec_dbf_event_action(142, act); 480 zfcp_rec_dbf_event_action("erscf_1", act);
478 act->fsf_req->erp_action = NULL; 481 act->fsf_req->erp_action = NULL;
479 } 482 }
480 if (act->status & ZFCP_STATUS_ERP_TIMEDOUT) 483 if (act->status & ZFCP_STATUS_ERP_TIMEDOUT)
481 zfcp_rec_dbf_event_action(143, act); 484 zfcp_rec_dbf_event_action("erscf_2", act);
482 if (act->fsf_req->status & (ZFCP_STATUS_FSFREQ_COMPLETED | 485 if (act->fsf_req->status & (ZFCP_STATUS_FSFREQ_COMPLETED |
483 ZFCP_STATUS_FSFREQ_DISMISSED)) 486 ZFCP_STATUS_FSFREQ_DISMISSED))
484 act->fsf_req = NULL; 487 act->fsf_req = NULL;
@@ -530,7 +533,7 @@ static void zfcp_erp_strategy_memwait(struct zfcp_erp_action *erp_action)
530} 533}
531 534
532static void _zfcp_erp_port_reopen_all(struct zfcp_adapter *adapter, 535static void _zfcp_erp_port_reopen_all(struct zfcp_adapter *adapter,
533 int clear, u8 id, void *ref) 536 int clear, char *id, void *ref)
534{ 537{
535 struct zfcp_port *port; 538 struct zfcp_port *port;
536 539
@@ -538,8 +541,8 @@ static void _zfcp_erp_port_reopen_all(struct zfcp_adapter *adapter,
538 _zfcp_erp_port_reopen(port, clear, id, ref); 541 _zfcp_erp_port_reopen(port, clear, id, ref);
539} 542}
540 543
541static void _zfcp_erp_unit_reopen_all(struct zfcp_port *port, int clear, u8 id, 544static void _zfcp_erp_unit_reopen_all(struct zfcp_port *port, int clear,
542 void *ref) 545 char *id, void *ref)
543{ 546{
544 struct zfcp_unit *unit; 547 struct zfcp_unit *unit;
545 548
@@ -559,28 +562,28 @@ static void zfcp_erp_strategy_followup_actions(struct zfcp_erp_action *act)
559 562
560 case ZFCP_ERP_ACTION_REOPEN_ADAPTER: 563 case ZFCP_ERP_ACTION_REOPEN_ADAPTER:
561 if (status == ZFCP_ERP_SUCCEEDED) 564 if (status == ZFCP_ERP_SUCCEEDED)
562 _zfcp_erp_port_reopen_all(adapter, 0, 70, NULL); 565 _zfcp_erp_port_reopen_all(adapter, 0, "ersfa_1", NULL);
563 else 566 else
564 _zfcp_erp_adapter_reopen(adapter, 0, 71, NULL); 567 _zfcp_erp_adapter_reopen(adapter, 0, "ersfa_2", NULL);
565 break; 568 break;
566 569
567 case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED: 570 case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
568 if (status == ZFCP_ERP_SUCCEEDED) 571 if (status == ZFCP_ERP_SUCCEEDED)
569 _zfcp_erp_port_reopen(port, 0, 72, NULL); 572 _zfcp_erp_port_reopen(port, 0, "ersfa_3", NULL);
570 else 573 else
571 _zfcp_erp_adapter_reopen(adapter, 0, 73, NULL); 574 _zfcp_erp_adapter_reopen(adapter, 0, "ersfa_4", NULL);
572 break; 575 break;
573 576
574 case ZFCP_ERP_ACTION_REOPEN_PORT: 577 case ZFCP_ERP_ACTION_REOPEN_PORT:
575 if (status == ZFCP_ERP_SUCCEEDED) 578 if (status == ZFCP_ERP_SUCCEEDED)
576 _zfcp_erp_unit_reopen_all(port, 0, 74, NULL); 579 _zfcp_erp_unit_reopen_all(port, 0, "ersfa_5", NULL);
577 else 580 else
578 _zfcp_erp_port_forced_reopen(port, 0, 75, NULL); 581 _zfcp_erp_port_forced_reopen(port, 0, "ersfa_6", NULL);
579 break; 582 break;
580 583
581 case ZFCP_ERP_ACTION_REOPEN_UNIT: 584 case ZFCP_ERP_ACTION_REOPEN_UNIT:
582 if (status != ZFCP_ERP_SUCCEEDED) 585 if (status != ZFCP_ERP_SUCCEEDED)
583 _zfcp_erp_port_reopen(unit->port, 0, 76, NULL); 586 _zfcp_erp_port_reopen(unit->port, 0, "ersfa_7", NULL);
584 break; 587 break;
585 } 588 }
586} 589}
@@ -617,7 +620,7 @@ static void zfcp_erp_enqueue_ptp_port(struct zfcp_adapter *adapter)
617 adapter->peer_d_id); 620 adapter->peer_d_id);
618 if (IS_ERR(port)) /* error or port already attached */ 621 if (IS_ERR(port)) /* error or port already attached */
619 return; 622 return;
620 _zfcp_erp_port_reopen(port, 0, 150, NULL); 623 _zfcp_erp_port_reopen(port, 0, "ereptp1", NULL);
621} 624}
622 625
623static int zfcp_erp_adapter_strat_fsf_xconf(struct zfcp_erp_action *erp_action) 626static int zfcp_erp_adapter_strat_fsf_xconf(struct zfcp_erp_action *erp_action)
@@ -640,9 +643,9 @@ static int zfcp_erp_adapter_strat_fsf_xconf(struct zfcp_erp_action *erp_action)
640 return ZFCP_ERP_FAILED; 643 return ZFCP_ERP_FAILED;
641 } 644 }
642 645
643 zfcp_rec_dbf_event_thread_lock(6, adapter); 646 zfcp_rec_dbf_event_thread_lock("erasfx1", adapter);
644 down(&adapter->erp_ready_sem); 647 down(&adapter->erp_ready_sem);
645 zfcp_rec_dbf_event_thread_lock(7, adapter); 648 zfcp_rec_dbf_event_thread_lock("erasfx2", adapter);
646 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT) 649 if (erp_action->status & ZFCP_STATUS_ERP_TIMEDOUT)
647 break; 650 break;
648 651
@@ -681,9 +684,9 @@ static int zfcp_erp_adapter_strategy_open_fsf_xport(struct zfcp_erp_action *act)
681 if (ret) 684 if (ret)
682 return ZFCP_ERP_FAILED; 685 return ZFCP_ERP_FAILED;
683 686
684 zfcp_rec_dbf_event_thread_lock(8, adapter); 687 zfcp_rec_dbf_event_thread_lock("erasox1", adapter);
685 down(&adapter->erp_ready_sem); 688 down(&adapter->erp_ready_sem);
686 zfcp_rec_dbf_event_thread_lock(9, adapter); 689 zfcp_rec_dbf_event_thread_lock("erasox2", adapter);
687 if (act->status & ZFCP_STATUS_ERP_TIMEDOUT) 690 if (act->status & ZFCP_STATUS_ERP_TIMEDOUT)
688 return ZFCP_ERP_FAILED; 691 return ZFCP_ERP_FAILED;
689 692
@@ -714,7 +717,7 @@ static void zfcp_erp_adapter_strategy_close(struct zfcp_erp_action *act)
714 zfcp_fsf_req_dismiss_all(adapter); 717 zfcp_fsf_req_dismiss_all(adapter);
715 adapter->fsf_req_seq_no = 0; 718 adapter->fsf_req_seq_no = 0;
716 /* all ports and units are closed */ 719 /* all ports and units are closed */
717 zfcp_erp_modify_adapter_status(adapter, 24, NULL, 720 zfcp_erp_modify_adapter_status(adapter, "erascl1", NULL,
718 ZFCP_STATUS_COMMON_OPEN, ZFCP_CLEAR); 721 ZFCP_STATUS_COMMON_OPEN, ZFCP_CLEAR);
719 722
720 atomic_clear_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK | 723 atomic_clear_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK |
@@ -832,7 +835,7 @@ static int zfcp_erp_open_ptp_port(struct zfcp_erp_action *act)
832 struct zfcp_port *port = act->port; 835 struct zfcp_port *port = act->port;
833 836
834 if (port->wwpn != adapter->peer_wwpn) { 837 if (port->wwpn != adapter->peer_wwpn) {
835 zfcp_erp_port_failed(port, 25, NULL); 838 zfcp_erp_port_failed(port, "eroptp1", NULL);
836 return ZFCP_ERP_FAILED; 839 return ZFCP_ERP_FAILED;
837 } 840 }
838 port->d_id = adapter->peer_d_id; 841 port->d_id = adapter->peer_d_id;
@@ -986,7 +989,7 @@ static int zfcp_erp_strategy_check_unit(struct zfcp_unit *unit, int result)
986 "port 0x%016Lx\n", 989 "port 0x%016Lx\n",
987 (unsigned long long)unit->fcp_lun, 990 (unsigned long long)unit->fcp_lun,
988 (unsigned long long)unit->port->wwpn); 991 (unsigned long long)unit->port->wwpn);
989 zfcp_erp_unit_failed(unit, 21, NULL); 992 zfcp_erp_unit_failed(unit, "erusck1", NULL);
990 } 993 }
991 break; 994 break;
992 } 995 }
@@ -1016,7 +1019,7 @@ static int zfcp_erp_strategy_check_port(struct zfcp_port *port, int result)
1016 dev_err(&port->adapter->ccw_device->dev, 1019 dev_err(&port->adapter->ccw_device->dev,
1017 "ERP failed for remote port 0x%016Lx\n", 1020 "ERP failed for remote port 0x%016Lx\n",
1018 (unsigned long long)port->wwpn); 1021 (unsigned long long)port->wwpn);
1019 zfcp_erp_port_failed(port, 22, NULL); 1022 zfcp_erp_port_failed(port, "erpsck1", NULL);
1020 } 1023 }
1021 break; 1024 break;
1022 } 1025 }
@@ -1043,7 +1046,7 @@ static int zfcp_erp_strategy_check_adapter(struct zfcp_adapter *adapter,
1043 dev_err(&adapter->ccw_device->dev, 1046 dev_err(&adapter->ccw_device->dev,
1044 "ERP cannot recover an error " 1047 "ERP cannot recover an error "
1045 "on the FCP device\n"); 1048 "on the FCP device\n");
1046 zfcp_erp_adapter_failed(adapter, 23, NULL); 1049 zfcp_erp_adapter_failed(adapter, "erasck1", NULL);
1047 } 1050 }
1048 break; 1051 break;
1049 } 1052 }
@@ -1108,7 +1111,7 @@ static int zfcp_erp_strategy_statechange(struct zfcp_erp_action *act, int ret)
1108 if (zfcp_erp_strat_change_det(&adapter->status, erp_status)) { 1111 if (zfcp_erp_strat_change_det(&adapter->status, erp_status)) {
1109 _zfcp_erp_adapter_reopen(adapter, 1112 _zfcp_erp_adapter_reopen(adapter,
1110 ZFCP_STATUS_COMMON_ERP_FAILED, 1113 ZFCP_STATUS_COMMON_ERP_FAILED,
1111 67, NULL); 1114 "ersscg1", NULL);
1112 return ZFCP_ERP_EXIT; 1115 return ZFCP_ERP_EXIT;
1113 } 1116 }
1114 break; 1117 break;
@@ -1118,7 +1121,7 @@ static int zfcp_erp_strategy_statechange(struct zfcp_erp_action *act, int ret)
1118 if (zfcp_erp_strat_change_det(&port->status, erp_status)) { 1121 if (zfcp_erp_strat_change_det(&port->status, erp_status)) {
1119 _zfcp_erp_port_reopen(port, 1122 _zfcp_erp_port_reopen(port,
1120 ZFCP_STATUS_COMMON_ERP_FAILED, 1123 ZFCP_STATUS_COMMON_ERP_FAILED,
1121 68, NULL); 1124 "ersscg2", NULL);
1122 return ZFCP_ERP_EXIT; 1125 return ZFCP_ERP_EXIT;
1123 } 1126 }
1124 break; 1127 break;
@@ -1127,7 +1130,7 @@ static int zfcp_erp_strategy_statechange(struct zfcp_erp_action *act, int ret)
1127 if (zfcp_erp_strat_change_det(&unit->status, erp_status)) { 1130 if (zfcp_erp_strat_change_det(&unit->status, erp_status)) {
1128 _zfcp_erp_unit_reopen(unit, 1131 _zfcp_erp_unit_reopen(unit,
1129 ZFCP_STATUS_COMMON_ERP_FAILED, 1132 ZFCP_STATUS_COMMON_ERP_FAILED,
1130 69, NULL); 1133 "ersscg3", NULL);
1131 return ZFCP_ERP_EXIT; 1134 return ZFCP_ERP_EXIT;
1132 } 1135 }
1133 break; 1136 break;
@@ -1146,7 +1149,7 @@ static void zfcp_erp_action_dequeue(struct zfcp_erp_action *erp_action)
1146 } 1149 }
1147 1150
1148 list_del(&erp_action->list); 1151 list_del(&erp_action->list);
1149 zfcp_rec_dbf_event_action(144, erp_action); 1152 zfcp_rec_dbf_event_action("eractd1", erp_action);
1150 1153
1151 switch (erp_action->action) { 1154 switch (erp_action->action) {
1152 case ZFCP_ERP_ACTION_REOPEN_UNIT: 1155 case ZFCP_ERP_ACTION_REOPEN_UNIT:
@@ -1331,7 +1334,7 @@ static int zfcp_erp_strategy(struct zfcp_erp_action *erp_action)
1331 erp_action->status |= ZFCP_STATUS_ERP_LOWMEM; 1334 erp_action->status |= ZFCP_STATUS_ERP_LOWMEM;
1332 } 1335 }
1333 if (adapter->erp_total_count == adapter->erp_low_mem_count) 1336 if (adapter->erp_total_count == adapter->erp_low_mem_count)
1334 _zfcp_erp_adapter_reopen(adapter, 0, 66, NULL); 1337 _zfcp_erp_adapter_reopen(adapter, 0, "erstgy1", NULL);
1335 else { 1338 else {
1336 zfcp_erp_strategy_memwait(erp_action); 1339 zfcp_erp_strategy_memwait(erp_action);
1337 retval = ZFCP_ERP_CONTINUES; 1340 retval = ZFCP_ERP_CONTINUES;
@@ -1391,9 +1394,9 @@ static int zfcp_erp_thread(void *data)
1391 zfcp_erp_wakeup(adapter); 1394 zfcp_erp_wakeup(adapter);
1392 } 1395 }
1393 1396
1394 zfcp_rec_dbf_event_thread_lock(4, adapter); 1397 zfcp_rec_dbf_event_thread_lock("erthrd1", adapter);
1395 ignore = down_interruptible(&adapter->erp_ready_sem); 1398 ignore = down_interruptible(&adapter->erp_ready_sem);
1396 zfcp_rec_dbf_event_thread_lock(5, adapter); 1399 zfcp_rec_dbf_event_thread_lock("erthrd2", adapter);
1397 } 1400 }
1398 1401
1399 atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status); 1402 atomic_clear_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_UP, &adapter->status);
@@ -1438,7 +1441,7 @@ void zfcp_erp_thread_kill(struct zfcp_adapter *adapter)
1438{ 1441{
1439 atomic_set_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL, &adapter->status); 1442 atomic_set_mask(ZFCP_STATUS_ADAPTER_ERP_THREAD_KILL, &adapter->status);
1440 up(&adapter->erp_ready_sem); 1443 up(&adapter->erp_ready_sem);
1441 zfcp_rec_dbf_event_thread_lock(3, adapter); 1444 zfcp_rec_dbf_event_thread_lock("erthrk1", adapter);
1442 1445
1443 wait_event(adapter->erp_thread_wqh, 1446 wait_event(adapter->erp_thread_wqh,
1444 !(atomic_read(&adapter->status) & 1447 !(atomic_read(&adapter->status) &
@@ -1454,7 +1457,7 @@ void zfcp_erp_thread_kill(struct zfcp_adapter *adapter)
1454 * @id: Event id for debug trace. 1457 * @id: Event id for debug trace.
1455 * @ref: Reference for debug trace. 1458 * @ref: Reference for debug trace.
1456 */ 1459 */
1457void zfcp_erp_adapter_failed(struct zfcp_adapter *adapter, u8 id, void *ref) 1460void zfcp_erp_adapter_failed(struct zfcp_adapter *adapter, char *id, void *ref)
1458{ 1461{
1459 zfcp_erp_modify_adapter_status(adapter, id, ref, 1462 zfcp_erp_modify_adapter_status(adapter, id, ref,
1460 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET); 1463 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET);
@@ -1466,7 +1469,7 @@ void zfcp_erp_adapter_failed(struct zfcp_adapter *adapter, u8 id, void *ref)
1466 * @id: Event id for debug trace. 1469 * @id: Event id for debug trace.
1467 * @ref: Reference for debug trace. 1470 * @ref: Reference for debug trace.
1468 */ 1471 */
1469void zfcp_erp_port_failed(struct zfcp_port *port, u8 id, void *ref) 1472void zfcp_erp_port_failed(struct zfcp_port *port, char *id, void *ref)
1470{ 1473{
1471 zfcp_erp_modify_port_status(port, id, ref, 1474 zfcp_erp_modify_port_status(port, id, ref,
1472 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET); 1475 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET);
@@ -1478,7 +1481,7 @@ void zfcp_erp_port_failed(struct zfcp_port *port, u8 id, void *ref)
1478 * @id: Event id for debug trace. 1481 * @id: Event id for debug trace.
1479 * @ref: Reference for debug trace. 1482 * @ref: Reference for debug trace.
1480 */ 1483 */
1481void zfcp_erp_unit_failed(struct zfcp_unit *unit, u8 id, void *ref) 1484void zfcp_erp_unit_failed(struct zfcp_unit *unit, char *id, void *ref)
1482{ 1485{
1483 zfcp_erp_modify_unit_status(unit, id, ref, 1486 zfcp_erp_modify_unit_status(unit, id, ref,
1484 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET); 1487 ZFCP_STATUS_COMMON_ERP_FAILED, ZFCP_SET);
@@ -1505,7 +1508,7 @@ void zfcp_erp_wait(struct zfcp_adapter *adapter)
1505 * 1508 *
1506 * Changes in common status bits are propagated to attached ports and units. 1509 * Changes in common status bits are propagated to attached ports and units.
1507 */ 1510 */
1508void zfcp_erp_modify_adapter_status(struct zfcp_adapter *adapter, u8 id, 1511void zfcp_erp_modify_adapter_status(struct zfcp_adapter *adapter, char *id,
1509 void *ref, u32 mask, int set_or_clear) 1512 void *ref, u32 mask, int set_or_clear)
1510{ 1513{
1511 struct zfcp_port *port; 1514 struct zfcp_port *port;
@@ -1539,7 +1542,7 @@ void zfcp_erp_modify_adapter_status(struct zfcp_adapter *adapter, u8 id,
1539 * 1542 *
1540 * Changes in common status bits are propagated to attached units. 1543 * Changes in common status bits are propagated to attached units.
1541 */ 1544 */
1542void zfcp_erp_modify_port_status(struct zfcp_port *port, u8 id, void *ref, 1545void zfcp_erp_modify_port_status(struct zfcp_port *port, char *id, void *ref,
1543 u32 mask, int set_or_clear) 1546 u32 mask, int set_or_clear)
1544{ 1547{
1545 struct zfcp_unit *unit; 1548 struct zfcp_unit *unit;
@@ -1571,7 +1574,7 @@ void zfcp_erp_modify_port_status(struct zfcp_port *port, u8 id, void *ref,
1571 * @mask: status bits to change 1574 * @mask: status bits to change
1572 * @set_or_clear: ZFCP_SET or ZFCP_CLEAR 1575 * @set_or_clear: ZFCP_SET or ZFCP_CLEAR
1573 */ 1576 */
1574void zfcp_erp_modify_unit_status(struct zfcp_unit *unit, u8 id, void *ref, 1577void zfcp_erp_modify_unit_status(struct zfcp_unit *unit, char *id, void *ref,
1575 u32 mask, int set_or_clear) 1578 u32 mask, int set_or_clear)
1576{ 1579{
1577 if (set_or_clear == ZFCP_SET) { 1580 if (set_or_clear == ZFCP_SET) {
@@ -1594,7 +1597,7 @@ void zfcp_erp_modify_unit_status(struct zfcp_unit *unit, u8 id, void *ref,
1594 * @id: The debug trace id. 1597 * @id: The debug trace id.
1595 * @id: Reference for the debug trace. 1598 * @id: Reference for the debug trace.
1596 */ 1599 */
1597void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, void *ref) 1600void zfcp_erp_port_boxed(struct zfcp_port *port, char *id, void *ref)
1598{ 1601{
1599 unsigned long flags; 1602 unsigned long flags;
1600 1603
@@ -1611,7 +1614,7 @@ void zfcp_erp_port_boxed(struct zfcp_port *port, u8 id, void *ref)
1611 * @id: The debug trace id. 1614 * @id: The debug trace id.
1612 * @id: Reference for the debug trace. 1615 * @id: Reference for the debug trace.
1613 */ 1616 */
1614void zfcp_erp_unit_boxed(struct zfcp_unit *unit, u8 id, void *ref) 1617void zfcp_erp_unit_boxed(struct zfcp_unit *unit, char *id, void *ref)
1615{ 1618{
1616 zfcp_erp_modify_unit_status(unit, id, ref, 1619 zfcp_erp_modify_unit_status(unit, id, ref,
1617 ZFCP_STATUS_COMMON_ACCESS_BOXED, ZFCP_SET); 1620 ZFCP_STATUS_COMMON_ACCESS_BOXED, ZFCP_SET);
@@ -1627,7 +1630,7 @@ void zfcp_erp_unit_boxed(struct zfcp_unit *unit, u8 id, void *ref)
1627 * Since the adapter has denied access, stop using the port and the 1630 * Since the adapter has denied access, stop using the port and the
1628 * attached units. 1631 * attached units.
1629 */ 1632 */
1630void zfcp_erp_port_access_denied(struct zfcp_port *port, u8 id, void *ref) 1633void zfcp_erp_port_access_denied(struct zfcp_port *port, char *id, void *ref)
1631{ 1634{
1632 unsigned long flags; 1635 unsigned long flags;
1633 1636
@@ -1646,14 +1649,14 @@ void zfcp_erp_port_access_denied(struct zfcp_port *port, u8 id, void *ref)
1646 * 1649 *
1647 * Since the adapter has denied access, stop using the unit. 1650 * Since the adapter has denied access, stop using the unit.
1648 */ 1651 */
1649void zfcp_erp_unit_access_denied(struct zfcp_unit *unit, u8 id, void *ref) 1652void zfcp_erp_unit_access_denied(struct zfcp_unit *unit, char *id, void *ref)
1650{ 1653{
1651 zfcp_erp_modify_unit_status(unit, id, ref, 1654 zfcp_erp_modify_unit_status(unit, id, ref,
1652 ZFCP_STATUS_COMMON_ERP_FAILED | 1655 ZFCP_STATUS_COMMON_ERP_FAILED |
1653 ZFCP_STATUS_COMMON_ACCESS_DENIED, ZFCP_SET); 1656 ZFCP_STATUS_COMMON_ACCESS_DENIED, ZFCP_SET);
1654} 1657}
1655 1658
1656static void zfcp_erp_unit_access_changed(struct zfcp_unit *unit, u8 id, 1659static void zfcp_erp_unit_access_changed(struct zfcp_unit *unit, char *id,
1657 void *ref) 1660 void *ref)
1658{ 1661{
1659 int status = atomic_read(&unit->status); 1662 int status = atomic_read(&unit->status);
@@ -1664,7 +1667,7 @@ static void zfcp_erp_unit_access_changed(struct zfcp_unit *unit, u8 id,
1664 zfcp_erp_unit_reopen(unit, ZFCP_STATUS_COMMON_ERP_FAILED, id, ref); 1667 zfcp_erp_unit_reopen(unit, ZFCP_STATUS_COMMON_ERP_FAILED, id, ref);
1665} 1668}
1666 1669
1667static void zfcp_erp_port_access_changed(struct zfcp_port *port, u8 id, 1670static void zfcp_erp_port_access_changed(struct zfcp_port *port, char *id,
1668 void *ref) 1671 void *ref)
1669{ 1672{
1670 struct zfcp_unit *unit; 1673 struct zfcp_unit *unit;
@@ -1686,7 +1689,7 @@ static void zfcp_erp_port_access_changed(struct zfcp_port *port, u8 id,
1686 * @id: Id for debug trace 1689 * @id: Id for debug trace
1687 * @ref: Reference for debug trace 1690 * @ref: Reference for debug trace
1688 */ 1691 */
1689void zfcp_erp_adapter_access_changed(struct zfcp_adapter *adapter, u8 id, 1692void zfcp_erp_adapter_access_changed(struct zfcp_adapter *adapter, char *id,
1690 void *ref) 1693 void *ref)
1691{ 1694{
1692 struct zfcp_port *port; 1695 struct zfcp_port *port;
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index a2b4987ac652..569d2437e99b 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -35,15 +35,15 @@ extern struct miscdevice zfcp_cfdc_misc;
35/* zfcp_dbf.c */ 35/* zfcp_dbf.c */
36extern int zfcp_adapter_debug_register(struct zfcp_adapter *); 36extern int zfcp_adapter_debug_register(struct zfcp_adapter *);
37extern void zfcp_adapter_debug_unregister(struct zfcp_adapter *); 37extern void zfcp_adapter_debug_unregister(struct zfcp_adapter *);
38extern void zfcp_rec_dbf_event_thread(u8, struct zfcp_adapter *); 38extern void zfcp_rec_dbf_event_thread(char *, struct zfcp_adapter *);
39extern void zfcp_rec_dbf_event_thread_lock(u8, struct zfcp_adapter *); 39extern void zfcp_rec_dbf_event_thread_lock(char *, struct zfcp_adapter *);
40extern void zfcp_rec_dbf_event_adapter(u8, void *, struct zfcp_adapter *); 40extern void zfcp_rec_dbf_event_adapter(char *, void *, struct zfcp_adapter *);
41extern void zfcp_rec_dbf_event_port(u8, void *, struct zfcp_port *); 41extern void zfcp_rec_dbf_event_port(char *, void *, struct zfcp_port *);
42extern void zfcp_rec_dbf_event_unit(u8, void *, struct zfcp_unit *); 42extern void zfcp_rec_dbf_event_unit(char *, void *, struct zfcp_unit *);
43extern void zfcp_rec_dbf_event_trigger(u8, void *, u8, u8, void *, 43extern void zfcp_rec_dbf_event_trigger(char *, void *, u8, u8, void *,
44 struct zfcp_adapter *, 44 struct zfcp_adapter *,
45 struct zfcp_port *, struct zfcp_unit *); 45 struct zfcp_port *, struct zfcp_unit *);
46extern void zfcp_rec_dbf_event_action(u8, struct zfcp_erp_action *); 46extern void zfcp_rec_dbf_event_action(char *, struct zfcp_erp_action *);
47extern void zfcp_hba_dbf_event_fsf_response(struct zfcp_fsf_req *); 47extern void zfcp_hba_dbf_event_fsf_response(struct zfcp_fsf_req *);
48extern void zfcp_hba_dbf_event_fsf_unsol(const char *, struct zfcp_adapter *, 48extern void zfcp_hba_dbf_event_fsf_unsol(const char *, struct zfcp_adapter *,
49 struct fsf_status_read_buffer *); 49 struct fsf_status_read_buffer *);
@@ -66,31 +66,34 @@ extern void zfcp_scsi_dbf_event_devreset(const char *, u8, struct zfcp_unit *,
66 struct scsi_cmnd *); 66 struct scsi_cmnd *);
67 67
68/* zfcp_erp.c */ 68/* zfcp_erp.c */
69extern void zfcp_erp_modify_adapter_status(struct zfcp_adapter *, u8, void *, 69extern void zfcp_erp_modify_adapter_status(struct zfcp_adapter *, char *,
70 u32, int); 70 void *, u32, int);
71extern void zfcp_erp_adapter_reopen(struct zfcp_adapter *, int, u8, void *); 71extern void zfcp_erp_adapter_reopen(struct zfcp_adapter *, int, char *, void *);
72extern void zfcp_erp_adapter_shutdown(struct zfcp_adapter *, int, u8, void *); 72extern void zfcp_erp_adapter_shutdown(struct zfcp_adapter *, int, char *,
73extern void zfcp_erp_adapter_failed(struct zfcp_adapter *, u8, void *); 73 void *);
74extern void zfcp_erp_modify_port_status(struct zfcp_port *, u8, void *, u32, 74extern void zfcp_erp_adapter_failed(struct zfcp_adapter *, char *, void *);
75extern void zfcp_erp_modify_port_status(struct zfcp_port *, char *, void *, u32,
75 int); 76 int);
76extern int zfcp_erp_port_reopen(struct zfcp_port *, int, u8, void *); 77extern int zfcp_erp_port_reopen(struct zfcp_port *, int, char *, void *);
77extern void zfcp_erp_port_shutdown(struct zfcp_port *, int, u8, void *); 78extern void zfcp_erp_port_shutdown(struct zfcp_port *, int, char *, void *);
78extern void zfcp_erp_port_forced_reopen(struct zfcp_port *, int, u8, void *); 79extern void zfcp_erp_port_forced_reopen(struct zfcp_port *, int, char *,
79extern void zfcp_erp_port_failed(struct zfcp_port *, u8, void *); 80 void *);
80extern void zfcp_erp_modify_unit_status(struct zfcp_unit *, u8, void *, u32, 81extern void zfcp_erp_port_failed(struct zfcp_port *, char *, void *);
82extern void zfcp_erp_modify_unit_status(struct zfcp_unit *, char *, void *, u32,
81 int); 83 int);
82extern void zfcp_erp_unit_reopen(struct zfcp_unit *, int, u8, void *); 84extern void zfcp_erp_unit_reopen(struct zfcp_unit *, int, char *, void *);
83extern void zfcp_erp_unit_shutdown(struct zfcp_unit *, int, u8, void *); 85extern void zfcp_erp_unit_shutdown(struct zfcp_unit *, int, char *, void *);
84extern void zfcp_erp_unit_failed(struct zfcp_unit *, u8, void *); 86extern void zfcp_erp_unit_failed(struct zfcp_unit *, char *, void *);
85extern int zfcp_erp_thread_setup(struct zfcp_adapter *); 87extern int zfcp_erp_thread_setup(struct zfcp_adapter *);
86extern void zfcp_erp_thread_kill(struct zfcp_adapter *); 88extern void zfcp_erp_thread_kill(struct zfcp_adapter *);
87extern void zfcp_erp_wait(struct zfcp_adapter *); 89extern void zfcp_erp_wait(struct zfcp_adapter *);
88extern void zfcp_erp_notify(struct zfcp_erp_action *, unsigned long); 90extern void zfcp_erp_notify(struct zfcp_erp_action *, unsigned long);
89extern void zfcp_erp_port_boxed(struct zfcp_port *, u8, void *); 91extern void zfcp_erp_port_boxed(struct zfcp_port *, char *, void *);
90extern void zfcp_erp_unit_boxed(struct zfcp_unit *, u8, void *); 92extern void zfcp_erp_unit_boxed(struct zfcp_unit *, char *, void *);
91extern void zfcp_erp_port_access_denied(struct zfcp_port *, u8, void *); 93extern void zfcp_erp_port_access_denied(struct zfcp_port *, char *, void *);
92extern void zfcp_erp_unit_access_denied(struct zfcp_unit *, u8, void *); 94extern void zfcp_erp_unit_access_denied(struct zfcp_unit *, char *, void *);
93extern void zfcp_erp_adapter_access_changed(struct zfcp_adapter *, u8, void *); 95extern void zfcp_erp_adapter_access_changed(struct zfcp_adapter *, char *,
96 void *);
94extern void zfcp_erp_timeout_handler(unsigned long); 97extern void zfcp_erp_timeout_handler(unsigned long);
95extern void zfcp_erp_port_strategy_open_lookup(struct work_struct *); 98extern void zfcp_erp_port_strategy_open_lookup(struct work_struct *);
96 99
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c
index 0f435ed9d1a0..ec700b3c2100 100644
--- a/drivers/s390/scsi/zfcp_fc.c
+++ b/drivers/s390/scsi/zfcp_fc.c
@@ -150,7 +150,7 @@ static void _zfcp_fc_incoming_rscn(struct zfcp_fsf_req *fsf_req, u32 range,
150 /* Try to connect to unused ports anyway. */ 150 /* Try to connect to unused ports anyway. */
151 zfcp_erp_port_reopen(port, 151 zfcp_erp_port_reopen(port,
152 ZFCP_STATUS_COMMON_ERP_FAILED, 152 ZFCP_STATUS_COMMON_ERP_FAILED,
153 82, fsf_req); 153 "fcirsc1", fsf_req);
154 else if ((port->d_id & range) == (elem->nport_did & range)) 154 else if ((port->d_id & range) == (elem->nport_did & range))
155 /* Check connection status for connected ports */ 155 /* Check connection status for connected ports */
156 zfcp_test_link(port); 156 zfcp_test_link(port);
@@ -196,7 +196,7 @@ static void zfcp_fc_incoming_wwpn(struct zfcp_fsf_req *req, u64 wwpn)
196 read_unlock_irqrestore(&zfcp_data.config_lock, flags); 196 read_unlock_irqrestore(&zfcp_data.config_lock, flags);
197 197
198 if (port && (port->wwpn == wwpn)) 198 if (port && (port->wwpn == wwpn))
199 zfcp_erp_port_forced_reopen(port, 0, 83, req); 199 zfcp_erp_port_forced_reopen(port, 0, "fciwwp1", req);
200} 200}
201 201
202static void zfcp_fc_incoming_plogi(struct zfcp_fsf_req *req) 202static void zfcp_fc_incoming_plogi(struct zfcp_fsf_req *req)
@@ -374,7 +374,7 @@ static void zfcp_fc_adisc_handler(unsigned long data)
374 374
375 if (adisc->els.status) { 375 if (adisc->els.status) {
376 /* request rejected or timed out */ 376 /* request rejected or timed out */
377 zfcp_erp_port_forced_reopen(port, 0, 63, NULL); 377 zfcp_erp_port_forced_reopen(port, 0, "fcadh_1", NULL);
378 goto out; 378 goto out;
379 } 379 }
380 380
@@ -382,7 +382,7 @@ static void zfcp_fc_adisc_handler(unsigned long data)
382 port->wwnn = ls_adisc->wwnn; 382 port->wwnn = ls_adisc->wwnn;
383 383
384 if (port->wwpn != ls_adisc->wwpn) 384 if (port->wwpn != ls_adisc->wwpn)
385 zfcp_erp_port_reopen(port, 0, 64, NULL); 385 zfcp_erp_port_reopen(port, 0, "fcadh_2", NULL);
386 386
387 out: 387 out:
388 zfcp_port_put(port); 388 zfcp_port_put(port);
@@ -434,7 +434,7 @@ void zfcp_fc_link_test_work(struct work_struct *work)
434 /* send of ADISC was not possible */ 434 /* send of ADISC was not possible */
435 zfcp_port_put(port); 435 zfcp_port_put(port);
436 if (retval != -EBUSY) 436 if (retval != -EBUSY)
437 zfcp_erp_port_forced_reopen(port, 0, 65, NULL); 437 zfcp_erp_port_forced_reopen(port, 0, "fcltwk1", NULL);
438} 438}
439 439
440/** 440/**
@@ -536,7 +536,7 @@ static void zfcp_validate_port(struct zfcp_port *port)
536 zfcp_port_put(port); 536 zfcp_port_put(port);
537 return; 537 return;
538 } 538 }
539 zfcp_erp_port_shutdown(port, 0, 151, NULL); 539 zfcp_erp_port_shutdown(port, 0, "fcpval1", NULL);
540 zfcp_erp_wait(adapter); 540 zfcp_erp_wait(adapter);
541 zfcp_port_put(port); 541 zfcp_port_put(port);
542 zfcp_port_dequeue(port); 542 zfcp_port_dequeue(port);
@@ -599,7 +599,7 @@ static int zfcp_scan_eval_gpn_ft(struct zfcp_gpn_ft *gpn_ft, int max_entries)
599 if (IS_ERR(port)) 599 if (IS_ERR(port))
600 ret = PTR_ERR(port); 600 ret = PTR_ERR(port);
601 else 601 else
602 zfcp_erp_port_reopen(port, 0, 149, NULL); 602 zfcp_erp_port_reopen(port, 0, "fcegpf1", NULL);
603 } 603 }
604 604
605 zfcp_erp_wait(adapter); 605 zfcp_erp_wait(adapter);
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c
index 698e42214a37..b4c9ba085093 100644
--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -18,8 +18,8 @@
18static void zfcp_fsf_request_timeout_handler(unsigned long data) 18static void zfcp_fsf_request_timeout_handler(unsigned long data)
19{ 19{
20 struct zfcp_adapter *adapter = (struct zfcp_adapter *) data; 20 struct zfcp_adapter *adapter = (struct zfcp_adapter *) data;
21 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED, 62, 21 zfcp_erp_adapter_reopen(adapter, ZFCP_STATUS_COMMON_ERP_FAILED,
22 NULL); 22 "fsrth_1", NULL);
23} 23}
24 24
25static void zfcp_fsf_start_timer(struct zfcp_fsf_req *fsf_req, 25static void zfcp_fsf_start_timer(struct zfcp_fsf_req *fsf_req,
@@ -78,7 +78,7 @@ static void zfcp_fsf_access_denied_port(struct zfcp_fsf_req *req,
78 (unsigned long long)port->wwpn); 78 (unsigned long long)port->wwpn);
79 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[0]); 79 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[0]);
80 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[1]); 80 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[1]);
81 zfcp_erp_port_access_denied(port, 55, req); 81 zfcp_erp_port_access_denied(port, "fspad_1", req);
82 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 82 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
83} 83}
84 84
@@ -92,7 +92,7 @@ static void zfcp_fsf_access_denied_unit(struct zfcp_fsf_req *req,
92 (unsigned long long)unit->port->wwpn); 92 (unsigned long long)unit->port->wwpn);
93 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[0]); 93 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[0]);
94 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[1]); 94 zfcp_act_eval_err(req->adapter, header->fsf_status_qual.halfword[1]);
95 zfcp_erp_unit_access_denied(unit, 59, req); 95 zfcp_erp_unit_access_denied(unit, "fsuad_1", req);
96 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 96 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
97} 97}
98 98
@@ -100,7 +100,7 @@ static void zfcp_fsf_class_not_supp(struct zfcp_fsf_req *req)
100{ 100{
101 dev_err(&req->adapter->ccw_device->dev, "FCP device not " 101 dev_err(&req->adapter->ccw_device->dev, "FCP device not "
102 "operational because of an unsupported FC class\n"); 102 "operational because of an unsupported FC class\n");
103 zfcp_erp_adapter_shutdown(req->adapter, 0, 123, req); 103 zfcp_erp_adapter_shutdown(req->adapter, 0, "fscns_1", req);
104 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 104 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
105} 105}
106 106
@@ -162,13 +162,13 @@ static void zfcp_fsf_status_read_port_closed(struct zfcp_fsf_req *req)
162 list_for_each_entry(port, &adapter->port_list_head, list) 162 list_for_each_entry(port, &adapter->port_list_head, list)
163 if (port->d_id == d_id) { 163 if (port->d_id == d_id) {
164 read_unlock_irqrestore(&zfcp_data.config_lock, flags); 164 read_unlock_irqrestore(&zfcp_data.config_lock, flags);
165 zfcp_erp_port_reopen(port, 0, 101, req); 165 zfcp_erp_port_reopen(port, 0, "fssrpc1", req);
166 return; 166 return;
167 } 167 }
168 read_unlock_irqrestore(&zfcp_data.config_lock, flags); 168 read_unlock_irqrestore(&zfcp_data.config_lock, flags);
169} 169}
170 170
171static void zfcp_fsf_link_down_info_eval(struct zfcp_fsf_req *req, u8 id, 171static void zfcp_fsf_link_down_info_eval(struct zfcp_fsf_req *req, char *id,
172 struct fsf_link_down_info *link_down) 172 struct fsf_link_down_info *link_down)
173{ 173{
174 struct zfcp_adapter *adapter = req->adapter; 174 struct zfcp_adapter *adapter = req->adapter;
@@ -257,13 +257,13 @@ static void zfcp_fsf_status_read_link_down(struct zfcp_fsf_req *req)
257 257
258 switch (sr_buf->status_subtype) { 258 switch (sr_buf->status_subtype) {
259 case FSF_STATUS_READ_SUB_NO_PHYSICAL_LINK: 259 case FSF_STATUS_READ_SUB_NO_PHYSICAL_LINK:
260 zfcp_fsf_link_down_info_eval(req, 38, ldi); 260 zfcp_fsf_link_down_info_eval(req, "fssrld1", ldi);
261 break; 261 break;
262 case FSF_STATUS_READ_SUB_FDISC_FAILED: 262 case FSF_STATUS_READ_SUB_FDISC_FAILED:
263 zfcp_fsf_link_down_info_eval(req, 39, ldi); 263 zfcp_fsf_link_down_info_eval(req, "fssrld2", ldi);
264 break; 264 break;
265 case FSF_STATUS_READ_SUB_FIRMWARE_UPDATE: 265 case FSF_STATUS_READ_SUB_FIRMWARE_UPDATE:
266 zfcp_fsf_link_down_info_eval(req, 40, NULL); 266 zfcp_fsf_link_down_info_eval(req, "fssrld3", NULL);
267 }; 267 };
268} 268}
269 269
@@ -303,22 +303,23 @@ static void zfcp_fsf_status_read_handler(struct zfcp_fsf_req *req)
303 dev_info(&adapter->ccw_device->dev, 303 dev_info(&adapter->ccw_device->dev,
304 "The local link has been restored\n"); 304 "The local link has been restored\n");
305 /* All ports should be marked as ready to run again */ 305 /* All ports should be marked as ready to run again */
306 zfcp_erp_modify_adapter_status(adapter, 30, NULL, 306 zfcp_erp_modify_adapter_status(adapter, "fssrh_1", NULL,
307 ZFCP_STATUS_COMMON_RUNNING, 307 ZFCP_STATUS_COMMON_RUNNING,
308 ZFCP_SET); 308 ZFCP_SET);
309 zfcp_erp_adapter_reopen(adapter, 309 zfcp_erp_adapter_reopen(adapter,
310 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED | 310 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED |
311 ZFCP_STATUS_COMMON_ERP_FAILED, 311 ZFCP_STATUS_COMMON_ERP_FAILED,
312 102, req); 312 "fssrh_2", req);
313 break; 313 break;
314 case FSF_STATUS_READ_NOTIFICATION_LOST: 314 case FSF_STATUS_READ_NOTIFICATION_LOST:
315 if (sr_buf->status_subtype & FSF_STATUS_READ_SUB_ACT_UPDATED) 315 if (sr_buf->status_subtype & FSF_STATUS_READ_SUB_ACT_UPDATED)
316 zfcp_erp_adapter_access_changed(adapter, 135, req); 316 zfcp_erp_adapter_access_changed(adapter, "fssrh_3",
317 req);
317 if (sr_buf->status_subtype & FSF_STATUS_READ_SUB_INCOMING_ELS) 318 if (sr_buf->status_subtype & FSF_STATUS_READ_SUB_INCOMING_ELS)
318 schedule_work(&adapter->scan_work); 319 schedule_work(&adapter->scan_work);
319 break; 320 break;
320 case FSF_STATUS_READ_CFDC_UPDATED: 321 case FSF_STATUS_READ_CFDC_UPDATED:
321 zfcp_erp_adapter_access_changed(adapter, 136, req); 322 zfcp_erp_adapter_access_changed(adapter, "fssrh_4", req);
322 break; 323 break;
323 case FSF_STATUS_READ_FEATURE_UPDATE_ALERT: 324 case FSF_STATUS_READ_FEATURE_UPDATE_ALERT:
324 adapter->adapter_features = sr_buf->payload.word[0]; 325 adapter->adapter_features = sr_buf->payload.word[0];
@@ -347,7 +348,7 @@ static void zfcp_fsf_fsfstatus_qual_eval(struct zfcp_fsf_req *req)
347 dev_err(&req->adapter->ccw_device->dev, 348 dev_err(&req->adapter->ccw_device->dev,
348 "The FCP adapter reported a problem " 349 "The FCP adapter reported a problem "
349 "that cannot be recovered\n"); 350 "that cannot be recovered\n");
350 zfcp_erp_adapter_shutdown(req->adapter, 0, 121, req); 351 zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfsqe1", req);
351 break; 352 break;
352 } 353 }
353 /* all non-return stats set FSFREQ_ERROR*/ 354 /* all non-return stats set FSFREQ_ERROR*/
@@ -364,7 +365,7 @@ static void zfcp_fsf_fsfstatus_eval(struct zfcp_fsf_req *req)
364 dev_err(&req->adapter->ccw_device->dev, 365 dev_err(&req->adapter->ccw_device->dev,
365 "The FCP adapter does not recognize the command 0x%x\n", 366 "The FCP adapter does not recognize the command 0x%x\n",
366 req->qtcb->header.fsf_command); 367 req->qtcb->header.fsf_command);
367 zfcp_erp_adapter_shutdown(req->adapter, 0, 120, req); 368 zfcp_erp_adapter_shutdown(req->adapter, 0, "fsfse_1", req);
368 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 369 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
369 break; 370 break;
370 case FSF_ADAPTER_STATUS_AVAILABLE: 371 case FSF_ADAPTER_STATUS_AVAILABLE:
@@ -396,17 +397,17 @@ static void zfcp_fsf_protstatus_eval(struct zfcp_fsf_req *req)
396 "QTCB version 0x%x not supported by FCP adapter " 397 "QTCB version 0x%x not supported by FCP adapter "
397 "(0x%x to 0x%x)\n", FSF_QTCB_CURRENT_VERSION, 398 "(0x%x to 0x%x)\n", FSF_QTCB_CURRENT_VERSION,
398 psq->word[0], psq->word[1]); 399 psq->word[0], psq->word[1]);
399 zfcp_erp_adapter_shutdown(adapter, 0, 117, req); 400 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_1", req);
400 break; 401 break;
401 case FSF_PROT_ERROR_STATE: 402 case FSF_PROT_ERROR_STATE:
402 case FSF_PROT_SEQ_NUMB_ERROR: 403 case FSF_PROT_SEQ_NUMB_ERROR:
403 zfcp_erp_adapter_reopen(adapter, 0, 98, req); 404 zfcp_erp_adapter_reopen(adapter, 0, "fspse_2", req);
404 req->status |= ZFCP_STATUS_FSFREQ_RETRY; 405 req->status |= ZFCP_STATUS_FSFREQ_RETRY;
405 break; 406 break;
406 case FSF_PROT_UNSUPP_QTCB_TYPE: 407 case FSF_PROT_UNSUPP_QTCB_TYPE:
407 dev_err(&adapter->ccw_device->dev, 408 dev_err(&adapter->ccw_device->dev,
408 "The QTCB type is not supported by the FCP adapter\n"); 409 "The QTCB type is not supported by the FCP adapter\n");
409 zfcp_erp_adapter_shutdown(adapter, 0, 118, req); 410 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_3", req);
410 break; 411 break;
411 case FSF_PROT_HOST_CONNECTION_INITIALIZING: 412 case FSF_PROT_HOST_CONNECTION_INITIALIZING:
412 atomic_set_mask(ZFCP_STATUS_ADAPTER_HOST_CON_INIT, 413 atomic_set_mask(ZFCP_STATUS_ADAPTER_HOST_CON_INIT,
@@ -416,27 +417,29 @@ static void zfcp_fsf_protstatus_eval(struct zfcp_fsf_req *req)
416 dev_err(&adapter->ccw_device->dev, 417 dev_err(&adapter->ccw_device->dev,
417 "0x%Lx is an ambiguous request identifier\n", 418 "0x%Lx is an ambiguous request identifier\n",
418 (unsigned long long)qtcb->bottom.support.req_handle); 419 (unsigned long long)qtcb->bottom.support.req_handle);
419 zfcp_erp_adapter_shutdown(adapter, 0, 78, req); 420 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_4", req);
420 break; 421 break;
421 case FSF_PROT_LINK_DOWN: 422 case FSF_PROT_LINK_DOWN:
422 zfcp_fsf_link_down_info_eval(req, 37, &psq->link_down_info); 423 zfcp_fsf_link_down_info_eval(req, "fspse_5",
424 &psq->link_down_info);
423 /* FIXME: reopening adapter now? better wait for link up */ 425 /* FIXME: reopening adapter now? better wait for link up */
424 zfcp_erp_adapter_reopen(adapter, 0, 79, req); 426 zfcp_erp_adapter_reopen(adapter, 0, "fspse_6", req);
425 break; 427 break;
426 case FSF_PROT_REEST_QUEUE: 428 case FSF_PROT_REEST_QUEUE:
427 /* All ports should be marked as ready to run again */ 429 /* All ports should be marked as ready to run again */
428 zfcp_erp_modify_adapter_status(adapter, 28, NULL, 430 zfcp_erp_modify_adapter_status(adapter, "fspse_7", NULL,
429 ZFCP_STATUS_COMMON_RUNNING, 431 ZFCP_STATUS_COMMON_RUNNING,
430 ZFCP_SET); 432 ZFCP_SET);
431 zfcp_erp_adapter_reopen(adapter, 433 zfcp_erp_adapter_reopen(adapter,
432 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED | 434 ZFCP_STATUS_ADAPTER_LINK_UNPLUGGED |
433 ZFCP_STATUS_COMMON_ERP_FAILED, 99, req); 435 ZFCP_STATUS_COMMON_ERP_FAILED,
436 "fspse_8", req);
434 break; 437 break;
435 default: 438 default:
436 dev_err(&adapter->ccw_device->dev, 439 dev_err(&adapter->ccw_device->dev,
437 "0x%x is not a valid transfer protocol status\n", 440 "0x%x is not a valid transfer protocol status\n",
438 qtcb->prefix.prot_status); 441 qtcb->prefix.prot_status);
439 zfcp_erp_adapter_shutdown(adapter, 0, 119, req); 442 zfcp_erp_adapter_shutdown(adapter, 0, "fspse_9", req);
440 } 443 }
441 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 444 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
442} 445}
@@ -522,7 +525,7 @@ static int zfcp_fsf_exchange_config_evaluate(struct zfcp_fsf_req *req)
522 dev_err(&adapter->ccw_device->dev, 525 dev_err(&adapter->ccw_device->dev,
523 "Unknown or unsupported arbitrated loop " 526 "Unknown or unsupported arbitrated loop "
524 "fibre channel topology detected\n"); 527 "fibre channel topology detected\n");
525 zfcp_erp_adapter_shutdown(adapter, 0, 127, req); 528 zfcp_erp_adapter_shutdown(adapter, 0, "fsece_1", req);
526 return -EIO; 529 return -EIO;
527 } 530 }
528 531
@@ -556,7 +559,7 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
556 "FCP adapter maximum QTCB size (%d bytes) " 559 "FCP adapter maximum QTCB size (%d bytes) "
557 "is too small\n", 560 "is too small\n",
558 bottom->max_qtcb_size); 561 bottom->max_qtcb_size);
559 zfcp_erp_adapter_shutdown(adapter, 0, 129, req); 562 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh1", req);
560 return; 563 return;
561 } 564 }
562 atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK, 565 atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK,
@@ -573,11 +576,11 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
573 atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK, 576 atomic_set_mask(ZFCP_STATUS_ADAPTER_XCONFIG_OK,
574 &adapter->status); 577 &adapter->status);
575 578
576 zfcp_fsf_link_down_info_eval(req, 42, 579 zfcp_fsf_link_down_info_eval(req, "fsecdh2",
577 &qtcb->header.fsf_status_qual.link_down_info); 580 &qtcb->header.fsf_status_qual.link_down_info);
578 break; 581 break;
579 default: 582 default:
580 zfcp_erp_adapter_shutdown(adapter, 0, 130, req); 583 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh3", req);
581 return; 584 return;
582 } 585 }
583 586
@@ -593,14 +596,14 @@ static void zfcp_fsf_exchange_config_data_handler(struct zfcp_fsf_req *req)
593 dev_err(&adapter->ccw_device->dev, 596 dev_err(&adapter->ccw_device->dev,
594 "The FCP adapter only supports newer " 597 "The FCP adapter only supports newer "
595 "control block versions\n"); 598 "control block versions\n");
596 zfcp_erp_adapter_shutdown(adapter, 0, 125, req); 599 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh4", req);
597 return; 600 return;
598 } 601 }
599 if (FSF_QTCB_CURRENT_VERSION > bottom->high_qtcb_version) { 602 if (FSF_QTCB_CURRENT_VERSION > bottom->high_qtcb_version) {
600 dev_err(&adapter->ccw_device->dev, 603 dev_err(&adapter->ccw_device->dev,
601 "The FCP adapter only supports older " 604 "The FCP adapter only supports older "
602 "control block versions\n"); 605 "control block versions\n");
603 zfcp_erp_adapter_shutdown(adapter, 0, 126, req); 606 zfcp_erp_adapter_shutdown(adapter, 0, "fsecdh5", req);
604 } 607 }
605} 608}
606 609
@@ -634,7 +637,7 @@ static void zfcp_fsf_exchange_port_data_handler(struct zfcp_fsf_req *req)
634 break; 637 break;
635 case FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE: 638 case FSF_EXCHANGE_CONFIG_DATA_INCOMPLETE:
636 zfcp_fsf_exchange_port_evaluate(req); 639 zfcp_fsf_exchange_port_evaluate(req);
637 zfcp_fsf_link_down_info_eval(req, 43, 640 zfcp_fsf_link_down_info_eval(req, "fsepdh1",
638 &qtcb->header.fsf_status_qual.link_down_info); 641 &qtcb->header.fsf_status_qual.link_down_info);
639 break; 642 break;
640 } 643 }
@@ -779,7 +782,7 @@ static int zfcp_fsf_req_send(struct zfcp_fsf_req *req)
779 if (zfcp_reqlist_find_safe(adapter, req)) 782 if (zfcp_reqlist_find_safe(adapter, req))
780 zfcp_reqlist_remove(adapter, req); 783 zfcp_reqlist_remove(adapter, req);
781 spin_unlock_irqrestore(&adapter->req_list_lock, flags); 784 spin_unlock_irqrestore(&adapter->req_list_lock, flags);
782 zfcp_erp_adapter_reopen(adapter, 0, 116, req); 785 zfcp_erp_adapter_reopen(adapter, 0, "fsrs__1", req);
783 return -EIO; 786 return -EIO;
784 } 787 }
785 788
@@ -859,14 +862,14 @@ static void zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *req)
859 switch (req->qtcb->header.fsf_status) { 862 switch (req->qtcb->header.fsf_status) {
860 case FSF_PORT_HANDLE_NOT_VALID: 863 case FSF_PORT_HANDLE_NOT_VALID:
861 if (fsq->word[0] == fsq->word[1]) { 864 if (fsq->word[0] == fsq->word[1]) {
862 zfcp_erp_adapter_reopen(unit->port->adapter, 0, 104, 865 zfcp_erp_adapter_reopen(unit->port->adapter, 0,
863 req); 866 "fsafch1", req);
864 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 867 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
865 } 868 }
866 break; 869 break;
867 case FSF_LUN_HANDLE_NOT_VALID: 870 case FSF_LUN_HANDLE_NOT_VALID:
868 if (fsq->word[0] == fsq->word[1]) { 871 if (fsq->word[0] == fsq->word[1]) {
869 zfcp_erp_port_reopen(unit->port, 0, 105, req); 872 zfcp_erp_port_reopen(unit->port, 0, "fsafch2", req);
870 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 873 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
871 } 874 }
872 break; 875 break;
@@ -874,12 +877,12 @@ static void zfcp_fsf_abort_fcp_command_handler(struct zfcp_fsf_req *req)
874 req->status |= ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED; 877 req->status |= ZFCP_STATUS_FSFREQ_ABORTNOTNEEDED;
875 break; 878 break;
876 case FSF_PORT_BOXED: 879 case FSF_PORT_BOXED:
877 zfcp_erp_port_boxed(unit->port, 47, req); 880 zfcp_erp_port_boxed(unit->port, "fsafch3", req);
878 req->status |= ZFCP_STATUS_FSFREQ_ERROR | 881 req->status |= ZFCP_STATUS_FSFREQ_ERROR |
879 ZFCP_STATUS_FSFREQ_RETRY; 882 ZFCP_STATUS_FSFREQ_RETRY;
880 break; 883 break;
881 case FSF_LUN_BOXED: 884 case FSF_LUN_BOXED:
882 zfcp_erp_unit_boxed(unit, 48, req); 885 zfcp_erp_unit_boxed(unit, "fsafch4", req);
883 req->status |= ZFCP_STATUS_FSFREQ_ERROR | 886 req->status |= ZFCP_STATUS_FSFREQ_ERROR |
884 ZFCP_STATUS_FSFREQ_RETRY; 887 ZFCP_STATUS_FSFREQ_RETRY;
885 break; 888 break;
@@ -982,7 +985,7 @@ static void zfcp_fsf_send_ct_handler(struct zfcp_fsf_req *req)
982 ZFCP_STATUS_FSFREQ_RETRY; 985 ZFCP_STATUS_FSFREQ_RETRY;
983 break; 986 break;
984 case FSF_PORT_HANDLE_NOT_VALID: 987 case FSF_PORT_HANDLE_NOT_VALID:
985 zfcp_erp_adapter_reopen(adapter, 0, 106, req); 988 zfcp_erp_adapter_reopen(adapter, 0, "fsscth1", req);
986 case FSF_GENERIC_COMMAND_REJECTED: 989 case FSF_GENERIC_COMMAND_REJECTED:
987 case FSF_PAYLOAD_SIZE_MISMATCH: 990 case FSF_PAYLOAD_SIZE_MISMATCH:
988 case FSF_REQUEST_SIZE_TOO_LARGE: 991 case FSF_REQUEST_SIZE_TOO_LARGE:
@@ -1400,7 +1403,7 @@ static void zfcp_fsf_open_port_handler(struct zfcp_fsf_req *req)
1400 "Not enough FCP adapter resources to open " 1403 "Not enough FCP adapter resources to open "
1401 "remote port 0x%016Lx\n", 1404 "remote port 0x%016Lx\n",
1402 (unsigned long long)port->wwpn); 1405 (unsigned long long)port->wwpn);
1403 zfcp_erp_port_failed(port, 31, req); 1406 zfcp_erp_port_failed(port, "fsoph_1", req);
1404 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1407 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1405 break; 1408 break;
1406 case FSF_ADAPTER_STATUS_AVAILABLE: 1409 case FSF_ADAPTER_STATUS_AVAILABLE:
@@ -1506,13 +1509,13 @@ static void zfcp_fsf_close_port_handler(struct zfcp_fsf_req *req)
1506 1509
1507 switch (req->qtcb->header.fsf_status) { 1510 switch (req->qtcb->header.fsf_status) {
1508 case FSF_PORT_HANDLE_NOT_VALID: 1511 case FSF_PORT_HANDLE_NOT_VALID:
1509 zfcp_erp_adapter_reopen(port->adapter, 0, 107, req); 1512 zfcp_erp_adapter_reopen(port->adapter, 0, "fscph_1", req);
1510 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1513 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1511 break; 1514 break;
1512 case FSF_ADAPTER_STATUS_AVAILABLE: 1515 case FSF_ADAPTER_STATUS_AVAILABLE:
1513 break; 1516 break;
1514 case FSF_GOOD: 1517 case FSF_GOOD:
1515 zfcp_erp_modify_port_status(port, 33, req, 1518 zfcp_erp_modify_port_status(port, "fscph_2", req,
1516 ZFCP_STATUS_COMMON_OPEN, 1519 ZFCP_STATUS_COMMON_OPEN,
1517 ZFCP_CLEAR); 1520 ZFCP_CLEAR);
1518 break; 1521 break;
@@ -1641,7 +1644,7 @@ static void zfcp_fsf_close_wka_port_handler(struct zfcp_fsf_req *req)
1641 1644
1642 if (req->qtcb->header.fsf_status == FSF_PORT_HANDLE_NOT_VALID) { 1645 if (req->qtcb->header.fsf_status == FSF_PORT_HANDLE_NOT_VALID) {
1643 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1646 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1644 zfcp_erp_adapter_reopen(wka_port->adapter, 0, 84, req); 1647 zfcp_erp_adapter_reopen(wka_port->adapter, 0, "fscwph1", req);
1645 } 1648 }
1646 1649
1647 wka_port->status = ZFCP_WKA_PORT_OFFLINE; 1650 wka_port->status = ZFCP_WKA_PORT_OFFLINE;
@@ -1700,14 +1703,14 @@ static void zfcp_fsf_close_physical_port_handler(struct zfcp_fsf_req *req)
1700 1703
1701 switch (header->fsf_status) { 1704 switch (header->fsf_status) {
1702 case FSF_PORT_HANDLE_NOT_VALID: 1705 case FSF_PORT_HANDLE_NOT_VALID:
1703 zfcp_erp_adapter_reopen(port->adapter, 0, 108, req); 1706 zfcp_erp_adapter_reopen(port->adapter, 0, "fscpph1", req);
1704 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1707 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1705 break; 1708 break;
1706 case FSF_ACCESS_DENIED: 1709 case FSF_ACCESS_DENIED:
1707 zfcp_fsf_access_denied_port(req, port); 1710 zfcp_fsf_access_denied_port(req, port);
1708 break; 1711 break;
1709 case FSF_PORT_BOXED: 1712 case FSF_PORT_BOXED:
1710 zfcp_erp_port_boxed(port, 50, req); 1713 zfcp_erp_port_boxed(port, "fscpph2", req);
1711 req->status |= ZFCP_STATUS_FSFREQ_ERROR | 1714 req->status |= ZFCP_STATUS_FSFREQ_ERROR |
1712 ZFCP_STATUS_FSFREQ_RETRY; 1715 ZFCP_STATUS_FSFREQ_RETRY;
1713 /* can't use generic zfcp_erp_modify_port_status because 1716 /* can't use generic zfcp_erp_modify_port_status because
@@ -1805,7 +1808,7 @@ static void zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *req)
1805 switch (header->fsf_status) { 1808 switch (header->fsf_status) {
1806 1809
1807 case FSF_PORT_HANDLE_NOT_VALID: 1810 case FSF_PORT_HANDLE_NOT_VALID:
1808 zfcp_erp_adapter_reopen(unit->port->adapter, 0, 109, req); 1811 zfcp_erp_adapter_reopen(unit->port->adapter, 0, "fsouh_1", req);
1809 /* fall through */ 1812 /* fall through */
1810 case FSF_LUN_ALREADY_OPEN: 1813 case FSF_LUN_ALREADY_OPEN:
1811 break; 1814 break;
@@ -1815,7 +1818,7 @@ static void zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *req)
1815 atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status); 1818 atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status);
1816 break; 1819 break;
1817 case FSF_PORT_BOXED: 1820 case FSF_PORT_BOXED:
1818 zfcp_erp_port_boxed(unit->port, 51, req); 1821 zfcp_erp_port_boxed(unit->port, "fsouh_2", req);
1819 req->status |= ZFCP_STATUS_FSFREQ_ERROR | 1822 req->status |= ZFCP_STATUS_FSFREQ_ERROR |
1820 ZFCP_STATUS_FSFREQ_RETRY; 1823 ZFCP_STATUS_FSFREQ_RETRY;
1821 break; 1824 break;
@@ -1831,7 +1834,7 @@ static void zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *req)
1831 else 1834 else
1832 zfcp_act_eval_err(adapter, 1835 zfcp_act_eval_err(adapter,
1833 header->fsf_status_qual.word[2]); 1836 header->fsf_status_qual.word[2]);
1834 zfcp_erp_unit_access_denied(unit, 60, req); 1837 zfcp_erp_unit_access_denied(unit, "fsouh_3", req);
1835 atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status); 1838 atomic_clear_mask(ZFCP_STATUS_UNIT_SHARED, &unit->status);
1836 atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status); 1839 atomic_clear_mask(ZFCP_STATUS_UNIT_READONLY, &unit->status);
1837 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1840 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
@@ -1842,7 +1845,7 @@ static void zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *req)
1842 "0x%016Lx on port 0x%016Lx\n", 1845 "0x%016Lx on port 0x%016Lx\n",
1843 (unsigned long long)unit->fcp_lun, 1846 (unsigned long long)unit->fcp_lun,
1844 (unsigned long long)unit->port->wwpn); 1847 (unsigned long long)unit->port->wwpn);
1845 zfcp_erp_unit_failed(unit, 34, req); 1848 zfcp_erp_unit_failed(unit, "fsouh_4", req);
1846 /* fall through */ 1849 /* fall through */
1847 case FSF_INVALID_COMMAND_OPTION: 1850 case FSF_INVALID_COMMAND_OPTION:
1848 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1851 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
@@ -1891,9 +1894,9 @@ static void zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *req)
1891 "port 0x%016Lx)\n", 1894 "port 0x%016Lx)\n",
1892 (unsigned long long)unit->fcp_lun, 1895 (unsigned long long)unit->fcp_lun,
1893 (unsigned long long)unit->port->wwpn); 1896 (unsigned long long)unit->port->wwpn);
1894 zfcp_erp_unit_failed(unit, 35, req); 1897 zfcp_erp_unit_failed(unit, "fsouh_5", req);
1895 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1898 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1896 zfcp_erp_unit_shutdown(unit, 0, 80, req); 1899 zfcp_erp_unit_shutdown(unit, 0, "fsouh_6", req);
1897 } else if (!exclusive && readwrite) { 1900 } else if (!exclusive && readwrite) {
1898 dev_err(&adapter->ccw_device->dev, 1901 dev_err(&adapter->ccw_device->dev,
1899 "Shared read-write access not " 1902 "Shared read-write access not "
@@ -1901,9 +1904,9 @@ static void zfcp_fsf_open_unit_handler(struct zfcp_fsf_req *req)
1901 "0x%016Lx)\n", 1904 "0x%016Lx)\n",
1902 (unsigned long long)unit->fcp_lun, 1905 (unsigned long long)unit->fcp_lun,
1903 (unsigned long long)unit->port->wwpn); 1906 (unsigned long long)unit->port->wwpn);
1904 zfcp_erp_unit_failed(unit, 36, req); 1907 zfcp_erp_unit_failed(unit, "fsouh_7", req);
1905 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1908 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1906 zfcp_erp_unit_shutdown(unit, 0, 81, req); 1909 zfcp_erp_unit_shutdown(unit, 0, "fsouh_8", req);
1907 } 1910 }
1908 } 1911 }
1909 break; 1912 break;
@@ -1968,15 +1971,15 @@ static void zfcp_fsf_close_unit_handler(struct zfcp_fsf_req *req)
1968 1971
1969 switch (req->qtcb->header.fsf_status) { 1972 switch (req->qtcb->header.fsf_status) {
1970 case FSF_PORT_HANDLE_NOT_VALID: 1973 case FSF_PORT_HANDLE_NOT_VALID:
1971 zfcp_erp_adapter_reopen(unit->port->adapter, 0, 110, req); 1974 zfcp_erp_adapter_reopen(unit->port->adapter, 0, "fscuh_1", req);
1972 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1975 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1973 break; 1976 break;
1974 case FSF_LUN_HANDLE_NOT_VALID: 1977 case FSF_LUN_HANDLE_NOT_VALID:
1975 zfcp_erp_port_reopen(unit->port, 0, 111, req); 1978 zfcp_erp_port_reopen(unit->port, 0, "fscuh_2", req);
1976 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 1979 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
1977 break; 1980 break;
1978 case FSF_PORT_BOXED: 1981 case FSF_PORT_BOXED:
1979 zfcp_erp_port_boxed(unit->port, 52, req); 1982 zfcp_erp_port_boxed(unit->port, "fscuh_3", req);
1980 req->status |= ZFCP_STATUS_FSFREQ_ERROR | 1983 req->status |= ZFCP_STATUS_FSFREQ_ERROR |
1981 ZFCP_STATUS_FSFREQ_RETRY; 1984 ZFCP_STATUS_FSFREQ_RETRY;
1982 break; 1985 break;
@@ -2215,12 +2218,12 @@ static void zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *req)
2215 switch (header->fsf_status) { 2218 switch (header->fsf_status) {
2216 case FSF_HANDLE_MISMATCH: 2219 case FSF_HANDLE_MISMATCH:
2217 case FSF_PORT_HANDLE_NOT_VALID: 2220 case FSF_PORT_HANDLE_NOT_VALID:
2218 zfcp_erp_adapter_reopen(unit->port->adapter, 0, 112, req); 2221 zfcp_erp_adapter_reopen(unit->port->adapter, 0, "fssfch1", req);
2219 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2222 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2220 break; 2223 break;
2221 case FSF_FCPLUN_NOT_VALID: 2224 case FSF_FCPLUN_NOT_VALID:
2222 case FSF_LUN_HANDLE_NOT_VALID: 2225 case FSF_LUN_HANDLE_NOT_VALID:
2223 zfcp_erp_port_reopen(unit->port, 0, 113, req); 2226 zfcp_erp_port_reopen(unit->port, 0, "fssfch2", req);
2224 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2227 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2225 break; 2228 break;
2226 case FSF_SERVICE_CLASS_NOT_SUPPORTED: 2229 case FSF_SERVICE_CLASS_NOT_SUPPORTED:
@@ -2236,7 +2239,8 @@ static void zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *req)
2236 req->qtcb->bottom.io.data_direction, 2239 req->qtcb->bottom.io.data_direction,
2237 (unsigned long long)unit->fcp_lun, 2240 (unsigned long long)unit->fcp_lun,
2238 (unsigned long long)unit->port->wwpn); 2241 (unsigned long long)unit->port->wwpn);
2239 zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 133, req); 2242 zfcp_erp_adapter_shutdown(unit->port->adapter, 0, "fssfch3",
2243 req);
2240 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2244 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2241 break; 2245 break;
2242 case FSF_CMND_LENGTH_NOT_VALID: 2246 case FSF_CMND_LENGTH_NOT_VALID:
@@ -2246,16 +2250,17 @@ static void zfcp_fsf_send_fcp_command_handler(struct zfcp_fsf_req *req)
2246 req->qtcb->bottom.io.fcp_cmnd_length, 2250 req->qtcb->bottom.io.fcp_cmnd_length,
2247 (unsigned long long)unit->fcp_lun, 2251 (unsigned long long)unit->fcp_lun,
2248 (unsigned long long)unit->port->wwpn); 2252 (unsigned long long)unit->port->wwpn);
2249 zfcp_erp_adapter_shutdown(unit->port->adapter, 0, 134, req); 2253 zfcp_erp_adapter_shutdown(unit->port->adapter, 0, "fssfch4",
2254 req);
2250 req->status |= ZFCP_STATUS_FSFREQ_ERROR; 2255 req->status |= ZFCP_STATUS_FSFREQ_ERROR;
2251 break; 2256 break;
2252 case FSF_PORT_BOXED: 2257 case FSF_PORT_BOXED:
2253 zfcp_erp_port_boxed(unit->port, 53, req); 2258 zfcp_erp_port_boxed(unit->port, "fssfch5", req);
2254 req->status |= ZFCP_STATUS_FSFREQ_ERROR | 2259 req->status |= ZFCP_STATUS_FSFREQ_ERROR |
2255 ZFCP_STATUS_FSFREQ_RETRY; 2260 ZFCP_STATUS_FSFREQ_RETRY;
2256 break; 2261 break;
2257 case FSF_LUN_BOXED: 2262 case FSF_LUN_BOXED:
2258 zfcp_erp_unit_boxed(unit, 54, req); 2263 zfcp_erp_unit_boxed(unit, "fssfch6", req);
2259 req->status |= ZFCP_STATUS_FSFREQ_ERROR | 2264 req->status |= ZFCP_STATUS_FSFREQ_ERROR |
2260 ZFCP_STATUS_FSFREQ_RETRY; 2265 ZFCP_STATUS_FSFREQ_RETRY;
2261 break; 2266 break;
@@ -2388,7 +2393,7 @@ int zfcp_fsf_send_fcp_command_task(struct zfcp_unit *unit,
2388 "on port 0x%016Lx closed\n", 2393 "on port 0x%016Lx closed\n",
2389 (unsigned long long)unit->fcp_lun, 2394 (unsigned long long)unit->fcp_lun,
2390 (unsigned long long)unit->port->wwpn); 2395 (unsigned long long)unit->port->wwpn);
2391 zfcp_erp_unit_shutdown(unit, 0, 131, req); 2396 zfcp_erp_unit_shutdown(unit, 0, "fssfct1", req);
2392 retval = -EINVAL; 2397 retval = -EINVAL;
2393 } 2398 }
2394 goto failed_scsi_cmnd; 2399 goto failed_scsi_cmnd;
diff --git a/drivers/s390/scsi/zfcp_qdio.c b/drivers/s390/scsi/zfcp_qdio.c
index 3d0687090274..c2eb94f6370f 100644
--- a/drivers/s390/scsi/zfcp_qdio.c
+++ b/drivers/s390/scsi/zfcp_qdio.c
@@ -58,7 +58,7 @@ void zfcp_qdio_free(struct zfcp_adapter *adapter)
58 } 58 }
59} 59}
60 60
61static void zfcp_qdio_handler_error(struct zfcp_adapter *adapter, u8 id) 61static void zfcp_qdio_handler_error(struct zfcp_adapter *adapter, char *id)
62{ 62{
63 dev_warn(&adapter->ccw_device->dev, "A QDIO problem occurred\n"); 63 dev_warn(&adapter->ccw_device->dev, "A QDIO problem occurred\n");
64 64
@@ -103,7 +103,7 @@ static void zfcp_qdio_int_req(struct ccw_device *cdev, unsigned int qdio_err,
103 103
104 if (unlikely(qdio_err)) { 104 if (unlikely(qdio_err)) {
105 zfcp_hba_dbf_event_qdio(adapter, qdio_err, first, count); 105 zfcp_hba_dbf_event_qdio(adapter, qdio_err, first, count);
106 zfcp_qdio_handler_error(adapter, 140); 106 zfcp_qdio_handler_error(adapter, "qdireq1");
107 return; 107 return;
108 } 108 }
109 109
@@ -172,7 +172,7 @@ static void zfcp_qdio_int_resp(struct ccw_device *cdev, unsigned int qdio_err,
172 172
173 if (unlikely(qdio_err)) { 173 if (unlikely(qdio_err)) {
174 zfcp_hba_dbf_event_qdio(adapter, qdio_err, first, count); 174 zfcp_hba_dbf_event_qdio(adapter, qdio_err, first, count);
175 zfcp_qdio_handler_error(adapter, 147); 175 zfcp_qdio_handler_error(adapter, "qdires1");
176 return; 176 return;
177 } 177 }
178 178
diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c
index c17505f767a9..2af8cfbc3890 100644
--- a/drivers/s390/scsi/zfcp_scsi.c
+++ b/drivers/s390/scsi/zfcp_scsi.c
@@ -28,7 +28,7 @@ static void zfcp_scsi_slave_destroy(struct scsi_device *sdpnt)
28{ 28{
29 struct zfcp_unit *unit = (struct zfcp_unit *) sdpnt->hostdata; 29 struct zfcp_unit *unit = (struct zfcp_unit *) sdpnt->hostdata;
30 unit->device = NULL; 30 unit->device = NULL;
31 zfcp_erp_unit_failed(unit, 12, NULL); 31 zfcp_erp_unit_failed(unit, "scslvd1", NULL);
32 zfcp_unit_put(unit); 32 zfcp_unit_put(unit);
33} 33}
34 34
@@ -257,7 +257,7 @@ static int zfcp_scsi_eh_host_reset_handler(struct scsi_cmnd *scpnt)
257 struct zfcp_unit *unit = scpnt->device->hostdata; 257 struct zfcp_unit *unit = scpnt->device->hostdata;
258 struct zfcp_adapter *adapter = unit->port->adapter; 258 struct zfcp_adapter *adapter = unit->port->adapter;
259 259
260 zfcp_erp_adapter_reopen(adapter, 0, 141, scpnt); 260 zfcp_erp_adapter_reopen(adapter, 0, "schrh_1", scpnt);
261 zfcp_erp_wait(adapter); 261 zfcp_erp_wait(adapter);
262 262
263 return SUCCESS; 263 return SUCCESS;
diff --git a/drivers/s390/scsi/zfcp_sysfs.c b/drivers/s390/scsi/zfcp_sysfs.c
index 14e38c231f01..9a3b8e261c0a 100644
--- a/drivers/s390/scsi/zfcp_sysfs.c
+++ b/drivers/s390/scsi/zfcp_sysfs.c
@@ -112,9 +112,9 @@ static ZFCP_DEV_ATTR(_feat, failed, S_IWUSR | S_IRUGO, \
112 zfcp_sysfs_##_feat##_failed_show, \ 112 zfcp_sysfs_##_feat##_failed_show, \
113 zfcp_sysfs_##_feat##_failed_store); 113 zfcp_sysfs_##_feat##_failed_store);
114 114
115ZFCP_SYSFS_FAILED(zfcp_adapter, adapter, adapter, 44, 93); 115ZFCP_SYSFS_FAILED(zfcp_adapter, adapter, adapter, "syafai1", "syafai2");
116ZFCP_SYSFS_FAILED(zfcp_port, port, port->adapter, 45, 96); 116ZFCP_SYSFS_FAILED(zfcp_port, port, port->adapter, "sypfai1", "sypfai2");
117ZFCP_SYSFS_FAILED(zfcp_unit, unit, unit->port->adapter, 46, 97); 117ZFCP_SYSFS_FAILED(zfcp_unit, unit, unit->port->adapter, "syufai1", "syufai2");
118 118
119static ssize_t zfcp_sysfs_port_rescan_store(struct device *dev, 119static ssize_t zfcp_sysfs_port_rescan_store(struct device *dev,
120 struct device_attribute *attr, 120 struct device_attribute *attr,
@@ -168,7 +168,7 @@ static ssize_t zfcp_sysfs_port_remove_store(struct device *dev,
168 goto out; 168 goto out;
169 } 169 }
170 170
171 zfcp_erp_port_shutdown(port, 0, 92, NULL); 171 zfcp_erp_port_shutdown(port, 0, "syprs_1", NULL);
172 zfcp_erp_wait(adapter); 172 zfcp_erp_wait(adapter);
173 zfcp_port_put(port); 173 zfcp_port_put(port);
174 zfcp_port_dequeue(port); 174 zfcp_port_dequeue(port);
@@ -222,7 +222,7 @@ static ssize_t zfcp_sysfs_unit_add_store(struct device *dev,
222 222
223 retval = 0; 223 retval = 0;
224 224
225 zfcp_erp_unit_reopen(unit, 0, 94, NULL); 225 zfcp_erp_unit_reopen(unit, 0, "syuas_1", NULL);
226 zfcp_erp_wait(unit->port->adapter); 226 zfcp_erp_wait(unit->port->adapter);
227 zfcp_unit_put(unit); 227 zfcp_unit_put(unit);
228out: 228out:
@@ -268,7 +268,7 @@ static ssize_t zfcp_sysfs_unit_remove_store(struct device *dev,
268 goto out; 268 goto out;
269 } 269 }
270 270
271 zfcp_erp_unit_shutdown(unit, 0, 95, NULL); 271 zfcp_erp_unit_shutdown(unit, 0, "syurs_1", NULL);
272 zfcp_erp_wait(unit->port->adapter); 272 zfcp_erp_wait(unit->port->adapter);
273 zfcp_unit_put(unit); 273 zfcp_unit_put(unit);
274 zfcp_unit_dequeue(unit); 274 zfcp_unit_dequeue(unit);