/*
 * Copyright (c) 2000,2001 by Sun Microsystems, Inc.
 * All rights reserved.
 */

#pragma ident   "@(#)stexpert.rb 1.63     01/07/22 SMI"

1> start ( START ) ? 5 : 5 ;

5> test ( CHECK_DEVICE_STATE ) ? 10 : 6 ;
6> suspect ( DEVICE ) : 99999 ;

/* Test the loop integrity per the target device */
10> test ( STRESS_TEST ) ? 17 : 11 ;
11> test ( IS_DISK_A5K ) ? 14 : 12 ;
12> test ( IS_DISK_FC_INT ) ? 14 : 13 ;
13> test ( IS_TAPE_FC ) ? 15 : 16 ;
14> suspect ( DISK ) : 80 ;
15> suspect ( TAPE_UNIT ) : 80 ;
16> suspect ( LUN ) : 80 ;

/* Stress test passed - is target loop switched? */
17> test ( IS_SWITCHED ) ? 18 : 50 ;
18> test ( IS_EPORT ) ? 22 : 20 ;
20> test ( IPORT_SWITCH_ALIVE ) ? 21 : 8830 ;
21> test ( DPORT_SWITCH_ALIVE ) ? 30 : 8830 ;

/* test switch ports to make sure we can communicate */
22> test ( IPORT_SWITCH_ALIVE ) ? 23 : 8810 ;
23> test ( HBA_EPORT_SWITCH_ALIVE ) ? 24 : 8810 ;
/* if we can't communicate with the remote switch, debug the path to it */
24> test ( DEV_EPORT_SWITCH_ALIVE ) ? 25 : 1005 ;
25> test ( DPORT_SWITCH_ALIVE ) ? 26 : 8820 ;
26> test ( IPORT_ONLINE ) ? 27 : 2030 ;
/* if communication to the switch is O.K. and online fails */
/* isolate both sides of the link */
27> test ( HBA_EPORT_ONLINE ) ? 28 : 1000 ;
28> test ( DEV_EPORT_ONLINE ) ? 29 : 1000 ;
29> test ( DPORT_ONLINE ) ? 30 : 31 ;

/* Switched target loop - test dport */
30> test ( DPORT_TEST ) ? 40 : 31 ;
31> test ( IS_DISK_A5K ) ? 35 : 32 ;
32> test ( IS_DISK_FC_INT ) ? 35 : 33 ;
33> test ( IS_TAPE_FC ) ? 36 : 37 ;
35> suspect ( DISK ) : 100 ;
36> suspect ( TAPE_UNIT ) : 100 ;
37> suspect ( LUN ) : 100 ;

/* Switched target loop - dport okay, test eports and/or iports */
40> test ( IS_EPORT ) ? 41 : 43 ;
41> test ( DEV_EPORT_TEST ) ? 42 : 1000 ;
/* even though DEV_EPORT_TEST passed, isolate both sides of the ISL */
42> test ( HBA_EPORT_TEST ) ? 43 : 1000 ;
43> test ( IPORT_ONLINE ) ? 45 : 2030 ;
45> test ( IS_IPORT_F ) ? 7000 : 49 ;
49> test ( IPORT_TEST ) ? 60 : 2030 ;

/* Target loop is not switched - is HBA a PCI FC-100? */
50> test ( IS_HBA_IFP ) ? 7000 : 60 ;

/* HBA is not a PCI Sun FC-100 - LBF test */
60> test ( LBF_TEST ) ? 7000 : 61 ;
61> test ( IS_DISK_A5K ) ? 65 : 62 ;
62> test ( IS_DISK_FC_INT ) ? 65 : 63 ;
63> test ( IS_TAPE_FC ) ? 66 : 67 ;
65> suspect ( DISK ) : 4000 ;
66> suspect ( TAPE_UNIT ) : 4000 ;
67> suspect ( LUN ) : 4000 ;

/* Is Failing Loop switched? */
80> test ( IS_SWITCHED ) ? 81 : 4000 ;
81> test ( IS_EPORT ) ? 84 : 82 ;

/* test switch ports to make sure we can communicate */
82> test ( IPORT_SWITCH_ALIVE ) ? 83 : 8830 ;
83> test ( DPORT_SWITCH_ALIVE ) ? 90 : 8830 ;
84> test ( IPORT_SWITCH_ALIVE ) ? 85 : 8810 ;
85> test ( HBA_EPORT_SWITCH_ALIVE ) ? 86 : 8810 ;
/* if we can't communicate with the remote switch, debug the path to it */
86> test ( DEV_EPORT_SWITCH_ALIVE ) ? 87 : 1005 ;
87> test ( DPORT_SWITCH_ALIVE ) ? 90 : 8820 ;

/* Loop Integrity test Failed - Start Isolation */
90> test ( CLEAR_PATH_STATUS_BITS ) ? 99 : 99999 ;
99> test ( DPORT_TEST ) ? 2000 : 100 ;

/* DPORT Loop Failed - Start Isolation */ 
100> suspect ( DPORT_GBIC ) : 110 ;
110> suspect ( DPORT_FIBER ) : 120 ;
120> test ( IS_DISK_T3 ) ? 140 : 121 ;
121> test ( IS_DISK_A35FC ) ? 150 : 122 ;
122> test ( IS_TAPE_FC ) ? 150 : 130 ;
130> suspect ( DEV_GBIC ) : 150 ;
140> suspect ( T3_MIA ) : 141 ;
141> suspect ( T3B_FC_ADAPTER ) : 142 ;
142> suspect ( T3B_FC_COUPLER ) : 150 ;
150> suspect ( SWITCH ) : 200 ;

/* Try DPORT GBIC Loopback first */
200> test ( REM_DPORT_FIBER ) ? 201 : 99999 ;
201> test ( INS_DPORT_LB ) ? 202 : 99999 ;
202> test ( CONTINUE ) ? 207 : 99999 ;
207> test ( DPORT_ONLINE ) ? 208 : 220 ;
208> test ( CLEAR_PATH_STATUS_BITS ) ? 209 : 99999 ;
209> test ( DPORT_TEST ) ? 500 : 220 ;

/* Replace DPORT GBIC and try again */
220> test ( REP_DPORT_GBIC ) ? 221 : 99999 ;
221> test ( INS_DPORT_LB ) ? 222 : 99999 ;
222> test ( CONTINUE ) ? 227 : 99999 ;
227> test ( DPORT_ONLINE ) ? 228 : 400 ;
228> test ( CLEAR_PATH_STATUS_BITS ) ? 229 : 99999 ;
229> test ( DPORT_TEST ) ? 250 : 400 ;

/* Passed - DPORT GBIC must be cause - retry loop with new GBIC */
250> test ( IS_DISK_A5K ) ? 255 : 251 ;
251> test ( IS_DISK_FC_INT ) ? 255 : 252 ;
252> test ( IS_TAPE_FC ) ? 256 : 257 ;
255> release ( DISK ) : 260 ;
256> release ( TAPE_UNIT ) : 260 ;
257> release ( LUN ) : 260 ;
260> release ( DPORT_FIBER ) : 270 ;
270> test ( IS_DISK_T3 ) ? 290 : 280 ;
280> release ( DEV_GBIC ) : 300 ;
290> release ( T3_MIA ) : 291 ;
291> release ( T3B_FC_ADAPTER ) : 292 ;
292> release ( T3B_FC_COUPLER ) : 300 ;
300> release ( SWITCH ) : 310 ;
310> test ( REM_DPORT_LB ) ? 320 : 99999 ;
320> test ( REST_DPORT_FIBER ) ? 321 : 99999 ;
321> test ( CONTINUE ) ? 330 : 99999 ;
330> test ( DPORT_ONLINE ) ? 99990 : 99990 ;

/* Ruled out DPORT GBIC - Suspect SWITCH - end */
400> test ( IS_DISK_A5K ) ? 405 : 401 ;
401> test ( IS_DISK_FC_INT ) ? 405 : 402 ;
402> test ( IS_TAPE_FC ) ? 406 : 407 ;
405> release ( DISK ) : 410 ;
406> release ( TAPE_UNIT ) : 410 ;
407> release ( LUN ) : 410 ;
410> release ( DPORT_GBIC ) : 420 ;
420> release ( DPORT_FIBER ) : 430 ;
430> test ( IS_DISK_T3 ) ? 450 : 440 ;
440> release ( DEV_GBIC ) : 460 ;
450> release ( T3_MIA ) : 451 ;
451> release ( T3B_FC_ADAPTER ) : 452 ;
452> release ( T3B_FC_COUPLER ) : 460 ;
460> test ( REST_DPORT_GBIC ) ? 461 : 99999 ;
461> test ( CONTINUE ) ? 470 : 99999 ;
470> test ( DPORT_ONLINE ) ? 99990 : 99990 ;

/* Ruled out DPORT GBIC - Try DEVICE GBIC [or MIA] */
500> release ( DPORT_GBIC ) : 501 ;
501> release ( SWITCH ) : 509 ;
509> test ( REM_DPORT_LB ) ? 510 : 99999 ;
510> test ( REST_DPORT_FIBER ) ? 511 : 99999 ;
511> test ( CONTINUE ) ? 515 : 99999 ;
515> test ( IS_DISK_A35FC ) ? 600 : 516 ;
516> test ( IS_TAPE_FC ) ? 600 : 520 ;
520> test ( IS_DISK_T3 ) ? 531 : 530 ;
530> test ( REP_DEV_GBIC ) ? 532 : 99999 ;
531> test ( REP_DEV_MIA ) ? 532 : 99999 ;
532> test ( CONTINUE ) ? 540 : 99999 ;
540> test ( DPORT_ONLINE ) ? 545 : 600 ;
545> test ( CLEAR_PATH_STATUS_BITS ) ? 550 : 99999 ;
550> test ( DPORT_TEST ) ? 560 : 600 ;

/* New DEV GBIC [or MIA] worked, Suspect DEV GBIC [or MIA] and retry loop */
560> release ( DPORT_FIBER ) : 561 ;
561> test ( IS_DISK_A5K ) ? 570 : 565 ;
565> test ( IS_DISK_FC_INT ) ? 570 : 566 ;
566> test ( IS_TAPE_FC ) ? 571 : 575 ;
570> release ( DISK ) : 99990 ;
571> release ( TAPE_UNIT ) : 99990 ;
575> release ( LUN ) : 99990 ;

/* Ruled out DEV GBIC [or MIA], Try DPORT Fiber */
600> test ( IS_DISK_T3 ) ? 602 : 601 ;
601> release ( DEV_GBIC ) : 615 ;
602> release ( T3_MIA ) : 603 ;
603> release ( T3B_FC_ADAPTER ) : 604 ;
604> release ( T3B_FC_COUPLER ) : 615 ;
615> test ( IS_DISK_A35FC ) ? 622 : 616 ;
616> test ( IS_TAPE_FC ) ? 622 : 617 ;
617> test ( IS_DISK_T3 ) ? 621 : 620 ;
620> test ( REST_DEV_GBIC ) ? 622 : 99999 ;
621> test ( REST_DEV_MIA ) ? 622 : 99999 ;
622> test ( REP_DPORT_FIBER ) ? 623 : 99999 ;
623> test ( CONTINUE ) ? 631 : 99999 ;
631> test ( DPORT_ONLINE ) ? 635 : 700 ;
635> test ( IS_DISK_A5K ) ? 638 : 639 ;
638> test ( IS_DAISY_CHAINED ) ? 639 : 99999 ;
639> test ( CLEAR_PATH_STATUS_BITS ) ? 640 : 99999 ;
640> test ( DPORT_TEST ) ? 650 : 700 ;

/* New DPORT fiber worked, Suspect DPORT Fiber and retry loop */
650> test ( IS_DISK_T3 ) ? 670 : 660 ;
660> release ( DEV_GBIC ) : 680 ;
670> release ( T3_MIA ) : 671 ;
671> release ( T3B_FC_ADAPTER ) : 672 ;
672> release ( T3B_FC_COUPLER ) : 680 ;
680> test ( IS_DISK_A5K ) ? 690 : 685 ;
685> test ( IS_DISK_FC_INT ) ? 690 : 686 ;
686> test ( IS_TAPE_FC ) ? 691 : 695 ;
690> release ( DISK ) : 99990 ;
691> release ( TAPE_UNIT ) : 99990 ;
695> release ( LUN ) : 99990 ;

/* Ruled out DEV FIBER and GBIC [or MIA] - Try Device Isolation */
700> release ( DPORT_FIBER ) : 740 ;
740> test ( REST_DPORT_FIBER ) ? 741 : 99999 ;
741> test ( CONTINUE ) ? 742 : 99999 ;
742> test ( DPORT_ONLINE ) ? 7100 : 7100 ;

/* Fabric target loop - test device side eport */
1000> suspect ( DEV_EPORT_GBIC ) : 1001 ;
1001> suspect ( DEV_EPORT_FIBER ) : 1002 ;
1002> suspect ( HBA_EPORT_GBIC ) : 1003 ;
1003> suspect ( REMOTE_SWITCH ) : 1004 ;
1004> suspect ( LOCAL_SWITCH ) : 1010 ;

/* Fabric target loop - test HBA device side eport */
1005> suspect ( DEV_EPORT_GBIC ) : 1006 ;
1006> suspect ( DEV_EPORT_FIBER ) : 1007 ;
1007> suspect ( HBA_EPORT_GBIC ) : 1008 ;
1008> suspect ( REMOTE_SWITCH ) : 1009 ;
1009> suspect ( LOCAL_SWITCH ) : 1040 ;

/* device side eport test failed, insert a device side loopback */
1010> test ( REM_DEV_EPORT_FIBER ) ? 1011 : 99999 ;
1011> test ( INS_DEV_EPORT_LB ) ? 1012 : 99999 ;
1012> test ( CONTINUE ) ? 1013 : 99999 ;
1013> test ( DEV_EPORT_ONLINE ) ? 1015 : 1020 ;
1015> test ( CLEAR_PATH_STATUS_BITS ) ? 1016 : 99999 ;
1016> test ( DEV_EPORT_TEST ) ? 1017 : 1020 ;
1017> test ( REM_DEV_EPORT_LB ) ? 1018 : 99999 ;
1018> test ( REST_DEV_EPORT_FIBER ) ? 1019 : 99999 ;
1019> test ( CONTINUE ) ? 1040 : 99999 ;

/* device side eport test failed w/LB, insert a new GBIC and retest */
1020> test ( REP_DEV_EPORT_GBIC ) ? 1021 : 99999 ;
1021> test ( INS_DEV_EPORT_LB ) ? 1022 : 99999 ;
1022> test ( CONTINUE ) ? 1030 : 99999 ;
1030> test ( DEV_EPORT_ONLINE ) ? 1032 : 1034 ;
1032> test ( CLEAR_PATH_STATUS_BITS ) ? 1033 : 99999 ;
1033> test ( DEV_EPORT_TEST ) ? 1037 : 1034 ;
1034> test ( REST_DEV_EPORT_GBIC ) ? 1035 : 99999 ;
1035> test ( REM_DEV_EPORT_LB ) ? 1036 : 99999 ;
1036> test ( REST_DEV_EPORT_FIBER ) ? 1110 : 99999 ;
1037> test ( REM_DEV_EPORT_LB ) ? 1038 : 99999 ;
1038> test ( REST_DEV_EPORT_FIBER ) ? 1039 : 99999 ;
1039> test ( CONTINUE ) ? 1120 : 99999 ;

/* device side eport test passed w/LB, insert a hba side loopback */
1040> test ( REM_HBA_EPORT_FIBER ) ? 1041 : 99999 ;
1041> test ( INS_HBA_EPORT_LB ) ? 1042 : 99999 ;
1042> test ( CONTINUE ) ? 1043 : 99999 ;
1043> test ( HBA_EPORT_ONLINE ) ? 1045 : 1060 ;
1045> test ( CLEAR_PATH_STATUS_BITS ) ? 1046 : 99999 ;
1046> test ( HBA_EPORT_TEST ) ? 1047 : 1060 ;
1047> test ( REM_HBA_EPORT_LB ) ? 1048 : 99999 ;
1048> test ( CONTINUE ) ? 1080 : 99999 ;

/* hba side eport test failed w/LB, insert a new GBIC and retest */
1060> test ( REP_HBA_EPORT_GBIC ) ? 1061 : 99999 ;
1061> test ( INS_HBA_EPORT_LB ) ? 1062 : 99999 ;
1062> test ( CONTINUE ) ? 1064 : 99999 ;
1064> test ( HBA_EPORT_ONLINE ) ? 1065 : 1067 ;
1065> test ( CLEAR_PATH_STATUS_BITS ) ? 1066 : 99999 ;
1066> test ( HBA_EPORT_TEST ) ? 1077 : 1067 ;
1067> test ( REST_HBA_EPORT_GBIC ) ? 1068 : 99999 ;
1068> test ( REM_HBA_EPORT_LB ) ? 1069 : 99999 ;
1069> test ( REST_HBA_EPORT_FIBER ) ? 1110 : 99999 ;
1077> test ( REM_HBA_EPORT_LB ) ? 1078 : 99999 ;
1078> test ( REST_HBA_EPORT_FIBER ) ? 1079 : 99999 ;
1079> test ( CONTINUE ) ? 1130 : 99999 ;

/* device side and hba side eport tests passed w/LB, try a new fiber */
1080> test ( REP_DEV_EPORT_FIBER ) ? 1081 : 99999 ;
1081> test ( CONTINUE ) ? 1082 : 99999 ;
1082> test ( DEV_EPORT_ONLINE ) ? 1083 : 1087 ;
1083> test ( HBA_EPORT_ONLINE ) ? 1084 : 1087 ;
1084> test ( HBA_ONLINE ) ? 1085 : 1089 ;
1085> test ( CLEAR_PATH_STATUS_BITS ) ? 1086 : 99999 ;
1086> test ( DEV_EPORT_TEST ) ? 1140 : 1087 ;
1087> test ( REST_DEV_EPORT_FIBER ) ? 1088 : 99999 ;
/* if we can't even talk to the switch assume 1 ISL link or dead switch */
1088> test ( DEV_EPORT_SWITCH_ALIVE ) ? 1089 : 1090 ;
/* otherwise assume we already tested the remote GBIC and go on */
1089> test ( CONTINUE ) ? 1110 : 99999 ;

/* Can not communicate with remote switch, tried local GBIC and fiber */
/* Now try the remote GBIC */
1090> test ( REP_DEV_EPORT_GBIC ) ? 1091 : 99999 ;
1091> test ( CONTINUE ) ? 1092 : 99999 ;
1092> test ( DEV_EPORT_SWITCH_ALIVE ) ? 1093 : 1096 ;
1093> test ( DEV_EPORT_ONLINE ) ? 1094 : 1096 ;
1094> test ( CLEAR_PATH_STATUS_BITS ) ? 1095 : 99999 ;
1095> test ( DEV_EPORT_TEST ) ? 1099 : 1096 ;
1096> test ( REST_DEV_EPORT_GBIC ) ? 1110 : 99999 ;
1099> test ( CONTINUE ) ? 1120 : 99999 ;

