diff options
author | Shengjiu Wang <shengjiu.wang@freescale.com> | 2014-11-18 14:20:55 +0800 |
---|---|---|
committer | Shengjiu Wang <shengjiu.wang@freescale.com> | 2014-11-19 17:48:21 +0800 |
commit | c79832c45fc33b3eb1e7cd8ecfaadb85d045815b (patch) | |
tree | b760a42e3b7a6d028a6fe9022d71c387db273b19 /drivers | |
parent | d22d9374948d2461189a632263c2e18a13c9ea41 (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>
Diffstat (limited to 'drivers')
-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 8ac23dff91a1..6f1ef63086c9 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 |