video: rockchip: hdmi: sync to develop-3.10
[firefly-linux-kernel-4.4.55.git] / drivers / video / rockchip / hdmi / rockchip-hdmi-cec.c
index f7e25f8442455c71b339db13dfb4ff892017b927..474449ecdbbe9b1e78940802f743383d5f209da1 100644 (file)
@@ -42,10 +42,8 @@ static void cecworkfunc(struct work_struct *work)
                break;
        case EVENT_RX_FRAME:
                list_node = kmalloc(sizeof(*list_node), GFP_KERNEL);
-               if (list_node == NULL) {
-                       pr_err("HDMI CEC: list kmalloc fail! ");
+               if (!list_node)
                        return;
-               }
                cecreadframe(&list_node->cecframe);
                if (cec_dev->enable) {
                        mutex_lock(&cec_dev->cec_lock);
@@ -72,6 +70,9 @@ void rockchip_hdmi_cec_submit_work(int event, int delay, void *data)
 
        CECDBG("%s event %04x delay %d\n", __func__, event, delay);
 
+       if (!cec_dev)
+               return;
+
        work = kmalloc(sizeof(*work), GFP_ATOMIC);
 
        if (work) {
@@ -252,10 +253,9 @@ int rockchip_hdmi_cec_init(struct hdmi *hdmi,
        int ret, i;
 
        cec_dev = kmalloc(sizeof(*cec_dev), GFP_KERNEL);
-       if (!cec_dev) {
-               pr_err("HDMI CEC: kmalloc fail!");
+       if (!cec_dev)
                return -ENOMEM;
-       }
+
        memset(cec_dev, 0, sizeof(struct cec_device));
        mutex_init(&cec_dev->cec_lock);
        INIT_LIST_HEAD(&cec_dev->ceclist);