iwlwifi: dbg_ini: enforce apply point early on buffer allocation tlv
Apply buffer allocation TLV only if it is set to apply point IWL_FW_INI_APPLY_EARLY. Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
fc838c775f
commit
427ab6385c
1 changed files with 14 additions and 12 deletions
|
@ -2518,16 +2518,11 @@ static void iwl_fw_dbg_buffer_apply(struct iwl_fw_runtime *fwrt,
|
||||||
u32 buf_location = le32_to_cpu(alloc->tlv.buffer_location);
|
u32 buf_location = le32_to_cpu(alloc->tlv.buffer_location);
|
||||||
|
|
||||||
if (buf_location == IWL_FW_INI_LOCATION_SRAM_PATH) {
|
if (buf_location == IWL_FW_INI_LOCATION_SRAM_PATH) {
|
||||||
if (!WARN(pnt != IWL_FW_INI_APPLY_EARLY,
|
IWL_DEBUG_FW(trans, "WRT: applying SMEM buffer destination\n");
|
||||||
"WRT: Invalid apply point %d for SMEM buffer allocation, aborting\n",
|
/* set sram monitor by enabling bit 7 */
|
||||||
pnt)) {
|
iwl_set_bit(fwrt->trans, CSR_HW_IF_CONFIG_REG,
|
||||||
IWL_DEBUG_FW(trans,
|
CSR_HW_IF_CONFIG_REG_BIT_MONITOR_SRAM);
|
||||||
"WRT: applying SMEM buffer destination\n");
|
|
||||||
|
|
||||||
/* set sram monitor by enabling bit 7 */
|
|
||||||
iwl_set_bit(fwrt->trans, CSR_HW_IF_CONFIG_REG,
|
|
||||||
CSR_HW_IF_CONFIG_REG_BIT_MONITOR_SRAM);
|
|
||||||
}
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2774,6 +2769,8 @@ static void _iwl_fw_dbg_apply_point(struct iwl_fw_runtime *fwrt,
|
||||||
struct iwl_ucode_tlv *tlv = iter;
|
struct iwl_ucode_tlv *tlv = iter;
|
||||||
void *ini_tlv = (void *)tlv->data;
|
void *ini_tlv = (void *)tlv->data;
|
||||||
u32 type = le32_to_cpu(tlv->type);
|
u32 type = le32_to_cpu(tlv->type);
|
||||||
|
const char invalid_ap_str[] =
|
||||||
|
"WRT: ext=%d. Invalid apply point %d for %s\n";
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case IWL_UCODE_TLV_TYPE_DEBUG_INFO:
|
case IWL_UCODE_TLV_TYPE_DEBUG_INFO:
|
||||||
|
@ -2782,15 +2779,20 @@ static void _iwl_fw_dbg_apply_point(struct iwl_fw_runtime *fwrt,
|
||||||
case IWL_UCODE_TLV_TYPE_BUFFER_ALLOCATION: {
|
case IWL_UCODE_TLV_TYPE_BUFFER_ALLOCATION: {
|
||||||
struct iwl_fw_ini_allocation_data *buf_alloc = ini_tlv;
|
struct iwl_fw_ini_allocation_data *buf_alloc = ini_tlv;
|
||||||
|
|
||||||
|
if (pnt != IWL_FW_INI_APPLY_EARLY) {
|
||||||
|
IWL_ERR(fwrt, invalid_ap_str, ext, pnt,
|
||||||
|
"buffer allocation");
|
||||||
|
goto next;
|
||||||
|
}
|
||||||
|
|
||||||
iwl_fw_dbg_buffer_apply(fwrt, ini_tlv, pnt);
|
iwl_fw_dbg_buffer_apply(fwrt, ini_tlv, pnt);
|
||||||
iter += sizeof(buf_alloc->is_alloc);
|
iter += sizeof(buf_alloc->is_alloc);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case IWL_UCODE_TLV_TYPE_HCMD:
|
case IWL_UCODE_TLV_TYPE_HCMD:
|
||||||
if (pnt < IWL_FW_INI_APPLY_AFTER_ALIVE) {
|
if (pnt < IWL_FW_INI_APPLY_AFTER_ALIVE) {
|
||||||
IWL_ERR(fwrt,
|
IWL_ERR(fwrt, invalid_ap_str, ext, pnt,
|
||||||
"WRT: ext=%d. Invalid apply point %d for host command\n",
|
"host command");
|
||||||
ext, pnt);
|
|
||||||
goto next;
|
goto next;
|
||||||
}
|
}
|
||||||
iwl_fw_dbg_send_hcmd(fwrt, tlv, ext);
|
iwl_fw_dbg_send_hcmd(fwrt, tlv, ext);
|
||||||
|
|
Loading…
Add table
Reference in a new issue