See test_async_invalid_dimensions.c:92. The width of the dimension field in hsa_packet_header_t is HSA_KERNEL_DISPATCH_PACKET_SETUP_WIDTH_DIMENSIONS(= 2) bits. Since HSA_KERNEL_DISPATCH_PACKET_SETUP_DIMENSIONS is zero, the tests sets the third bit up (4 = 0x100) which does not relate to the dimension field at all. There is no way to set dimension greater than 3.