diff --git a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_fb.c b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_fb.c index df2d4fba7..b7e81cbad 100644 --- a/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_fb.c +++ b/lichee/linux-4.9/drivers/video/fbdev/sunxi/disp2/disp/dev_fb.c @@ -2079,17 +2079,17 @@ static int sunxi_fb_ioctl(struct fb_info *info, unsigned int cmd, { #if defined(CONFIG_ION_SUNXI) unsigned long flags; + spin_lock_irqsave(&(logo_timer_info.logo_lock), flags); if(logo_timer_info.init_flag == TIMER_START) { - spin_lock_irqsave(&(logo_timer_info.logo_lock), flags); del_timer(&(logo_timer_info.timer)); flush_pic(H_LOGO_START_POS_X, H_LOGO_START_POS_Y, H_LOGO_WIDTH_PIX, H_LOGO_HEIGH_PIX, (int *)fb_dst, H_logo, 0); flush_pic(A_LOGO_START_POS_X, A_LOGO_START_POS_Y, A_LOGO_WIDTH_PIX, A_LOGO_HEIGH_PIX, (int *)fb_dst, A_logo, 0); flush_pic(S_LOGO_START_POS_X, S_LOGO_START_POS_Y, S_LOGO_WIDTH_PIX, S_LOGO_HEIGH_PIX, (int *)fb_dst, S_logo, 0); disp_ion_flush_cache((void *)pic_info.vaddr, pic_info.size); logo_timer_info.init_flag = TIMER_STOP; - spin_unlock_irqrestore(&(logo_timer_info.logo_lock), flags); } + spin_unlock_irqrestore(&(logo_timer_info.logo_lock), flags); #endif break; }