/* new device side GBICs and fiber failed, suspect Switch */
1110> release ( DEV_EPORT_GBIC ) : 1111 ;
1111> release ( DEV_EPORT_FIBER ) : 1112 ;
1112> release ( HBA_EPORT_GBIC ) : 1115 ;
1115> test ( DEV_EPORT_ONLINE ) ? 1116 : 1118 ;
1116> test ( HBA_EPORT_ONLINE ) ? 1117 : 1119 ;
1117> test ( HBA_EPORT_TEST ) ? 1118 : 1119 ;
1118> release ( LOCAL_SWITCH ) : 1160 ;
1119> release ( REMOTE_SWITCH ) : 1160 ;

/* eport test passed with new device side gbic, restore loop and restest */
1120> release ( REMOTE_SWITCH ) : 1122 ;
1122> release ( DEV_EPORT_FIBER ) : 1123 ;
1123> release ( HBA_EPORT_GBIC ) : 1124 ;
1124> release ( LOCAL_SWITCH ) : 1150 ;

/* eport test passed with new hba side gbic, restore loop and restest */
1130> release ( DEV_EPORT_GBIC ) : 1131 ;
1131> release ( REMOTE_SWITCH ) : 1132 ;
1132> release ( DEV_EPORT_FIBER ) : 1134 ;
1134> release ( LOCAL_SWITCH ) : 1150 ;

/* eport test passed with new eport fiber, restore loop and restest */
1140> release ( DEV_EPORT_GBIC ) : 1141 ;
1141> release ( REMOTE_SWITCH ) : 1143 ;
1143> release ( HBA_EPORT_GBIC ) : 1144 ;
1144> release ( LOCAL_SWITCH ) : 1150 ;

1150> test ( IS_DISK_A5K ) ? 1154 : 1152 ;
1152> test ( IS_DISK_FC_INT ) ? 1154 : 1153 ;
1153> test ( IS_TAPE_FC ) ? 1155 : 1156 ;
1154> release ( DISK ) : 1159 ;
1155> release ( TAPE_UNIT ) : 1159 ;
1156> release ( LUN ) : 1159 ;
1159> test ( CLEAR_PATH_STATUS_BITS ) ? 99990 : 99999 ;

1160> test ( IS_DISK_A5K ) ? 1164 : 1162 ;
1162> test ( IS_DISK_FC_INT ) ? 1164 : 1163 ;
1163> test ( IS_TAPE_FC ) ? 1165 : 1166 ;
1164> release ( DISK ) : 1169 ;
1165> release ( TAPE_UNIT ) : 1169 ;
1166> release ( LUN ) : 1169 ;
1169> test ( CLEAR_PATH_STATUS_BITS ) ? 99999 : 99999 ;

/* dport okay, test eports or iports loop to HBA */
2000> test ( CLEAR_PATH_STATUS_BITS ) ? 2001 : 99999 ;
2001> test ( IS_EPORT ) ? 2002 : 2004 ;
2002> test ( DEV_EPORT_TEST ) ? 2003 : 1000 ;
2003> test ( HBA_EPORT_TEST ) ? 2004 : 1005 ;
2004> test ( IPORT_ONLINE ) ? 2005 : 2030 ;
2005> test ( IS_IPORT_F ) ? 2010 : 2009 ;
2009> test ( IPORT_TEST ) ? 2010 : 2030 ;

/* IPORT loop test passes, if HBA is not PCI FC-100 then run LBF as well */
/* if F port, we can not run LBF */
2010> test ( IS_HBA_IFP ) ? 7000 : 2011 ;
2011> test ( HBA_ONLINE ) ? 2015 : 2030 ;
2015> test ( IS_IPORT_F ) ? 7000 : 2020 ;
2020> test ( LBF_TEST ) ? 7000 : 2030 ;

2030> test ( IS_DISK_A5K ) ? 2034 : 2032 ;
2032> test ( IS_DISK_FC_INT ) ? 2034 : 2033 ;
2033> test ( IS_TAPE_FC ) ? 2035 : 2036 ;
2034> release ( DISK ) : 2038 ;
2035> release ( TAPE_UNIT ) : 2038 ;
2036> release ( LUN ) : 2038 ;
2038> suspect ( IPORT_GBIC ) : 2040 ;
2040> suspect ( IPORT_FIBER ) : 2050 ;
2050> test ( IS_HBA_SOC ) ? 2060 : 2070 ;
2060> suspect ( HBA_GBIC ) : 2070 ;
2070> suspect ( HBA ) : 2080 ;
2080> test ( IS_EPORT ) ? 2081 : 2082 ;
2081> suspect ( LOCAL_SWITCH ) : 2100 ;
2082> suspect ( SWITCH ) : 2100 ;

/* IPORT Loop Failed - Start Isolation */ 
2100> test ( REM_IPORT_FIBER ) ? 2105 : 99999 ;
2105> test ( INS_IPORT_LB ) ? 2106 : 99999 ;
2106> test ( CONTINUE ) ? 2109 : 99999 ;
2109> test ( IPORT_ONLINE ) ? 2110 : 2118 ;
2110> test ( CLEAR_PATH_STATUS_BITS ) ? 2111 : 99999 ;
2111> test ( IPORT_TEST ) ? 2300 : 2118 ;
2118> test ( REM_IPORT_LB ) ? 2119 : 99999 ;
2119> test ( CONTINUE ) ? 2120 : 99999 ;

/* Replace IPORT GBIC and try again */
2120> test ( REP_IPORT_GBIC ) ? 2130 : 99999 ;
2130> test ( INS_IPORT_LB ) ? 2131 : 99999 ;
2131> test ( CONTINUE ) ? 2132 : 99999 ;
2132> test ( IPORT_ONLINE ) ? 2133 : 2250 ;
2133> test ( CLEAR_PATH_STATUS_BITS ) ? 2140 : 99999 ;
2140> test ( IPORT_TEST ) ? 2200 : 2250 ;

/* Passed - IPORT GBIC must be the cause - retry loop with new GBIC */
2200> test ( IS_EPORT ) ? 2201 : 2202 ;
2201> release ( LOCAL_SWITCH ) : 2210 ;
2202> release ( SWITCH ) : 2210 ;
2210> release ( IPORT_FIBER ) : 2220 ;
2220> test ( IS_HBA_SOC ) ? 2230 : 2240 ;
2230> release ( HBA_GBIC ) : 2240 ;
2240> release ( HBA ) : 2242 ;
2242> test ( REM_IPORT_LB ) ? 2245 : 99999 ;
2245> test ( REST_IPORT_FIBER ) ? 2246 : 99999 ;
2246> test ( CONTINUE ) ? 2247 : 99999 ;
2247> test ( IPORT_ONLINE ) ? 2248 : 99999 ;
2248> test ( HBA_ONLINE ) ? 99990 : 99999 ;

/* Ruled out IPORT GBIC - suspect SWITCH */
2250> release ( IPORT_GBIC ) : 2260 ;
2260> release ( IPORT_FIBER ) : 2270 ;
2270> test ( IS_HBA_SOC ) ? 2280 : 2290 ;
2280> release ( HBA_GBIC ) : 2290 ;
2290> release ( HBA ) : 2295 ;
2295> test ( REST_IPORT_GBIC ) ? 2296 : 99999 ;
2296> test ( REP_IPORT_FIBER ) ? 2297 : 99999 ;
2297> test ( CONTINUE ) ? 2298 : 99999 ;
2298> test ( IPORT_ONLINE ) ? 2299 : 99999 ;
2299> test ( HBA_ONLINE ) ? 99999 : 99999 ;

/* Ruled out IPORT GBIC, try IPORT Fiber */
2300> release ( IPORT_GBIC ) : 2310 ;
2310> test ( IS_EPORT ) ? 2311 : 2312 ;
2311> release ( LOCAL_SWITCH ) : 2320 ;
2312> release ( SWITCH ) : 2320 ;
2320> test ( REM_IPORT_LB ) ? 2330 : 99999 ;
2330> test ( REP_IPORT_FIBER ) ? 2331 : 99999 ;
2331> test ( CONTINUE ) ? 2335 : 99999 ;
2335> test ( IPORT_ONLINE ) ? 2336 : 2500 ;
2336> test ( CLEAR_PATH_STATUS_BITS ) ? 2337 : 99999 ;
2337> test ( IS_IPORT_F ) ? 2350 : 2340 ;
2340> test ( IPORT_TEST ) ? 2350 : 2500 ;

/* If IPORT test passed, and HBA is not PCI FC-100 then run LBF as well */
/* if an F port, we can NOT run LBF */
2350> test ( IS_HBA_IFP ) ? 2370 : 2351 ;
2351> test ( HBA_ONLINE ) ? 2355 : 2500 ;
2355> test ( IS_IPORT_F ) ? 2370 : 2360 ;
2360> test ( LBF_TEST ) ? 2370 : 2500 ;

/* New IPORT Fiber worked, Suspect bad IPORT Fiber and retry loop */
2370> test ( IS_HBA_SOC ) ? 2380 : 2390 ;
2380> release ( HBA_GBIC ) : 2390 ;
2390> release ( HBA ) : 99990 ;

/* Ruled out IPORT Fiber - Try HBA */
2500> test ( REST_IPORT_FIBER ) ? 2501 : 99999 ;
2501> test ( CONTINUE ) ? 2502 : 99999 ;
2502> release ( IPORT_FIBER ) : 2503 ;
2503> test ( IPORT_ONLINE ) ? 2504 : 2520 ;
2504> test ( HBA_ONLINE ) ? 2520 : 2520 ;

/* Test Sbus FC-100 HBA */
2520> test ( IS_HBA_SOC ) ? 2530 : 2800 ;
2530> test ( SOC_CORE ) ? 2550 : 2540 ;

/* SBus FC-100 HBA Failed */
2540> release ( HBA_GBIC ) : 99999 ;

/* SBus FC-100 HBA okay, Try HBA GBIC */
2550> release ( HBA ) : 2551 ;
2551> test ( INS_HBA_LB ) ? 2552 : 99999 ;
2552> test ( CONTINUE ) ? 2561 : 99999 ;
2561> test ( HBA_ONLINE ) ? 2570 : 2700 ;
2570> test ( SOC_EXT_LOOP ) ? 2580 : 2700 ;

/* HBA GBIC passes, Might be intermittant - retest loop */
2580> release ( HBA_GBIC ) : 2581 ;
2581> test ( REM_HBA_LB ) ? 2582 : 99999 ;
2582> test ( REST_HBA_FIBER ) ? 2583 : 99999 ;
2583> test ( CONTINUE ) ? 2591 : 99999 ;
2591> test ( HBA_ONLINE ) ? 2593 : 2520 ;
2593> test ( IS_DISK_A5K ) ? 2597 : 2595 ;
2595> test ( IS_DISK_FC_INT ) ? 2597 : 2596 ;
2596> test ( IS_TAPE_FC ) ? 2598 : 2599 ;
2597> release ( DISK ) : 99990 ;
2598> release ( TAPE_UNIT ) : 99990 ;
2599> release ( LUN ) : 99990 ;

/* Suspect HBA GBIC, Replace and retest */
2700> test ( REM_HBA_LB ) ? 2705 : 99999 ;
2705> test ( REP_HBA_GBIC ) ? 2706 : 99999 ;
2706> test ( INS_HBA_LB ) ? 2707 : 99999 ;
2707> test ( CONTINUE ) ? 2711 : 99999 ;
2711> test ( HBA_ONLINE ) ? 2720 : 2730 ;
2720> test ( SOC_EXT_LOOP ) ? 2723 : 2730 ;
2723> test ( REM_HBA_LB ) ? 2726 : 99999 ;
2726> test ( REST_HBA_FIBER ) ? 2727 : 99999 ;
2727> test ( CONTINUE ) ? 2728 : 99999 ;
2728> test ( HBA_ONLINE ) ? 99990 : 2520 ;

/* Still fails with new HBA GBIC, Might be intermittant - retest loop */
2730> suspect ( HBA ) : 2735 ;
2735> test ( REM_HBA_LB ) ? 2740 : 99999 ;
2740> test ( REST_HBA_FIBER ) ? 2741 : 99999 ;
2741> test ( CONTINUE ) ? 2750 : 99999 ;
2750> test ( HBA_ONLINE ) ? 99990 : 99999 ;

/* Test PCI FC-100 [QLC2100] HBA */
2800> test ( IS_HBA_IFP ) ? 2810 : 2900 ;
2810> test ( IFP_CORE ) ? 2820 : 99999 ;

/* HBA Passed, Might be intermittant - retest loop */
2820> release ( HBA ) : 2830 ;
2830> test ( REST_HBA_FIBER ) ? 2831 : 99999 ;
2831> test ( CONTINUE ) ? 2840 : 99999 ;
2840> test ( HBA_ONLINE ) ? 99990 : 99999 ;

