提交 6135ad0e 编写于 作者: J Jérôme Pouiller 提交者: Greg Kroah-Hartman

staging: wfx: fix handling of frames without RSSI data

It seems that in the old days, the RSSI information could be missing. In
this case, in order to not pollute the RSSI stats, the frame was
dropped (!).

It is far better to mark the frame with the flag RX_FLAG_NO_SIGNAL_VAL.

In add, the problem seems now fixed in the firmware (at least, it has
not been encountered with recent firmwares).
Signed-off-by: NJérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20200701150707.222985-10-Jerome.Pouiller@silabs.comSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 b9aa1750
......@@ -73,12 +73,6 @@ void wfx_rx_cb(struct wfx_vif *wvif,
memset(hdr, 0, sizeof(*hdr));
// FIXME: Why do we drop these frames?
if (!arg->rcpi_rssi &&
(ieee80211_is_probe_resp(frame->frame_control) ||
ieee80211_is_beacon(frame->frame_control)))
goto drop;
if (arg->status == HIF_STATUS_RX_FAIL_MIC)
hdr->flag |= RX_FLAG_MMIC_ERROR;
else if (arg->status)
......@@ -102,6 +96,10 @@ void wfx_rx_cb(struct wfx_vif *wvif,
hdr->rate_idx = arg->rxed_rate;
}
if (!arg->rcpi_rssi) {
hdr->flag |= RX_FLAG_NO_SIGNAL_VAL;
dev_info(wvif->wdev->dev, "received frame without RSSI data\n");
}
hdr->signal = arg->rcpi_rssi / 2 - 110;
hdr->antenna = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册