_init_queue(&precvpriv->recv_pending_queue);
        precvpriv->adapter = padapter;
        precvpriv->free_recvframe_cnt = NR_RECVFRAME;
-       precvpriv->pallocated_frame_buf = kmalloc(NR_RECVFRAME *
+       precvpriv->pallocated_frame_buf = kzalloc(NR_RECVFRAME *
                                sizeof(union recv_frame) + RXFRAME_ALIGN_SZ,
                                GFP_ATOMIC);
        if (precvpriv->pallocated_frame_buf == NULL)
                return _FAIL;
        kmemleak_not_leak(precvpriv->pallocated_frame_buf);
-       memset(precvpriv->pallocated_frame_buf, 0, NR_RECVFRAME *
-               sizeof(union recv_frame) + RXFRAME_ALIGN_SZ);
        precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf +
                                    RXFRAME_ALIGN_SZ -
                                    ((addr_t)(precvpriv->pallocated_frame_buf) &