diff options
Diffstat (limited to 'drivers/scsi/bfa/bfa_svc.c')
-rw-r--r-- | drivers/scsi/bfa/bfa_svc.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/scsi/bfa/bfa_svc.c b/drivers/scsi/bfa/bfa_svc.c index e7669f8ef78f..b2538d60db34 100644 --- a/drivers/scsi/bfa/bfa_svc.c +++ b/drivers/scsi/bfa/bfa_svc.c | |||
@@ -4275,6 +4275,10 @@ bfa_rport_sm_offline(struct bfa_rport_s *rp, enum bfa_rport_event event) | |||
4275 | bfa_sm_set_state(rp, bfa_rport_sm_iocdisable); | 4275 | bfa_sm_set_state(rp, bfa_rport_sm_iocdisable); |
4276 | break; | 4276 | break; |
4277 | 4277 | ||
4278 | case BFA_RPORT_SM_OFFLINE: | ||
4279 | bfa_rport_offline_cb(rp); | ||
4280 | break; | ||
4281 | |||
4278 | default: | 4282 | default: |
4279 | bfa_stats(rp, sm_off_unexp); | 4283 | bfa_stats(rp, sm_off_unexp); |
4280 | bfa_sm_fault(rp->bfa, event); | 4284 | bfa_sm_fault(rp->bfa, event); |
@@ -4391,6 +4395,7 @@ bfa_rport_sm_offline_pending(struct bfa_rport_s *rp, | |||
4391 | case BFA_RPORT_SM_HWFAIL: | 4395 | case BFA_RPORT_SM_HWFAIL: |
4392 | bfa_stats(rp, sm_offp_hwf); | 4396 | bfa_stats(rp, sm_offp_hwf); |
4393 | bfa_sm_set_state(rp, bfa_rport_sm_iocdisable); | 4397 | bfa_sm_set_state(rp, bfa_rport_sm_iocdisable); |
4398 | bfa_rport_offline_cb(rp); | ||
4394 | break; | 4399 | break; |
4395 | 4400 | ||
4396 | default: | 4401 | default: |
@@ -4769,8 +4774,10 @@ bfa_rport_speed(struct bfa_rport_s *rport, enum bfa_port_speed speed) | |||
4769 | WARN_ON(speed == 0); | 4774 | WARN_ON(speed == 0); |
4770 | WARN_ON(speed == BFA_PORT_SPEED_AUTO); | 4775 | WARN_ON(speed == BFA_PORT_SPEED_AUTO); |
4771 | 4776 | ||
4772 | rport->rport_info.speed = speed; | 4777 | if (rport) { |
4773 | bfa_sm_send_event(rport, BFA_RPORT_SM_SET_SPEED); | 4778 | rport->rport_info.speed = speed; |
4779 | bfa_sm_send_event(rport, BFA_RPORT_SM_SET_SPEED); | ||
4780 | } | ||
4774 | } | 4781 | } |
4775 | 4782 | ||
4776 | /* Set Rport LUN Mask */ | 4783 | /* Set Rport LUN Mask */ |