Поправка: всё-таки оказался виноват драйвер radeon. Просто ранее при поиске причины ошибки первым делом поправил в radeon_kms.c (функция radeon_info_ioctl) строку
// value_ptr = (uint32_t *)((unsigned long)info->value);
value_ptr = (uint32_t *)((unsigned)info->value);
но не проверил после этого работу с android-4.0 (запускал версию 4.4) Причина проблемы: в 64 битном ядре ioctl для совместимости с x86 выделяет временную память и преобразует 32-структуру в 64-структуру для дальнейшей обработки. Эта временная память размещается в верхних адресах памяти (как и само ядро). И обрезание этого адреса приводит к ошибке. Проявляется только на 64-битных ядрах