ath9k_htc: process rx spectral packets
[cascardo/linux.git] / drivers / net / wireless / ath / ath9k / htc_drv_txrx.c
index 2622002..a0f58e2 100644 (file)
@@ -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;