struct wil_ring *ring, u32 i)
 {
        struct device *dev = wil_to_dev(wil);
-       unsigned int sz = ALIGN(wil->rx_buf_len, 4);
+       unsigned int sz = wil->rx_buf_len;
        dma_addr_t pa;
        u16 buff_id;
        struct list_head *active = &wil->rx_buff_mgmt.active;
 
 static void wil_rx_buf_len_init_edma(struct wil6210_priv *wil)
 {
+       /* RX buffer size must be aligned to 4 bytes */
        wil->rx_buf_len = rx_large_buf ?
                WIL_MAX_ETH_MTU : WIL_EDMA_RX_BUF_LEN_DEFAULT;
 }
                sizeof(struct wil_rx_status_compressed) :
                sizeof(struct wil_rx_status_extended);
        int i;
-       u16 max_rx_pl_per_desc;
 
        /* In SW reorder one must use extended status messages */
        if (wil->use_compressed_rx_status && !wil->use_rx_hw_reordering) {
 
        wil_rx_buf_len_init_edma(wil);
 
-       max_rx_pl_per_desc = ALIGN(wil->rx_buf_len, 4);
-
        /* Use debugfs dbg_num_rx_srings if set, reserve one sring for TX */
        if (wil->num_rx_status_rings > WIL6210_MAX_STATUS_RINGS - 1)
                wil->num_rx_status_rings = WIL6210_MAX_STATUS_RINGS - 1;
        wil_dbg_misc(wil, "rx_init: allocate %d status rings\n",
                     wil->num_rx_status_rings);
 
-       rc = wil_wmi_cfg_def_rx_offload(wil, max_rx_pl_per_desc);
+       rc = wil_wmi_cfg_def_rx_offload(wil, wil->rx_buf_len);
        if (rc)
                return rc;
 
        struct sk_buff *skb;
        dma_addr_t pa;
        struct wil_ring_rx_data *rxdata = &sring->rx_data;
-       unsigned int sz = ALIGN(wil->rx_buf_len, 4);
+       unsigned int sz = wil->rx_buf_len;
        struct wil_net_stats *stats = NULL;
        u16 dmalen;
        int cid;