u16 cmd_len, drvinfo_sz;
        struct recv_stat *prxstat;
 
-       poffset = (u8 *)prxcmdbuf;
+       poffset = prxcmdbuf;
        voffset = *(__le32 *)poffset;
-       prxstat = (struct recv_stat *)prxcmdbuf;
+       prxstat = prxcmdbuf;
        drvinfo_sz = (le32_to_cpu(prxstat->rxdw0) & 0x000f0000) >> 16;
        drvinfo_sz <<= 3;
        poffset += RXDESC_SIZE + drvinfo_sz;
 void r8712_reordering_ctrl_timeout_handler(void *pcontext)
 {
        unsigned long irql;
-       struct recv_reorder_ctrl *preorder_ctrl =
-                                (struct recv_reorder_ctrl *)pcontext;
+       struct recv_reorder_ctrl *preorder_ctrl = pcontext;
        struct _adapter *padapter = preorder_ctrl->padapter;
        struct  __queue *ppending_recvframe_queue =
                                 &preorder_ctrl->pending_recvframe_queue;
        struct  __queue *pfree_recv_queue = &padapter->recvpriv.free_recv_queue;
        struct  mlme_priv       *pmlmepriv = &padapter->mlmepriv;
 
-       prframe = (union recv_frame *)pcontext;
+       prframe = pcontext;
        orig_prframe = prframe;
        pattrib = &prframe->u.hdr.attrib;
        if (check_fwstate(pmlmepriv, WIFI_MP_STATE)) {
 static void recv_tasklet(void *priv)
 {
        struct sk_buff *pskb;
-       struct _adapter *padapter = (struct _adapter *)priv;
+       struct _adapter *padapter = priv;
        struct recv_priv *precvpriv = &padapter->recvpriv;
 
        while (NULL != (pskb = skb_dequeue(&precvpriv->rx_skb_queue))) {