Page 1 of 1

GPU mailbox interrupt stops after several days

Posted: Mon Dec 15, 2014 9:42 am
by ranpitime

in our application we cyclically (once a minute) talk to the GPU/mailbox ( via "/dev/char_dev").
we open and close the handle every time, after some days running the GPU interrupt gets stuck and one read (via ioctl) does not return properly, in dmesg I can see this:

[35401.645314] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[35401.645326] <TASKNAME>. D c04428dc 0 2025 1845 0x00000001
[35401.645399] [<c04428dc>] (__schedule+0x2a0/0x5ac) from [<c0440dcc>] (schedule_timeout+0x18c/0x21c)
[35401.645428] [<c0440dcc>] (schedule_timeout+0x18c/0x21c) from [<c0442304>] (__down+0x7c/0xb8)
[35401.645466] [<c0442304>] (__down+0x7c/0xb8) from [<c0040dd4>] (down+0x80/0x84)
[35401.645497] [<c0040dd4>] (down+0x80/0x84) from [<c001b540>] (dev_mbox_read+0x48/0x74)
[35401.645523] [<c001b540>] (dev_mbox_read+0x48/0x74) from [<c001b6a0>] (bcm_mailbox_property+0xa0/0x1 94)
[35401.645546] [<c001b6a0>] (bcm_mailbox_property+0xa0/0x194) from [<c001b7c8>] (device_ioctl+0x34/0x5 4)
[35401.645583] [<c001b7c8>] (device_ioctl+0x34/0x54) from [<c00f6a64>] (do_vfs_ioctl+0x3f4/0x5dc)
[35401.645614] [<c00f6a64>] (do_vfs_ioctl+0x3f4/0x5dc) from [<c00f6c84>] (SyS_ioctl+0x38/0x60)
[35401.645649] [<c00f6c84>] (SyS_ioctl+0x38/0x60) from [<c000dec0>] (ret_fast_syscall+0x0/0x30)
[35521.646687] INFO: task <TASKNAME>.:2025 blocked for more than 120 seconds.

this shows me, that the kernel driver did not receive an interrupt for 120 secs.
After this happened, i cannot use the mailbox anymore, I cannot open char_dev anymore (device or resource busy).

Does anyone have any idea?