Commit 974c0860 authored by Joe Carnuccio's avatar Joe Carnuccio Committed by Martin K. Petersen

scsi: qla2xxx: Add endianizer macro calls to fc host stats

This patch fixes endian warning for fc_host_stats.

Link: https://lore.kernel.org/r/20200212214436.25532-6-hmadhani@marvell.comSigned-off-by: default avatarJoe Carnuccio <joe.carnuccio@cavium.com>
Signed-off-by: default avatarHimanshu Madhani <hmadhani@marvell.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent e6ad2b79
...@@ -2745,22 +2745,28 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost) ...@@ -2745,22 +2745,28 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost)
if (rval != QLA_SUCCESS) if (rval != QLA_SUCCESS)
goto done_free; goto done_free;
p->link_failure_count = stats->link_fail_cnt; p->link_failure_count = le32_to_cpu(stats->link_fail_cnt);
p->loss_of_sync_count = stats->loss_sync_cnt; p->loss_of_sync_count = le32_to_cpu(stats->loss_sync_cnt);
p->loss_of_signal_count = stats->loss_sig_cnt; p->loss_of_signal_count = le32_to_cpu(stats->loss_sig_cnt);
p->prim_seq_protocol_err_count = stats->prim_seq_err_cnt; p->prim_seq_protocol_err_count = le32_to_cpu(stats->prim_seq_err_cnt);
p->invalid_tx_word_count = stats->inval_xmit_word_cnt; p->invalid_tx_word_count = le32_to_cpu(stats->inval_xmit_word_cnt);
p->invalid_crc_count = stats->inval_crc_cnt; p->invalid_crc_count = le32_to_cpu(stats->inval_crc_cnt);
if (IS_FWI2_CAPABLE(ha)) { if (IS_FWI2_CAPABLE(ha)) {
p->lip_count = stats->lip_cnt; p->lip_count = le32_to_cpu(stats->lip_cnt);
p->tx_frames = stats->tx_frames; p->tx_frames = le32_to_cpu(stats->tx_frames);
p->rx_frames = stats->rx_frames; p->rx_frames = le32_to_cpu(stats->rx_frames);
p->dumped_frames = stats->discarded_frames; p->dumped_frames = le32_to_cpu(stats->discarded_frames);
p->nos_count = stats->nos_rcvd; p->nos_count = le32_to_cpu(stats->nos_rcvd);
p->error_frames = p->error_frames =
stats->dropped_frames + stats->discarded_frames; le32_to_cpu(stats->dropped_frames) +
p->rx_words = vha->qla_stats.input_bytes; le32_to_cpu(stats->discarded_frames);
p->tx_words = vha->qla_stats.output_bytes; if (IS_QLA83XX(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) {
p->rx_words = le64_to_cpu(stats->fpm_recv_word_cnt);
p->tx_words = le64_to_cpu(stats->fpm_xmit_word_cnt);
} else {
p->rx_words = vha->qla_stats.input_bytes;
p->tx_words = vha->qla_stats.output_bytes;
}
} }
p->fcp_control_requests = vha->qla_stats.control_requests; p->fcp_control_requests = vha->qla_stats.control_requests;
p->fcp_input_requests = vha->qla_stats.input_requests; p->fcp_input_requests = vha->qla_stats.input_requests;
...@@ -2768,7 +2774,7 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost) ...@@ -2768,7 +2774,7 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost)
p->fcp_input_megabytes = vha->qla_stats.input_bytes >> 20; p->fcp_input_megabytes = vha->qla_stats.input_bytes >> 20;
p->fcp_output_megabytes = vha->qla_stats.output_bytes >> 20; p->fcp_output_megabytes = vha->qla_stats.output_bytes >> 20;
p->seconds_since_last_reset = p->seconds_since_last_reset =
get_jiffies_64() - vha->qla_stats.jiffies_at_last_reset; get_jiffies_64() - vha->qla_stats.jiffies_at_last_reset;
do_div(p->seconds_since_last_reset, HZ); do_div(p->seconds_since_last_reset, HZ);
done_free: done_free:
......
...@@ -1475,47 +1475,44 @@ typedef struct { ...@@ -1475,47 +1475,44 @@ typedef struct {
#define GLSO_USE_DID BIT_3 #define GLSO_USE_DID BIT_3
struct link_statistics { struct link_statistics {
uint32_t link_fail_cnt; __le32 link_fail_cnt;
uint32_t loss_sync_cnt; __le32 loss_sync_cnt;
uint32_t loss_sig_cnt; __le32 loss_sig_cnt;
uint32_t prim_seq_err_cnt; __le32 prim_seq_err_cnt;
uint32_t inval_xmit_word_cnt; __le32 inval_xmit_word_cnt;
uint32_t inval_crc_cnt; __le32 inval_crc_cnt;
uint32_t lip_cnt; __le32 lip_cnt;
uint32_t link_up_cnt; __le32 link_up_cnt;
uint32_t link_down_loop_init_tmo; __le32 link_down_loop_init_tmo;
uint32_t link_down_los; __le32 link_down_los;
uint32_t link_down_loss_rcv_clk; __le32 link_down_loss_rcv_clk;
uint32_t reserved0[5]; uint32_t reserved0[5];
uint32_t port_cfg_chg; __le32 port_cfg_chg;
uint32_t reserved1[11]; uint32_t reserved1[11];
uint32_t rsp_q_full; __le32 rsp_q_full;
uint32_t atio_q_full; __le32 atio_q_full;
uint32_t drop_ae; __le32 drop_ae;
uint32_t els_proto_err; __le32 els_proto_err;
uint32_t reserved2; __le32 reserved2;
uint32_t tx_frames; __le32 tx_frames;
uint32_t rx_frames; __le32 rx_frames;
uint32_t discarded_frames; __le32 discarded_frames;
uint32_t dropped_frames; __le32 dropped_frames;
uint32_t reserved3; uint32_t reserved3;
uint32_t nos_rcvd; __le32 nos_rcvd;
uint32_t reserved4[4]; uint32_t reserved4[4];
uint32_t tx_prjt; __le32 tx_prjt;
uint32_t rcv_exfail; __le32 rcv_exfail;
uint32_t rcv_abts; __le32 rcv_abts;
uint32_t seq_frm_miss; __le32 seq_frm_miss;
uint32_t corr_err; __le32 corr_err;
uint32_t mb_rqst; __le32 mb_rqst;
uint32_t nport_full; __le32 nport_full;
uint32_t eofa; __le32 eofa;
uint32_t reserved5; uint32_t reserved5;
uint32_t fpm_recv_word_cnt_lo; __le64 fpm_recv_word_cnt;
uint32_t fpm_recv_word_cnt_hi; __le64 fpm_disc_word_cnt;
uint32_t fpm_disc_word_cnt_lo; __le64 fpm_xmit_word_cnt;
uint32_t fpm_disc_word_cnt_hi;
uint32_t fpm_xmit_word_cnt_lo;
uint32_t fpm_xmit_word_cnt_hi;
uint32_t reserved6[70]; uint32_t reserved6[70];
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment