aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath10k/wmi.c
diff options
context:
space:
mode:
authorMichal Kazior <michal.kazior@tieto.com>2014-09-04 04:18:32 -0400
committerKalle Valo <kvalo@qca.qualcomm.com>2014-09-10 07:17:09 -0400
commitc4f8c83665cf47b658ec2e4cc83cd873f8c943c7 (patch)
treea509450f84236b8a284510301170f9cb15503bf3 /drivers/net/wireless/ath/ath10k/wmi.c
parente13cf7a313a44c7279b4b646b5b7056d702ad0b7 (diff)
ath10k: use proper service bitmap size
On 32bit systems the bitmap was too small and it was overwritten partially by the stat completion structure. This was visible with 10.2 firmware only due to it using a few of the last service ids. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/wmi.c')
-rw-r--r--drivers/net/wireless/ath/ath10k/wmi.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index b13ccf6778c3..e7edc89cfcd0 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -2164,7 +2164,7 @@ static void ath10k_wmi_service_ready_event_rx(struct ath10k *ar,
2164 struct sk_buff *skb) 2164 struct sk_buff *skb)
2165{ 2165{
2166 struct wmi_service_ready_event *ev = (void *)skb->data; 2166 struct wmi_service_ready_event *ev = (void *)skb->data;
2167 DECLARE_BITMAP(svc_bmap, WMI_SERVICE_BM_SIZE) = {}; 2167 DECLARE_BITMAP(svc_bmap, WMI_SERVICE_MAX) = {};
2168 2168
2169 if (skb->len < sizeof(*ev)) { 2169 if (skb->len < sizeof(*ev)) {
2170 ath10k_warn(ar, "Service ready event was %d B but expected %zu B. Wrong firmware version?\n", 2170 ath10k_warn(ar, "Service ready event was %d B but expected %zu B. Wrong firmware version?\n",
@@ -2241,7 +2241,7 @@ static void ath10k_wmi_10x_service_ready_event_rx(struct ath10k *ar,
2241 u32 num_units, req_id, unit_size, num_mem_reqs, num_unit_info, i; 2241 u32 num_units, req_id, unit_size, num_mem_reqs, num_unit_info, i;
2242 int ret; 2242 int ret;
2243 struct wmi_service_ready_event_10x *ev = (void *)skb->data; 2243 struct wmi_service_ready_event_10x *ev = (void *)skb->data;
2244 DECLARE_BITMAP(svc_bmap, WMI_SERVICE_BM_SIZE) = {}; 2244 DECLARE_BITMAP(svc_bmap, WMI_SERVICE_MAX) = {};
2245 2245
2246 if (skb->len < sizeof(*ev)) { 2246 if (skb->len < sizeof(*ev)) {
2247 ath10k_warn(ar, "Service ready event was %d B but expected %zu B. Wrong firmware version?\n", 2247 ath10k_warn(ar, "Service ready event was %d B but expected %zu B. Wrong firmware version?\n",