summaryrefslogtreecommitdiff
path: root/drivers/mfd
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@freescale.com>2014-11-18 14:20:55 +0800
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-23 16:57:56 +0300
commita72c1d52eea33f976fbd8e3ae8351fa0de5eeef5 (patch)
tree8674288394f50f2fc5b409ed51bb138f4f970171 /drivers/mfd
parentc0ac7df3d7dff63293098267f2d4968748bc0a48 (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.c14
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