From: Jason Chen Date: Fri, 15 Apr 2011 08:35:21 +0000 (+0800) Subject: ENGR00141554 tve: fix atomic schedule issue in uevent X-Git-Tag: v3.0.35-fsl~2403 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=402d88eabc0cdab5e491702669c5f87b31bd044d;p=karo-tx-linux.git ENGR00141554 tve: fix atomic schedule issue in uevent uevent should not be sent during lock hold. Signed-off-by: Jason Chen --- diff --git a/drivers/video/mxc/tve.c b/drivers/video/mxc/tve.c index b29c1d5fd5ef..34084a37999f 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; }