diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/scsi/bfa/rport_ftrs.c | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/scsi/bfa/rport_ftrs.c')
-rw-r--r-- | drivers/scsi/bfa/rport_ftrs.c | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/drivers/scsi/bfa/rport_ftrs.c b/drivers/scsi/bfa/rport_ftrs.c index 8a1f59d596c1..ae7bba67ae2a 100644 --- a/drivers/scsi/bfa/rport_ftrs.c +++ b/drivers/scsi/bfa/rport_ftrs.c | |||
@@ -79,7 +79,7 @@ bfa_fcs_rpf_sm_uninit(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
79 | bfa_trc(rport->fcs, event); | 79 | bfa_trc(rport->fcs, event); |
80 | 80 | ||
81 | switch (event) { | 81 | switch (event) { |
82 | case RPFSM_EVENT_RPORT_ONLINE : | 82 | case RPFSM_EVENT_RPORT_ONLINE: |
83 | if (!BFA_FCS_PID_IS_WKA(rport->pid)) { | 83 | if (!BFA_FCS_PID_IS_WKA(rport->pid)) { |
84 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc_sending); | 84 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc_sending); |
85 | rpf->rpsc_retries = 0; | 85 | rpf->rpsc_retries = 0; |
@@ -87,11 +87,11 @@ bfa_fcs_rpf_sm_uninit(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
87 | break; | 87 | break; |
88 | }; | 88 | }; |
89 | 89 | ||
90 | case RPFSM_EVENT_RPORT_OFFLINE : | 90 | case RPFSM_EVENT_RPORT_OFFLINE: |
91 | break; | 91 | break; |
92 | 92 | ||
93 | default: | 93 | default: |
94 | bfa_assert(0); | 94 | bfa_sm_fault(rport->fcs, event); |
95 | } | 95 | } |
96 | } | 96 | } |
97 | 97 | ||
@@ -107,14 +107,14 @@ bfa_fcs_rpf_sm_rpsc_sending(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
107 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc); | 107 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc); |
108 | break; | 108 | break; |
109 | 109 | ||
110 | case RPFSM_EVENT_RPORT_OFFLINE : | 110 | case RPFSM_EVENT_RPORT_OFFLINE: |
111 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); | 111 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); |
112 | bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rpf->fcxp_wqe); | 112 | bfa_fcxp_walloc_cancel(rport->fcs->bfa, &rpf->fcxp_wqe); |
113 | rpf->rpsc_retries = 0; | 113 | rpf->rpsc_retries = 0; |
114 | break; | 114 | break; |
115 | 115 | ||
116 | default: | 116 | default: |
117 | bfa_assert(0); | 117 | bfa_sm_fault(rport->fcs, event); |
118 | } | 118 | } |
119 | } | 119 | } |
120 | 120 | ||
@@ -130,11 +130,10 @@ bfa_fcs_rpf_sm_rpsc(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
130 | case RPFSM_EVENT_RPSC_COMP: | 130 | case RPFSM_EVENT_RPSC_COMP: |
131 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_online); | 131 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_online); |
132 | /* Update speed info in f/w via BFA */ | 132 | /* Update speed info in f/w via BFA */ |
133 | if (rpf->rpsc_speed != BFA_PPORT_SPEED_UNKNOWN) { | 133 | if (rpf->rpsc_speed != BFA_PPORT_SPEED_UNKNOWN) |
134 | bfa_rport_speed(rport->bfa_rport, rpf->rpsc_speed); | 134 | bfa_rport_speed(rport->bfa_rport, rpf->rpsc_speed); |
135 | } else if (rpf->assigned_speed != BFA_PPORT_SPEED_UNKNOWN) { | 135 | else if (rpf->assigned_speed != BFA_PPORT_SPEED_UNKNOWN) |
136 | bfa_rport_speed(rport->bfa_rport, rpf->assigned_speed); | 136 | bfa_rport_speed(rport->bfa_rport, rpf->assigned_speed); |
137 | } | ||
138 | break; | 137 | break; |
139 | 138 | ||
140 | case RPFSM_EVENT_RPSC_FAIL: | 139 | case RPFSM_EVENT_RPSC_FAIL: |
@@ -154,14 +153,14 @@ bfa_fcs_rpf_sm_rpsc(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
154 | } | 153 | } |
155 | break; | 154 | break; |
156 | 155 | ||
157 | case RPFSM_EVENT_RPORT_OFFLINE : | 156 | case RPFSM_EVENT_RPORT_OFFLINE: |
158 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); | 157 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); |
159 | bfa_fcxp_discard(rpf->fcxp); | 158 | bfa_fcxp_discard(rpf->fcxp); |
160 | rpf->rpsc_retries = 0; | 159 | rpf->rpsc_retries = 0; |
161 | break; | 160 | break; |
162 | 161 | ||
163 | default: | 162 | default: |
164 | bfa_assert(0); | 163 | bfa_sm_fault(rport->fcs, event); |
165 | } | 164 | } |
166 | } | 165 | } |
167 | 166 | ||
@@ -174,20 +173,20 @@ bfa_fcs_rpf_sm_rpsc_retry(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
174 | bfa_trc(rport->fcs, event); | 173 | bfa_trc(rport->fcs, event); |
175 | 174 | ||
176 | switch (event) { | 175 | switch (event) { |
177 | case RPFSM_EVENT_TIMEOUT : | 176 | case RPFSM_EVENT_TIMEOUT: |
178 | /* re-send the RPSC */ | 177 | /* re-send the RPSC */ |
179 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc_sending); | 178 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc_sending); |
180 | bfa_fcs_rpf_send_rpsc2(rpf, NULL); | 179 | bfa_fcs_rpf_send_rpsc2(rpf, NULL); |
181 | break; | 180 | break; |
182 | 181 | ||
183 | case RPFSM_EVENT_RPORT_OFFLINE : | 182 | case RPFSM_EVENT_RPORT_OFFLINE: |
184 | bfa_timer_stop(&rpf->timer); | 183 | bfa_timer_stop(&rpf->timer); |
185 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); | 184 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); |
186 | rpf->rpsc_retries = 0; | 185 | rpf->rpsc_retries = 0; |
187 | break; | 186 | break; |
188 | 187 | ||
189 | default: | 188 | default: |
190 | bfa_assert(0); | 189 | bfa_sm_fault(rport->fcs, event); |
191 | } | 190 | } |
192 | } | 191 | } |
193 | 192 | ||
@@ -201,13 +200,13 @@ bfa_fcs_rpf_sm_online(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
201 | bfa_trc(rport->fcs, event); | 200 | bfa_trc(rport->fcs, event); |
202 | 201 | ||
203 | switch (event) { | 202 | switch (event) { |
204 | case RPFSM_EVENT_RPORT_OFFLINE : | 203 | case RPFSM_EVENT_RPORT_OFFLINE: |
205 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); | 204 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_offline); |
206 | rpf->rpsc_retries = 0; | 205 | rpf->rpsc_retries = 0; |
207 | break; | 206 | break; |
208 | 207 | ||
209 | default: | 208 | default: |
210 | bfa_assert(0); | 209 | bfa_sm_fault(rport->fcs, event); |
211 | } | 210 | } |
212 | } | 211 | } |
213 | 212 | ||
@@ -221,16 +220,16 @@ bfa_fcs_rpf_sm_offline(struct bfa_fcs_rpf_s *rpf, enum rpf_event event) | |||
221 | bfa_trc(rport->fcs, event); | 220 | bfa_trc(rport->fcs, event); |
222 | 221 | ||
223 | switch (event) { | 222 | switch (event) { |
224 | case RPFSM_EVENT_RPORT_ONLINE : | 223 | case RPFSM_EVENT_RPORT_ONLINE: |
225 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc_sending); | 224 | bfa_sm_set_state(rpf, bfa_fcs_rpf_sm_rpsc_sending); |
226 | bfa_fcs_rpf_send_rpsc2(rpf, NULL); | 225 | bfa_fcs_rpf_send_rpsc2(rpf, NULL); |
227 | break; | 226 | break; |
228 | 227 | ||
229 | case RPFSM_EVENT_RPORT_OFFLINE : | 228 | case RPFSM_EVENT_RPORT_OFFLINE: |
230 | break; | 229 | break; |
231 | 230 | ||
232 | default: | 231 | default: |
233 | bfa_assert(0); | 232 | bfa_sm_fault(rport->fcs, event); |
234 | } | 233 | } |
235 | } | 234 | } |
236 | /** | 235 | /** |
@@ -366,10 +365,9 @@ bfa_fcs_rpf_rpsc2_response(void *fcsarg, struct bfa_fcxp_s *fcxp, void *cbarg, | |||
366 | bfa_trc(rport->fcs, ls_rjt->reason_code); | 365 | bfa_trc(rport->fcs, ls_rjt->reason_code); |
367 | bfa_trc(rport->fcs, ls_rjt->reason_code_expl); | 366 | bfa_trc(rport->fcs, ls_rjt->reason_code_expl); |
368 | rport->stats.rpsc_rejects++; | 367 | rport->stats.rpsc_rejects++; |
369 | if (ls_rjt->reason_code == FC_LS_RJT_RSN_CMD_NOT_SUPP) { | 368 | if (ls_rjt->reason_code == FC_LS_RJT_RSN_CMD_NOT_SUPP) |
370 | bfa_sm_send_event(rpf, RPFSM_EVENT_RPSC_FAIL); | 369 | bfa_sm_send_event(rpf, RPFSM_EVENT_RPSC_FAIL); |
371 | } else { | 370 | else |
372 | bfa_sm_send_event(rpf, RPFSM_EVENT_RPSC_ERROR); | 371 | bfa_sm_send_event(rpf, RPFSM_EVENT_RPSC_ERROR); |
373 | } | ||
374 | } | 372 | } |
375 | } | 373 | } |