void *data)
{
const struct wmi_service_available_event *ev;
+ u16 wmi_ext2_service_words;
__le32 *wmi_ext2_service_bitmap;
int i, j;
u16 expected_len;
break;
case WMI_TAG_ARRAY_UINT32:
wmi_ext2_service_bitmap = (__le32 *)ptr;
+ wmi_ext2_service_words = len / sizeof(u32);
for (i = 0, j = WMI_MAX_EXT_SERVICE;
- i < WMI_SERVICE_SEGMENT_BM_SIZE32 && j < WMI_MAX_EXT2_SERVICE;
+ i < wmi_ext2_service_words && j < WMI_MAX_EXT2_SERVICE;
i++) {
do {
if (__le32_to_cpu(wmi_ext2_service_bitmap[i]) &
BIT(j % WMI_AVAIL_SERVICE_BITS_IN_SIZE32))
set_bit(j, ab->wmi_ab.svc_map);
} while (++j % WMI_AVAIL_SERVICE_BITS_IN_SIZE32);
+ ath12k_dbg(ab, ATH12K_DBG_WMI,
+ "wmi_ext2_service bitmap 0x%08x\n",
+ __le32_to_cpu(wmi_ext2_service_bitmap[i]));
}
- ath12k_dbg(ab, ATH12K_DBG_WMI,
- "wmi_ext2_service_bitmap 0x%04x 0x%04x 0x%04x 0x%04x",
- __le32_to_cpu(wmi_ext2_service_bitmap[0]),
- __le32_to_cpu(wmi_ext2_service_bitmap[1]),
- __le32_to_cpu(wmi_ext2_service_bitmap[2]),
- __le32_to_cpu(wmi_ext2_service_bitmap[3]));
break;
}
return 0;