******************************************/
 static s32 FillH2CCmd_88E(struct adapter *adapt, u8 ElementID, u32 CmdLen, u8 *pCmdBuffer)
 {
-       u8 bcmd_down = false;
-       s32 retry_cnts = 100;
        u8 h2c_box_num;
        u32 msgbox_addr;
        u32 msgbox_ex_addr;
                goto exit;
 
        /* pay attention to if  race condition happened in  H2C cmd setting. */
-       do {
-               h2c_box_num = adapt->HalData->LastHMEBoxNum;
-
-               if (!_is_fw_read_cmd_down(adapt, h2c_box_num)) {
-                       DBG_88E(" fw read cmd failed...\n");
-                       goto exit;
-               }
-
-               *(u8 *)(&h2c_cmd) = ElementID;
-
-               if (CmdLen <= 3) {
-                       memcpy((u8 *)(&h2c_cmd)+1, pCmdBuffer, CmdLen);
-               } else {
-                       memcpy((u8 *)(&h2c_cmd)+1, pCmdBuffer, 3);
-                       ext_cmd_len = CmdLen-3;
-                       memcpy((u8 *)(&h2c_cmd_ex), pCmdBuffer+3, ext_cmd_len);
+       h2c_box_num = adapt->HalData->LastHMEBoxNum;
 
-                       /* Write Ext command */
-                       msgbox_ex_addr = REG_HMEBOX_EXT_0 + (h2c_box_num * RTL88E_EX_MESSAGE_BOX_SIZE);
-                       for (cmd_idx = 0; cmd_idx < ext_cmd_len; cmd_idx++)
-                               usb_write8(adapt, msgbox_ex_addr+cmd_idx, *((u8 *)(&h2c_cmd_ex)+cmd_idx));
-               }
-               /*  Write command */
-               msgbox_addr = REG_HMEBOX_0 + (h2c_box_num * RTL88E_MESSAGE_BOX_SIZE);
-               for (cmd_idx = 0; cmd_idx < RTL88E_MESSAGE_BOX_SIZE; cmd_idx++)
-                       usb_write8(adapt, msgbox_addr+cmd_idx, *((u8 *)(&h2c_cmd)+cmd_idx));
+       if (!_is_fw_read_cmd_down(adapt, h2c_box_num)) {
+               DBG_88E(" fw read cmd failed...\n");
+               goto exit;
+       }
 
-               bcmd_down = true;
+       *(u8 *)(&h2c_cmd) = ElementID;
 
-               adapt->HalData->LastHMEBoxNum =
-                       (h2c_box_num+1) % RTL88E_MAX_H2C_BOX_NUMS;
+       if (CmdLen <= 3) {
+               memcpy((u8 *)(&h2c_cmd) + 1, pCmdBuffer, CmdLen);
+       } else {
+               memcpy((u8 *)(&h2c_cmd) + 1, pCmdBuffer, 3);
+               ext_cmd_len = CmdLen - 3;
+               memcpy((u8 *)(&h2c_cmd_ex), pCmdBuffer + 3, ext_cmd_len);
+
+               /* Write Ext command */
+               msgbox_ex_addr = REG_HMEBOX_EXT_0 + (h2c_box_num * RTL88E_EX_MESSAGE_BOX_SIZE);
+               for (cmd_idx = 0; cmd_idx < ext_cmd_len; cmd_idx++)
+                       usb_write8(adapt, msgbox_ex_addr + cmd_idx, *((u8 *)(&h2c_cmd_ex) + cmd_idx));
+       }
+       /*  Write command */
+       msgbox_addr = REG_HMEBOX_0 + (h2c_box_num * RTL88E_MESSAGE_BOX_SIZE);
+       for (cmd_idx = 0; cmd_idx < RTL88E_MESSAGE_BOX_SIZE; cmd_idx++)
+               usb_write8(adapt, msgbox_addr + cmd_idx, *((u8 *)(&h2c_cmd) + cmd_idx));
 
-       } while ((!bcmd_down) && (retry_cnts--));
+       adapt->HalData->LastHMEBoxNum =
+               (h2c_box_num + 1) % RTL88E_MAX_H2C_BOX_NUMS;
 
        ret = _SUCCESS;