diff options
author | Jason Chen <b02280@freescale.com> | 2011-04-15 16:35:21 +0800 |
---|---|---|
committer | Richard Zhao <richard.zhao@freescale.com> | 2011-04-19 15:03:49 +0800 |
commit | 79d14d69915121e180afa1fb6ec21b1718069058 (patch) | |
tree | c300dad4a120cb50ee0b405f6bbf6eace2925d10 | |
parent | 47ce52b9a70f9ddd2e9ae9146e391cafe4058c1d (diff) |
ENGR00141554 tve: fix atomic schedule issue in uevent
uevent should not be sent during lock hold.
Signed-off-by: Jason Chen <b02280@freescale.com>
Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
-rw-r--r-- | drivers/video/mxc/tve.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/video/mxc/tve.c b/drivers/video/mxc/tve.c index b29c1d5fd5e..34084a37999 100644 --- a/drivers/video/mxc/tve.c +++ b/drivers/video/mxc/tve.c @@ -828,6 +828,9 @@ static int tve_update_detect_status(void) __raw_writel(int_ctl | CD_SM_INT | CD_LM_INT, tve.base + tve_regs->tve_int_cont_reg); +done: + spin_unlock_irqrestore(&tve_lock, lock_flags); + if (old_detect != tve.detect) { sysfs_notify(&tve.pdev->dev.kobj, NULL, "headphone"); if (tve.detect == 1) @@ -843,8 +846,6 @@ static int tve_update_detect_status(void) dev_dbg(&tve.pdev->dev, "detect = %d mode = %d\n", tve.detect, tve.output_mode); -done: - spin_unlock_irqrestore(&tve_lock, lock_flags); return tve.detect; } |