Commit 537b76d2 authored by Haim Dreyfuss's avatar Haim Dreyfuss Committed by Johannes Berg

iwlwifi: mvm: use NULL instead of ERR_PTR when parsing wowlan status

We anyway don't differentiate between the errors so it is pointless,
returning NULL will be simpler in this case.
Signed-off-by: default avatarHaim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20220517120044.78a7651327bb.I77480de7c26db850680f96a3440fb6a1b45dd9d2@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent c1918196
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* /*
* Copyright (C) 2012-2014, 2018-2021 Intel Corporation * Copyright (C) 2012-2014, 2018-2022 Intel Corporation
* Copyright (C) 2013-2015 Intel Mobile Communications GmbH * Copyright (C) 2013-2015 Intel Mobile Communications GmbH
* Copyright (C) 2016-2017 Intel Deutschland GmbH * Copyright (C) 2016-2017 Intel Deutschland GmbH
*/ */
...@@ -1956,18 +1956,18 @@ iwl_mvm_parse_wowlan_status_common_ ## _ver(struct iwl_mvm *mvm, \ ...@@ -1956,18 +1956,18 @@ iwl_mvm_parse_wowlan_status_common_ ## _ver(struct iwl_mvm *mvm, \
\ \
if (len < sizeof(*data)) { \ if (len < sizeof(*data)) { \
IWL_ERR(mvm, "Invalid WoWLAN status response!\n"); \ IWL_ERR(mvm, "Invalid WoWLAN status response!\n"); \
return ERR_PTR(-EIO); \ return NULL; \
} \ } \
\ \
data_size = ALIGN(le32_to_cpu(data->wake_packet_bufsize), 4); \ data_size = ALIGN(le32_to_cpu(data->wake_packet_bufsize), 4); \
if (len != sizeof(*data) + data_size) { \ if (len != sizeof(*data) + data_size) { \
IWL_ERR(mvm, "Invalid WoWLAN status response!\n"); \ IWL_ERR(mvm, "Invalid WoWLAN status response!\n"); \
return ERR_PTR(-EIO); \ return NULL; \
} \ } \
\ \
status = kzalloc(sizeof(*status) + data_size, GFP_KERNEL); \ status = kzalloc(sizeof(*status) + data_size, GFP_KERNEL); \
if (!status) \ if (!status) \
return ERR_PTR(-ENOMEM); \ return NULL; \
\ \
/* copy all the common fields */ \ /* copy all the common fields */ \
status->replay_ctr = le64_to_cpu(data->replay_ctr); \ status->replay_ctr = le64_to_cpu(data->replay_ctr); \
...@@ -2097,7 +2097,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id) ...@@ -2097,7 +2097,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id)
struct iwl_wowlan_status_v6 *v6 = (void *)cmd.resp_pkt->data; struct iwl_wowlan_status_v6 *v6 = (void *)cmd.resp_pkt->data;
status = iwl_mvm_parse_wowlan_status_common_v6(mvm, v6, len); status = iwl_mvm_parse_wowlan_status_common_v6(mvm, v6, len);
if (IS_ERR(status)) if (!status)
goto out_free_resp; goto out_free_resp;
BUILD_BUG_ON(sizeof(v6->gtk.decrypt_key) > BUILD_BUG_ON(sizeof(v6->gtk.decrypt_key) >
...@@ -2128,7 +2128,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id) ...@@ -2128,7 +2128,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id)
struct iwl_wowlan_status_v7 *v7 = (void *)cmd.resp_pkt->data; struct iwl_wowlan_status_v7 *v7 = (void *)cmd.resp_pkt->data;
status = iwl_mvm_parse_wowlan_status_common_v7(mvm, v7, len); status = iwl_mvm_parse_wowlan_status_common_v7(mvm, v7, len);
if (IS_ERR(status)) if (!status)
goto out_free_resp; goto out_free_resp;
iwl_mvm_convert_key_counters(status, &v7->gtk[0].rsc.all_tsc_rsc); iwl_mvm_convert_key_counters(status, &v7->gtk[0].rsc.all_tsc_rsc);
...@@ -2141,7 +2141,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id) ...@@ -2141,7 +2141,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id)
* difference is only in a few not used (reserved) fields. * difference is only in a few not used (reserved) fields.
*/ */
status = iwl_mvm_parse_wowlan_status_common_v9(mvm, v9, len); status = iwl_mvm_parse_wowlan_status_common_v9(mvm, v9, len);
if (IS_ERR(status)) if (!status)
goto out_free_resp; goto out_free_resp;
iwl_mvm_convert_key_counters(status, &v9->gtk[0].rsc.all_tsc_rsc); iwl_mvm_convert_key_counters(status, &v9->gtk[0].rsc.all_tsc_rsc);
...@@ -2153,7 +2153,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id) ...@@ -2153,7 +2153,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id)
struct iwl_wowlan_status_v12 *v12 = (void *)cmd.resp_pkt->data; struct iwl_wowlan_status_v12 *v12 = (void *)cmd.resp_pkt->data;
status = iwl_mvm_parse_wowlan_status_common_v12(mvm, v12, len); status = iwl_mvm_parse_wowlan_status_common_v12(mvm, v12, len);
if (IS_ERR(status)) if (!status)
goto out_free_resp; goto out_free_resp;
iwl_mvm_convert_key_counters_v5(status, &v12->gtk[0].sc); iwl_mvm_convert_key_counters_v5(status, &v12->gtk[0].sc);
...@@ -2165,7 +2165,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id) ...@@ -2165,7 +2165,7 @@ iwl_mvm_send_wowlan_get_status(struct iwl_mvm *mvm, u8 sta_id)
IWL_ERR(mvm, IWL_ERR(mvm,
"Firmware advertises unknown WoWLAN status response %d!\n", "Firmware advertises unknown WoWLAN status response %d!\n",
notif_ver); notif_ver);
status = ERR_PTR(-EIO); status = NULL;
} }
out_free_resp: out_free_resp:
...@@ -2203,7 +2203,7 @@ static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm, ...@@ -2203,7 +2203,7 @@ static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm,
struct iwl_mvm_sta *mvm_ap_sta; struct iwl_mvm_sta *mvm_ap_sta;
status = iwl_mvm_get_wakeup_status(mvm, mvmvif->ap_sta_id); status = iwl_mvm_get_wakeup_status(mvm, mvmvif->ap_sta_id);
if (IS_ERR(status)) if (!status)
goto out_unlock; goto out_unlock;
IWL_DEBUG_WOWLAN(mvm, "wakeup reason 0x%x\n", IWL_DEBUG_WOWLAN(mvm, "wakeup reason 0x%x\n",
...@@ -2370,7 +2370,7 @@ static void iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm, ...@@ -2370,7 +2370,7 @@ static void iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm,
int i, n_matches, ret; int i, n_matches, ret;
status = iwl_mvm_get_wakeup_status(mvm, IWL_MVM_INVALID_STA); status = iwl_mvm_get_wakeup_status(mvm, IWL_MVM_INVALID_STA);
if (!IS_ERR(status)) { if (status) {
reasons = status->wakeup_reasons; reasons = status->wakeup_reasons;
kfree(status); kfree(status);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment