Commit a823d6ec authored by Jérôme Pouiller's avatar Jérôme Pouiller Committed by Greg Kroah-Hartman
Browse files

staging: wfx: fix output of rx_stats on big endian hosts



The struct hif_rx_stats contains only little endian values. Thus, it is
necessary to fix byte ordering before to use them.

Signed-off-by: default avatarJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200512150414.267198-6-Jerome.Pouiller@silabs.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 9b3bc20d
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ static int wfx_rx_stats_show(struct seq_file *seq, void *v)
	mutex_lock(&wdev->rx_stats_lock);
	seq_printf(seq, "Timestamp: %dus\n", st->date);
	seq_printf(seq, "Low power clock: frequency %uHz, external %s\n",
		   st->pwr_clk_freq,
		   le32_to_cpu(st->pwr_clk_freq),
		   st->is_ext_pwr_clk ? "yes" : "no");
	seq_printf(seq,
		   "Num. of frames: %d, PER (x10e4): %d, Throughput: %dKbps/s\n",
@@ -165,9 +165,12 @@ static int wfx_rx_stats_show(struct seq_file *seq, void *v)
	for (i = 0; i < ARRAY_SIZE(channel_names); i++) {
		if (channel_names[i])
			seq_printf(seq, "%5s %8d %8d %8d %8d %8d\n",
				   channel_names[i], st->nb_rx_by_rate[i],
				   st->per[i], st->rssi[i] / 100,
				   st->snr[i] / 100, st->cfo[i]);
				   channel_names[i],
				   le32_to_cpu(st->nb_rx_by_rate[i]),
				   le16_to_cpu(st->per[i]),
				   (s16)le16_to_cpu(st->rssi[i]) / 100,
				   (s16)le16_to_cpu(st->snr[i]) / 100,
				   (s16)le16_to_cpu(st->cfo[i]));
	}
	mutex_unlock(&wdev->rx_stats_lock);