/* Test PCI FC-100/2P [QLC2202] HBA */
2900> test ( IS_HBA_QLC ) ? 2910 : 3000 ;
2910> test ( QLC_CORE ) ? 2920 : 99999 ;

/* HBA Passed, Try Internal Datapath tests */
2920> test ( QLC_INT_LOOP ) ? 2930 : 99999 ;

/* HBA Passed, Try External Datapath tests */
2930> test ( REM_HBA_FIBER ) ? 2931 : 99999 ;
2931> test ( INS_HBA_LB ) ? 2932 : 99999 ;
2932> test ( CONTINUE ) ? 2933 : 99999 ;
2933> test ( HBA_ONLINE ) ? 2940 : 99999 ;
2940> test ( QLC_EXT_LOOP ) ? 2950 : 99999 ;

/* HBA Passed, Might be intermittant - retest loop */
2950> release ( HBA ) : 2960 ;
2960> test ( REM_HBA_LB ) ? 2970 : 99999 ;
2970> test ( REST_HBA_FIBER ) ? 2971 : 99999 ;
2971> test ( CONTINUE ) ? 2980 : 99999 ;
2980> test ( HBA_ONLINE ) ? 99990 : 99999 ;

/* Unsupported HBA type */
3000> release ( HBA ) : 3010 ;
3010> suspect ( UNSUPPORTED_HBA ) : 99999 ;

/* Direct Connected Storage Algorithm */
4000> suspect ( HBA ) : 4010 ;
4010> test ( IS_HBA_SOC ) ? 4020 : 4030 ;
4020> suspect ( HBA_GBIC ) : 4030 ;
4030> suspect ( DEV_FIBER ) : 4040 ;
4040> test ( IS_DISK_T3 ) ? 4050 : 4060 ;
4050> suspect ( T3_MIA ) : 4051 ;
4051> suspect ( T3B_FC_ADAPTER ) : 4052 ;
4052> suspect ( T3B_FC_COUPLER ) : 5000 ;
4060> test ( IS_DISK_A35FC ) ? 5000 : 4061 ;
4061> test ( IS_TAPE_FC ) ? 5000 : 4070 ;
4070> suspect ( DEV_GBIC ) : 5000 ;

/* Start Isolation at HBA */
5000> test ( IS_HBA_IFP ) ? 5001 : 5010 ;
5001> test ( REM_HBA_FIBER ) ? 5002 : 99999 ;
5002> test ( CONTINUE ) ? 5300 : 99999 ;
5010> test ( REM_HBA_FIBER ) ? 5020 : 99999 ;
5020> test ( INS_HBA_LB ) ? 5021 : 99999 ;
5021> test ( CONTINUE ) ? 5022 : 99999 ;
5022> test ( HBA_ONLINE ) ? 5030 : 5040 ;
5030> test ( LBF_TEST ) ? 5690 : 5040 ;

/* Failed Loopback - if HBA is Sbus FC-100, replace GBIC and retest */
5040> test ( IS_HBA_SOC ) ? 5045 : 5150 ;
5045> test ( REM_HBA_LB ) ? 5050 : 99999 ;
5050> test ( REP_HBA_GBIC ) ? 5060 : 99999 ;
5060> test ( INS_HBA_LB ) ? 5061 : 99999 ;
5061> test ( CONTINUE ) ? 5062 : 99999 ;
5062> test ( HBA_ONLINE ) ? 5070 : 5150 ;
5070> test ( LBF_TEST ) ? 5080 : 5150 ;

/* Sbus FC-100 HBA GBIC Defective - Retest loop with new GBIC */
5080> release ( HBA ) : 5085 ;
5085> test ( IS_DISK_A5K ) ? 5095 : 5090 ;
5090> test ( IS_DISK_FC_INT ) ? 5095 : 5091 ;
5091> test ( IS_TAPE_FC ) ? 5096 : 5097 ;
5095> release ( DISK ) : 5100 ;
5096> release ( TAPE_UNIT ) : 5100 ;
5097> release ( LUN ) : 5100 ;
5100> release ( DEV_FIBER ) : 5110 ;
5110> test ( IS_DISK_T3 ) ? 5120 : 5130 ;
5120> release ( T3_MIA ) : 5121 ;
5121> release ( T3B_FC_ADAPTER ) : 5122 ;
5122> release ( T3B_FC_COUPLER ) : 5135 ;
5130> release ( DEV_GBIC ) : 5135 ;
5135> test ( REM_HBA_LB ) ? 5140 : 99999 ;
5140> test ( REST_HBA_FIBER ) ? 5141 : 99999 ;
5141> test ( CONTINUE ) ? 5145 : 99999 ;
5145> test ( HBA_ONLINE ) ? 99990 : 99990 ;

/* Not HBA GBIC - Try HBA Core */
5150> test ( IS_HBA_SOC ) ? 5160 : 5155 ;
5155> test ( REM_HBA_LB ) ? 5156 : 99999 ;
5156> test ( CONTINUE ) ? 5200 : 99999 ;
5160> release ( HBA_GBIC ) : 5165 ;
5165> test ( REM_HBA_LB ) ? 5170 : 99999 ;
5170> test ( REST_HBA_GBIC ) ? 5171 : 99999 ;
5171> test ( CONTINUE ) ? 5200 : 99999 ;

/* Test HBA Core */
5200> test ( IS_HBA_IFP ) ? 5300 : 5210 ;
5210> test ( IS_HBA_SOC ) ? 5400 : 5220 ;
5220> test ( IS_HBA_QLC ) ? 5500 : 5600 ;

/* PCI FC-100 Core test */
5300> test ( IFP_CORE ) ? 5700 : 5310 ;

/* PCI FC-100 Core Failed */
5310> release ( DEV_FIBER ) : 5320 ;
5320> test ( IS_DISK_T3 ) ? 5330 : 5340 ;
5330> release ( T3_MIA ) : 5331 ;
5331> release ( T3B_FC_ADAPTER ) : 5332 ;
5332> release ( T3B_FC_COUPLER ) : 5350 ;
5340> release ( DEV_GBIC ) : 5350 ;
5350> test ( REST_HBA_FIBER ) ? 5351 : 99999 ;
5351> test ( CONTINUE ) ? 5355 : 99999 ;
5355> test ( HBA_ONLINE ) ? 5360 : 5360 ;
5360> test ( IS_DISK_A5K ) ? 5380 : 5370 ;
5370> test ( IS_DISK_FC_INT ) ? 5380 : 5371 ;
5371> test ( IS_TAPE_FC ) ? 5381 : 5390 ;
5380> release ( DISK ) : 99999 ;
5381> release ( TAPE_UNIT ) : 99999 ;
5390> release ( LUN ) : 99999 ;

/* SBUS FC-100 Core test */
5400> test ( SOC_CORE ) ? 5700 : 5410 ;

/* SBUS FC-100 Core Failed */
5410> test ( IS_DISK_A5K ) ? 5415 : 5411 ;
5411> test ( IS_DISK_FC_INT ) ? 5415 : 5412 ;
5412> test ( IS_TAPE_FC ) ? 5416 : 5417 ;
5415> release ( DISK ) : 5420 ;
5416> release ( TAPE_UNIT ) : 5420 ;
5417> release ( LUN ) : 5420 ;
5420> release ( DEV_FIBER ) : 5430 ;
5430> test ( IS_DISK_T3 ) ? 5440 : 5450 ;
5440> release ( T3_MIA ) : 5441 ;
5441> release ( T3B_FC_ADAPTER ) : 5442 ;
5442> release ( T3B_FC_COUPLER ) : 5460 ;
5450> release ( DEV_GBIC ) : 5460 ;
5460> test ( REST_HBA_FIBER ) ? 5471 : 99999 ;
5471> test ( CONTINUE ) ? 5470 : 99999 ;
5470> test ( HBA_ONLINE ) ? 99999 : 99999 ;

/* PCI FC-100/2P Core Test */
5500> test ( QLC_CORE ) ? 5510 : 5550 ;

/* PCI FC-100/2P Core Passed - Try Internal Loopback */
5510> test ( QLC_INT_LOOP ) ? 5520 : 5550 ;

/* PCI FC-100/2P Int Loop Passed - Try External Loopback */
5520> test ( INS_HBA_LB ) ? 5521 : 99999 ;
5521> test ( CONTINUE ) ? 5522 : 99999 ;
5522> test ( HBA_ONLINE ) ? 5530 : 5540 ;
5530> test ( QLC_EXT_LOOP ) ? 5690 : 5540 ;
5540> test ( REM_HBA_LB ) ? 5541 : 99999 ;
5541> test ( CONTINUE ) ? 5550 : 99999 ;

/* PCI FC-100/2P HBA Failed */
5550> test ( IS_DISK_A5K ) ? 5555 : 5551 ;
5551> test ( IS_DISK_FC_INT ) ? 5555 : 5552 ;
5552> test ( IS_TAPE_FC ) ? 5556 : 5557 ;
5555> release ( DISK ) : 5560 ;
5556> release ( TAPE_UNIT ) : 5560 ;
5557> release ( LUN ) : 5560 ;
5560> release ( DEV_FIBER ) : 5570 ;
5570> test ( IS_DISK_T3 ) ? 5580 : 5590 ;
5580> release ( T3_MIA ) : 5581 ;
5581> release ( T3B_FC_ADAPTER ) : 5582 ;
5582> release ( T3B_FC_COUPLER ) : 5595 ;
5590> release ( DEV_GBIC ) : 5595 ;
5595> test ( REST_HBA_FIBER ) ? 5596 : 99999 ;
5596> test ( CONTINUE ) ? 5597 : 99999 ;
5597> test ( HBA_ONLINE ) ? 99999 : 99999 ;

/* Unsupported HBA Type */
5600> release ( HBA ) : 5610 ;
5610> test ( IS_DISK_A5K ) ? 5615 : 5611 ;
5611> test ( IS_DISK_FC_INT ) ? 5615 : 5612 ;
5612> test ( IS_TAPE_FC ) ? 5616 : 5617 ;
5615> release ( DISK ) : 5620 ;
5616> release ( TAPE_UNIT ) : 5620 ;
5617> release ( LUN ) : 5620 ;
5620> release ( DEV_FIBER ) : 5630 ;
5630> test ( IS_DISK_T3 ) ? 5640 : 5650 ;
5640> release ( T3_MIA ) : 5641 ;
5641> release ( T3B_FC_ADAPTER ) : 5642 ;
5642> release ( T3B_FC_COUPLER ) : 5660 ;
5650> release ( DEV_GBIC ) : 5660 ;
5660> suspect ( UNSUPPORTED_HBA ) : 99999 ;

/* Not HBA - Remove HBA Loopback */
5690> test ( IS_HBA_SOC ) ? 5691 : 5692 ;
5691> release ( HBA_GBIC ) : 5692 ;
5692> test ( REM_HBA_LB ) ? 5693 : 99999 ;
5693> test ( CONTINUE ) ? 5700 : 99999 ;

/* HBA is not problem - Try Device Optical Connection */
5700> release ( HBA ) : 5705 ;
5705> test ( IS_DISK_A35FC ) ? 6000 : 5706 ;
5706> test ( IS_TAPE_FC ) ? 6000 : 5710 ;
5710> test ( REST_DEV_FIBER ) ? 5720 : 99999 ;
5720> test ( IS_DISK_T3 ) ? 5730 : 5742 ;
5730> test ( REP_DEV_MIA ) ? 5743 : 99999 ;
5742> test ( REP_DEV_GBIC ) ? 5743 : 99999 ;
5743> test ( CONTINUE ) ? 5745 : 99999 ;
5745> test ( HBA_ONLINE ) ? 5750 : 5780 ;
5750> test ( STRESS_TEST ) ? 5760 : 5780 ;
5760> test ( IS_HBA_IFP ) ? 5900 : 5765 ;
5765> test ( IS_IPORT_F ) ? 5900 : 5770 ;
5770> test ( LBF_TEST ) ? 5900 : 5780 ;

/* Restore Device Optical Connection */
5780> test ( IS_DISK_T3 ) ? 5790 : 5810 ;
5790> test ( REST_DEV_MIA ) ? 5791 : 99999 ;
5791> test ( CONTINUE ) ? 5792 : 99999 ;
5792> test ( HBA_ONLINE ) ? 5800 : 5800 ;
5800> release ( T3_MIA ) : 5801 ;
5801> release ( T3B_FC_ADAPTER ) : 5802 ;
5802> release ( T3B_FC_COUPLER ) : 6000 ;
5810> test ( IS_DISK_A35FC ) ? 5815 : 5811 ;
5811> test ( IS_TAPE_FC ) ? 5815 : 5812 ;
5812> test ( REST_DEV_GBIC ) ? 5813 : 99999 ;
5813> test ( CONTINUE ) ? 5815 : 99999 ;
5815> test ( HBA_ONLINE ) ? 5820 : 5820 ;
5820> release ( DEV_GBIC ) : 6000 ;

