cec: remove func that may cause deadlock [1/1]
authorHang Cheng <hang.cheng@amlogic.com>
Mon, 25 Mar 2019 11:05:54 +0000 (19:05 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Tue, 2 Apr 2019 11:48:54 +0000 (04:48 -0700)
PD#SWPL-5836

Problem:
kernel panic when read cec reg

Solution:
remove func that might cause sleep in spinlock,
so as to avoid deadlock

Verify:
S805X-P241

Change-Id: I8394f69bdbeff6673c795a221c08ef76164c5bdb
Signed-off-by: Hang Cheng <hang.cheng@amlogic.com>
drivers/amlogic/cec/hdmi_ao_cec.c
drivers/amlogic/cec/hdmi_ao_cec.h

index 67b3f34..02a543a 100644 (file)
@@ -223,15 +223,10 @@ unsigned int waiting_aocec_free(unsigned int r)
 {
        unsigned int cnt = 0;
        int ret = true;
-       char *s;
 
        while (readl(cec_dev->cec_reg + r) & (1<<23)) {
                if (cnt++ >= 3500) {
                        pr_info("waiting aocec %x free time out %d\n", r, cnt);
-                       s = kmalloc(2048, GFP_KERNEL);
-                       dump_cecrx_reg(s);
-                       CEC_ERR("%s\n", s);
-                       kfree(s);
                        if (cec_dev->proble_finish)
                                cec_hw_reset(CEC_A);
                        ret = false;
index a85f09e..7d02287 100644 (file)
@@ -20,7 +20,7 @@
 
 
 
-#define CEC_DRIVER_VERSION     "Ver 2019/3/23\n"
+#define CEC_DRIVER_VERSION     "Ver 2019/3/25\n"
 
 #define CEC_FRAME_DELAY                msecs_to_jiffies(400)
 #define CEC_DEV_NAME           "cec"