diff options
author | Krishna Gudipati <kgudipat@brocade.com> | 2012-09-21 20:27:01 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-10-07 06:24:19 -0400 |
commit | 4a49b044487dd04e41019b0c8c2aeec3ab090029 (patch) | |
tree | 1cd2a89aa91c72a5689595b982a21ed9fcc24679 /drivers/scsi/bfa/bfa_ioc.c | |
parent | 1a1297c644b38d2edfef3004bcc6f9c0084b43a9 (diff) |
[SCSI] bfa: Support Power on Hours display and diag temp sensor fixes
- Add Power On Hours display support during sfpshow
- Fix to properly set the diag temperature sensor status variable.
Signed-off-by: Krishna Gudipati <kgudipat@brocade.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/bfa/bfa_ioc.c')
-rw-r--r-- | drivers/scsi/bfa/bfa_ioc.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c index c697890eeca8..dea6a5e86776 100644 --- a/drivers/scsi/bfa/bfa_ioc.c +++ b/drivers/scsi/bfa/bfa_ioc.c | |||
@@ -4687,22 +4687,25 @@ diag_tempsensor_comp(struct bfa_diag_s *diag, bfi_diag_ts_rsp_t *rsp) | |||
4687 | diag->tsensor.temp->temp = be16_to_cpu(rsp->temp); | 4687 | diag->tsensor.temp->temp = be16_to_cpu(rsp->temp); |
4688 | diag->tsensor.temp->ts_junc = rsp->ts_junc; | 4688 | diag->tsensor.temp->ts_junc = rsp->ts_junc; |
4689 | diag->tsensor.temp->ts_brd = rsp->ts_brd; | 4689 | diag->tsensor.temp->ts_brd = rsp->ts_brd; |
4690 | diag->tsensor.temp->status = BFA_STATUS_OK; | ||
4691 | 4690 | ||
4692 | if (rsp->ts_brd) { | 4691 | if (rsp->ts_brd) { |
4692 | /* tsensor.temp->status is brd_temp status */ | ||
4693 | diag->tsensor.temp->status = rsp->status; | ||
4693 | if (rsp->status == BFA_STATUS_OK) { | 4694 | if (rsp->status == BFA_STATUS_OK) { |
4694 | diag->tsensor.temp->brd_temp = | 4695 | diag->tsensor.temp->brd_temp = |
4695 | be16_to_cpu(rsp->brd_temp); | 4696 | be16_to_cpu(rsp->brd_temp); |
4696 | } else { | 4697 | } else |
4697 | bfa_trc(diag, rsp->status); | ||
4698 | diag->tsensor.temp->brd_temp = 0; | 4698 | diag->tsensor.temp->brd_temp = 0; |
4699 | diag->tsensor.temp->status = BFA_STATUS_DEVBUSY; | ||
4700 | } | ||
4701 | } | 4699 | } |
4700 | |||
4701 | bfa_trc(diag, rsp->status); | ||
4702 | bfa_trc(diag, rsp->ts_junc); | 4702 | bfa_trc(diag, rsp->ts_junc); |
4703 | bfa_trc(diag, rsp->temp); | 4703 | bfa_trc(diag, rsp->temp); |
4704 | bfa_trc(diag, rsp->ts_brd); | 4704 | bfa_trc(diag, rsp->ts_brd); |
4705 | bfa_trc(diag, rsp->brd_temp); | 4705 | bfa_trc(diag, rsp->brd_temp); |
4706 | |||
4707 | /* tsensor status is always good bcos we always have junction temp */ | ||
4708 | diag->tsensor.status = BFA_STATUS_OK; | ||
4706 | diag->tsensor.cbfn(diag->tsensor.cbarg, diag->tsensor.status); | 4709 | diag->tsensor.cbfn(diag->tsensor.cbarg, diag->tsensor.status); |
4707 | diag->tsensor.lock = 0; | 4710 | diag->tsensor.lock = 0; |
4708 | } | 4711 | } |
@@ -4931,6 +4934,7 @@ bfa_diag_tsensor_query(struct bfa_diag_s *diag, | |||
4931 | diag->tsensor.temp = result; | 4934 | diag->tsensor.temp = result; |
4932 | diag->tsensor.cbfn = cbfn; | 4935 | diag->tsensor.cbfn = cbfn; |
4933 | diag->tsensor.cbarg = cbarg; | 4936 | diag->tsensor.cbarg = cbarg; |
4937 | diag->tsensor.status = BFA_STATUS_OK; | ||
4934 | 4938 | ||
4935 | /* Send msg to fw */ | 4939 | /* Send msg to fw */ |
4936 | diag_tempsensor_send(diag); | 4940 | diag_tempsensor_send(diag); |