Doug Anderson <dianders@xxxxxxxxxxxx> writes: >> static int ath10k_wmi_tlv_op_pull_svc_avail(struct ath10k *ar, >> diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c >> index 1fa7107..2e4b561 100644 >> --- a/drivers/net/wireless/ath/ath10k/wmi.c >> +++ b/drivers/net/wireless/ath/ath10k/wmi.c >> @@ -5751,8 +5751,9 @@ void ath10k_wmi_event_service_available(struct ath10k *ar, struct sk_buff *skb) >> ret); >> } >> >> - ath10k_wmi_map_svc_ext(ar, arg.service_map_ext, ar->wmi.svc_map, >> - __le32_to_cpu(arg.service_map_ext_len)); >> + if (arg.service_map_ext_valid) >> + ath10k_wmi_map_svc_ext(ar, arg.service_map_ext, ar->wmi.svc_map, >> + __le32_to_cpu(arg.service_map_ext_len)); > > Your new patch still requires the caller to init the > "service_map_ext_valid" to false before calling, but I guess there's > not a whole lot more we can do because we might be parsing more than > one tag. It does seem nice that at least we now have a validity bit > instead of just relying on a non-zero length to be valid. > > It might be nice to have a comment saying that it's up to us to init > "arg.service_map_ext_valid" to false before calling > ath10k_wmi_pull_svc_avail(), but I won't insist. Maybe that's obvious > to everyone but me... It's not obvious to me either. Please add that comment. BTW, for some reason Doug's response didn't get to patchwork: https://patchwork.kernel.org/project/linux-wireless/patch/1603904469-598-1-git-send-email-pillair@xxxxxxxxxxxxxx/ Though I do see it in linux-wireless, so most likely this was a temporary glitch in patchwork. But it's just worrisome as nowadays I only check the comments in patchwork before I apply the patch. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches