s32 hw_reaped;
        /* Num underruns */
        s32 underrun;
+       /* Num hw paused */
+       u32 hw_paused;
        /* Num PPDUs cleaned up in TX abort */
        s32 tx_abort;
        /* Num MPDUs requeued by SW */
        s32 mpdus_requeued;
        /* excessive retries */
        u32 tx_ko;
+       u32 tx_xretry;
        /* data hw rate code */
        u32 data_rc;
        /* Scheduler self triggers */
        u32 phy_underrun;
        /* MPDU is more than txop limit */
        u32 txop_ovf;
+       /* Num sequences posted */
+       u32 seq_posted;
+       /* Num sequences failed in queueing */
+       u32 seq_failed_queueing;
+       /* Num sequences completed */
+       u32 seq_completed;
+       /* Num sequences restarted */
+       u32 seq_restarted;
+       /* Num of MU sequences posted */
+       u32 mu_seq_posted;
+       /* Num MPDUs flushed by SW, HWPAUSED, SW TXABORT
+        * (Reset,channel change)
+        */
+       s32 mpdus_sw_flush;
+       /* Num MPDUs filtered by HW, all filter condition (TTL expired) */
+       s32 mpdus_hw_filter;
+       /* Num MPDUs truncated by PDG (TXOP, TBTT,
+        * PPDU_duration based on rate, dyn_bw)
+        */
+       s32 mpdus_truncated;
+       /* Num MPDUs that was tried but didn't receive ACK or BA */
+       s32 mpdus_ack_failed;
+       /* Num MPDUs that was dropped du to expiry. */
+       s32 mpdus_expired;
 
        /* PDEV RX stats */
        /* Cnts any change in ring routing mid-ppdu */
        s32 phy_err_drop;
        /* Number of mpdu errors - FCS, MIC, ENC etc. */
        s32 mpdu_errs;
+       /* Num overflow errors */
+       s32 rx_ovfl_errs;
 };
 
 struct ath11k_fw_stats_vdev {
 
        dst->hw_queued = src->hw_queued;
        dst->hw_reaped = src->hw_reaped;
        dst->underrun = src->underrun;
+       dst->hw_paused = src->hw_paused;
        dst->tx_abort = src->tx_abort;
        dst->mpdus_requeued = src->mpdus_requeued;
        dst->tx_ko = src->tx_ko;
+       dst->tx_xretry = src->tx_xretry;
        dst->data_rc = src->data_rc;
        dst->self_triggers = src->self_triggers;
        dst->sw_retry_failure = src->sw_retry_failure;
        dst->stateless_tid_alloc_failure = src->stateless_tid_alloc_failure;
        dst->phy_underrun = src->phy_underrun;
        dst->txop_ovf = src->txop_ovf;
+       dst->seq_posted = src->seq_posted;
+       dst->seq_failed_queueing = src->seq_failed_queueing;
+       dst->seq_completed = src->seq_completed;
+       dst->seq_restarted = src->seq_restarted;
+       dst->mu_seq_posted = src->mu_seq_posted;
+       dst->mpdus_sw_flush = src->mpdus_sw_flush;
+       dst->mpdus_hw_filter = src->mpdus_hw_filter;
+       dst->mpdus_truncated = src->mpdus_truncated;
+       dst->mpdus_ack_failed = src->mpdus_ack_failed;
+       dst->mpdus_expired = src->mpdus_expired;
 }
 
 static void ath11k_wmi_pull_pdev_stats_rx(const struct wmi_pdev_stats_rx *src,
        dst->phy_errs = src->phy_errs;
        dst->phy_err_drop = src->phy_err_drop;
        dst->mpdu_errs = src->mpdu_errs;
+       dst->rx_ovfl_errs = src->rx_ovfl_errs;
 }
 
 static void
                         "PPDUs reaped", pdev->hw_reaped);
        len += scnprintf(buf + len, buf_len - len, "%30s %10d\n",
                         "Num underruns", pdev->underrun);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10d\n",
+                        "Num HW Paused", pdev->hw_paused);
        len += scnprintf(buf + len, buf_len - len, "%30s %10d\n",
                         "PPDUs cleaned", pdev->tx_abort);
        len += scnprintf(buf + len, buf_len - len, "%30s %10d\n",
                         "MPDUs requeued", pdev->mpdus_requeued);
        len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
-                        "Excessive retries", pdev->tx_ko);
+                        "PPDU OK", pdev->tx_ko);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Excessive retries", pdev->tx_xretry);
        len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
                         "HW rate", pdev->data_rc);
        len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
                         "PHY underrun", pdev->phy_underrun);
        len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
                         "MPDU is more than txop limit", pdev->txop_ovf);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num sequences posted", pdev->seq_posted);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num seq failed queueing ", pdev->seq_failed_queueing);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num sequences completed ", pdev->seq_completed);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num sequences restarted ", pdev->seq_restarted);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num of MU sequences posted ", pdev->mu_seq_posted);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num of MPDUS SW flushed ", pdev->mpdus_sw_flush);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num of MPDUS HW filtered ", pdev->mpdus_hw_filter);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num of MPDUS truncated ", pdev->mpdus_truncated);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num of MPDUS ACK failed ", pdev->mpdus_ack_failed);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10u\n",
+                        "Num of MPDUS expired ", pdev->mpdus_expired);
        *length = len;
 }
 
                         "PHY errors drops", pdev->phy_err_drop);
        len += scnprintf(buf + len, buf_len - len, "%30s %10d\n",
                         "MPDU errors (FCS, MIC, ENC)", pdev->mpdu_errs);
+       len += scnprintf(buf + len, buf_len - len, "%30s %10d\n",
+                        "Overflow errors", pdev->rx_ovfl_errs);
        *length = len;
 }