linux/drivers/mailbox
Sudeep Holla cc6eeaa302 mailbox: skip complete wait event if timer expired
If a wait_for_completion_timeout() call returns due to a timeout,
complete() can get called after returning from the wait which is
incorrect and can cause subsequent transmissions on a channel to fail.
Since the wait_for_completion_timeout() sees the completion variable
is non-zero caused by the erroneous/spurious complete() call, and
it immediately returns without waiting for the time as expected by the
client.

This patch fixes the issue by skipping complete() call for the timer
expiry.

Fixes: 2b6d83e2b8 ("mailbox: Introduce framework for mailbox")
Reported-by: Alexey Klimov <alexey.klimov@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
2017-04-27 16:20:04 +05:30
..
arm_mhu.c Merge branch 'mailbox-for-next' of git://git.linaro.org/landing-teams/working/fujitsu/integration 2015-09-05 18:11:04 -07:00
bcm2835-mailbox.c mailbox: Drop owner assignment from platform_driver 2015-08-05 17:20:53 +05:30
bcm-flexrm-mailbox.c mailbox: Add driver for Broadcom FlexRM ring manager 2017-03-28 23:33:30 +05:30
bcm-pdc-mailbox.c mailbox: bcm-pdc: Add Northstar Plus support to PDC driver 2017-03-28 23:27:56 +05:30
hi6220-mailbox.c mailbox: constify mbox_chan_ops structures 2017-03-28 23:27:32 +05:30
Kconfig mailbox: Remove depends on COMPILE_TEST for BCM_FLEXRM_MBOX 2017-03-29 11:08:30 +05:30
mailbox-altera.c mailbox: Make mbox_chan_ops const 2015-05-12 09:18:16 +05:30
mailbox-sti.c mailbox: sti: Fix module autoload for OF registration 2016-12-19 20:10:18 +05:30
mailbox-test.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
mailbox-xgene-slimpro.c mailbox: constify mbox_chan_ops structures 2017-03-28 23:27:32 +05:30
mailbox.c mailbox: skip complete wait event if timer expired 2017-04-27 16:20:04 +05:30
mailbox.h Mailbox: Add support for Platform Communication Channel 2014-11-27 12:51:09 +05:30
Makefile mailbox: Add driver for Broadcom FlexRM ring manager 2017-03-28 23:33:30 +05:30
omap-mailbox.c mailbox/omap: kill omap_mbox_{save/restore}_ctx() functions 2016-04-26 10:19:38 +05:30
pcc.c Merge branches 'acpica' and 'acpi-scan' 2016-12-22 14:34:24 +01:00
pl320-ipc.c mailbox: pl320: remove __raw IO 2016-06-24 13:32:31 +05:30
platform_mhu.c mailbox: Add Platform Message-Handling-Unit variant driver 2016-09-07 13:07:17 +05:30
rockchip-mailbox.c mailbox: rockchip: avoid 64-bit division 2016-03-16 09:18:15 +05:30
tegra-hsp.c mailbox: tegra-hsp: Use after free in tegra_hsp_remove_doorbells() 2016-11-18 14:32:13 +01:00
ti-msgmgr.c mailbox: Introduce TI message manager driver 2016-03-21 20:33:15 +05:30