|
@@ -1012,6 +1012,20 @@ static bool ath9k_rx_prepare(struct ath9k_htc_priv *priv,
|
|
|
* separately to avoid doing two lookups for a rate for each frame.
|
|
|
*/
|
|
|
hdr = (struct ieee80211_hdr *)skb->data;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Process PHY errors and return so that the packet
|
|
|
+ * can be dropped.
|
|
|
+ */
|
|
|
+ if (rx_stats.rs_status & ATH9K_RXERR_PHY) {
|
|
|
+ /* TODO: Not using DFS processing now. */
|
|
|
+ if (ath_cmn_process_fft(&priv->spec_priv, hdr,
|
|
|
+ &rx_stats, rx_status->mactime)) {
|
|
|
+ /* TODO: Code to collect spectral scan statistics */
|
|
|
+ }
|
|
|
+ goto rx_next;
|
|
|
+ }
|
|
|
+
|
|
|
if (!ath9k_cmn_rx_accept(common, hdr, rx_status, &rx_stats,
|
|
|
&decrypt_error, priv->rxfilter))
|
|
|
goto rx_next;
|