diff --git a/wmi/src/wmi_unified_action_oui_tlv.c b/wmi/src/wmi_unified_action_oui_tlv.c index fcac724628..dda0091004 100644 --- a/wmi/src/wmi_unified_action_oui_tlv.c +++ b/wmi/src/wmi_unified_action_oui_tlv.c @@ -54,7 +54,10 @@ bool wmi_get_action_oui_id(enum action_oui_id action_id, uint32_t wmi_get_action_oui_info_mask(uint32_t info_mask) { - uint32_t info_presence = WMI_BEACON_INFO_PRESENCE_OUI_EXT; + uint32_t info_presence = 0; + + if (info_mask & ACTION_OUI_INFO_OUI) + info_presence |= WMI_BEACON_INFO_PRESENCE_OUI_EXT; if (info_mask & ACTION_OUI_INFO_MAC_ADDRESS) info_presence |= WMI_BEACON_INFO_PRESENCE_MAC_ADDRESS; @@ -126,8 +129,11 @@ wmi_fill_oui_extensions_buffer(struct action_oui_extension *extension, var_buf[0] = i; var_buf++; - qdf_mem_copy(var_buf, extension->oui, extension->oui_length); - var_buf += extension->oui_length; + if (extension->oui_length) { + qdf_mem_copy(var_buf, extension->oui, + extension->oui_length); + var_buf += extension->oui_length; + } if (extension->data_length) { qdf_mem_copy(var_buf, extension->data,