Petalinux task in "D" (uninterruptible disk sleep) state waiting on ioctl...
... however, driver ioctl is never invoked. This leads to a hopelessly deadlocked state as the task involved is waiting for a heartbeat from hardware which drives the system. /proc/[pid]/task/[tid]/status shows task is in "D" state and syscall shows last call was the ioctl.
This happens at irregular times during system operation, but never less than a few minutes after startup. The heartbeats occur at 200Hz.
Why would the ioctl call from user-space not cause the driver ioctl to be invoked?