diff options
author | Shengjiu Wang <shengjiu.wang@freescale.com> | 2014-11-18 14:20:55 +0800 |
---|---|---|
committer | Leonard Crestez <leonard.crestez@nxp.com> | 2018-08-23 16:57:56 +0300 |
commit | a72c1d52eea33f976fbd8e3ae8351fa0de5eeef5 (patch) | |
tree | 8674288394f50f2fc5b409ed51bb138f4f970171 /drivers/mfd | |
parent | c0ac7df3d7dff63293098267f2d4968748bc0a48 (diff) |
MLK-9866: mfd: si476x: FM will fail to open sometimes.
In commit e856a0ebc23dcd2c933e3f902317652cc50f0067, we disabled
wait_event_timeout for CMD_POWER_DOWN, which will cause power down
failed sometimes, then FM will fail to reopen.
In this patch enable the wait_event_timeout for power down.
Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
(cherry picked from commit 30aa7f1a3580d0a5bc866c624d1da441fd5502c1)
(cherry picked from commit 2b1990fee264d805fcdc0005dcf8b5b63b261d51)
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/si476x-cmd.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/mfd/si476x-cmd.c b/drivers/mfd/si476x-cmd.c index d5cfe7ba4649..2086b4665288 100644 --- a/drivers/mfd/si476x-cmd.c +++ b/drivers/mfd/si476x-cmd.c @@ -303,13 +303,13 @@ static int si476x_core_send_command(struct si476x_core *core, * possible racing conditions when working in polling mode */ atomic_set(&core->cts, 0); - if (!(command == CMD_POWER_DOWN)) - if (!wait_event_timeout(core->command, - atomic_read(&core->cts), - usecs_to_jiffies(usecs) + 1)) - dev_warn(&core->client->dev, - "(%s) [CMD 0x%02x] Answer timeout.\n", - __func__, command); + /* if (unlikely(command == CMD_POWER_DOWN) */ + if (!wait_event_timeout(core->command, + atomic_read(&core->cts), + usecs_to_jiffies(usecs) + 1)) + dev_warn(&core->client->dev, + "(%s) [CMD 0x%02x] Answer timeout.\n", + __func__, command); /* When working in polling mode, for some reason the tuner will |