/* Replacement Device Optical Connection works - retry loop */
5900> release ( DEV_FIBER ) : 5901 ;
5901> test ( IS_DISK_A5K ) ? 5910 : 5905 ;
5905> test ( IS_DISK_FC_INT ) ? 5910 : 5906 ;
5906> test ( IS_TAPE_FC ) ? 5911 : 5920 ;
5910> release ( DISK ) : 99990 ;
5911> release ( TAPE_UNIT ) : 99990 ;
5920> release ( LUN ) : 99990 ;

/* HBA and Optical Devices Okay - Try Fiber */
6000> test ( IS_HBA_SOC ) ? 6005 : 6010 ;
6005> release ( HBA_GBIC ) : 6010 ;
6010> test ( REP_DEV_FIBER ) ? 6011 : 99999 ;
6011> test ( CONTINUE ) ? 6012 : 99999 ;
6012> test ( HBA_ONLINE ) ? 6013 : 6013 ;
6013> test ( IS_HUB_CONFIG ) ? 6014 : 99999 ;
6014> test ( CONTINUE ) ? 6015 : 99999 ;
6015> test ( IS_DISK_A5K ) ? 6018 : 6020 ;
6018> test ( IS_DAISY_CHAINED ) ? 6019 : 99999 ;
6019> test ( CONTINUE ) ? 6020 : 99999 ;
6020> test ( STRESS_TEST ) ? 6030 : 6045 ;
6030> test ( IS_HBA_IFP ) ? 6100 : 6035 ;
6035> test ( IS_IPORT_F ) ? 6100: 6040 ;
6040> test ( LBF_TEST ) ? 6100 : 6045 ;
6045> release ( DEV_FIBER ) : 7100 ;

/* Replacement FIBER works - Suspect Fiber and retry loop */
6100> test ( IS_DISK_A5K ) ? 6150 : 6140 ;
6140> test ( IS_DISK_FC_INT ) ? 6150 : 6141 ;
6141> test ( IS_TAPE_FC ) ? 6151 : 6160 ;
6150> release ( DISK ) : 99990 ;
6151> release ( TAPE_UNIT ) : 99990 ;
6160> release ( LUN ) : 99990 ;

/* Try isolating device */
7000> test ( IS_DISK_A5K ) ? 7010 : 8000 ;
7010> test ( IS_A5K_DISK_INSTALLED ) ? 7020 : 10200 ;
7020> test ( IS_A5K_DISK_ONLINE ) ? 7030 : 10100 ;
7030> test ( A5K_DISK ) ? 7040 : 7130 ;
7040> release ( DISK ) : 99999 ;

/* Try A5K Loop Isolation - See log for results */
7100> test ( IS_DISK_A5K ) ? 7110 : 8000 ;
7110> test ( IS_A5K_DISK_INSTALLED ) ? 7120 : 10200 ;
7120> test ( IS_A5K_DISK_ONLINE ) ? 7130 : 10100 ;
7130> suspect ( DISK ) : 7131 ;
7131> test ( A5K_WR_BUF_ISOLATION ) ? 7140 : 99999 ;
7140> test ( A5K_SES_ISOLATION ) ? 7150 : 99999 ;

/* A5K Loop Isolation Passed - Could be intermittant, retest loop */
7150> release ( DISK ) : 99990 ;

/* Not A5K - try T3 LUN */
8000> test ( IS_DISK_T3 ) ? 8010 : 9000 ;
8010> test ( T3_DISK ) ? 8020 : 8015 ;

/* T3 LUN failed */
8015> suspect ( LUN ) : 99999 ;

/* T3 LUN passed */
8020> release ( LUN ) : 99999 ;

8810> test ( IS_DISK_A5K ) ? 8813 : 8811 ;
8811> test ( IS_DISK_FC_INT ) ? 8813 : 8812 ;
8812> test ( IS_TAPE_FC ) ? 8814 : 8815 ;
8813> release ( DISK ) : 8816 ;
8814> release ( TAPE_UNIT ) : 8816 ;
8815> release ( LUN ) : 8816 ;
8816> suspect ( ENET_PORT ) : 8819 ;
8819> suspect ( LOCAL_SWITCH ) : 99999 ;

8820> suspect ( REMOTE_SWITCH ) : 99999 ;

8830> suspect ( ENET_PORT ) : 8831 ;
8831> suspect ( SWITCH ) : 99999 ;

/* Not T3 - try A3500FC LUN */
9000> test ( IS_DISK_A35FC ) ? 9010 : 9500 ;
9010> test ( A35FC_DISK ) ? 9020 : 9015 ;
9015> suspect ( LUN ) : 99999 ;

/* A3500FC LUN passed */
9020> release ( LUN ) : 99999 ;

/* Not A3500FC - try FC Internal DISK */
9500> test ( IS_DISK_FC_INT ) ? 9510 : 9600 ;
9510> test ( FC_DISK ) ? 9520 : 9515 ;
9515> suspect ( DISK ) : 99999 ;

/* FC Internal disk passed */
9520> release ( DISK ) : 99999 ;

/* Not FC Internal Disk - try FC Tape  */
9600> test ( IS_TAPE_FC ) ? 9610 : 10000 ;
9610> test ( FC_TAPE ) ? 9620 : 9615 ;
9615> suspect ( TAPE_UNIT ) : 99999 ;

/* FC Internal disk passed */
9620> release ( TAPE_UNIT ) : 99999 ;

/* Disk type is not currently supported by NWSexpert */
10000> release ( DISK ) : 10010 ;
10010> suspect ( UNSUPPORTED_DISK ) : 99999 ;

/* A5K Disk is not READY */
10100> release ( DISK ) : 10110 ;
10110> suspect ( A5K_DISK_NOT_READY ) : 99999 ;

/* A5K Disk has been physically REMOVED */
10200> release ( DISK ) : 10210 ;
10210> suspect ( A5K_DISK_MISSING/INACCESSIBLE ) : 99999 ;

/* Ask user to retest loop */
99990> test ( IS_SWITCHED ) ? 99991 : 99992 ;
99991> test ( CLEAR_PATH_STATUS_BITS ) ? 99992 : 99992 ;
99992> test ( HBA_ONLINE ) ? 99998 : 99998 ;
99998> test ( RETRY_TESTING ) ? 10 : 99999 ;

/* Diagnosis Complete - Report any Failures */
99999> finished ( FINISHED ) ? 99999 : 99999 ;
