struct host_cmd_ds_mef_cfg {
        __le32 criteria;
        __le16 num_entries;
-       struct mwifiex_fw_mef_entry mef_entry[];
+       u8 mef_entry_data[];
 } __packed;
 
 #define CONNECTION_TYPE_INFRA   0
 struct host_cmd_ds_coalesce_cfg {
        __le16 action;
        __le16 num_of_rules;
-       struct coalesce_receive_filt_rule rule[];
+       u8 rule_data[];
 } __packed;
 
 struct host_cmd_ds_multi_chan_policy {
 
                mef_entry = (struct mwifiex_fw_mef_entry *)pos;
                mef_entry->mode = mef->mef_entry[i].mode;
                mef_entry->action = mef->mef_entry[i].action;
-               pos += sizeof(*mef_cfg->mef_entry);
+               pos += sizeof(*mef_entry);
 
                if (mwifiex_cmd_append_rpn_expression(priv,
                                                      &mef->mef_entry[i], &pos))
 
        coalesce_cfg->action = cpu_to_le16(cmd_action);
        coalesce_cfg->num_of_rules = cpu_to_le16(cfg->num_of_rules);
-       rule = coalesce_cfg->rule;
+       rule = (void *)coalesce_cfg->rule_data;
 
        for (cnt = 0; cnt < cfg->num_of_rules; cnt++) {
                rule->header.type = cpu_to_le16(TLV_TYPE_COALESCE_RULE);