/*
- * Copyright 2004-2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright 2004-2012 Freescale Semiconductor, Inc. All Rights Reserved.
*/
/*
if (retval) {
dev_err(fbi->device,
"ipu_init_channel_buffer error %d\n", retval);
+ return retval;
}
/* update u/v offset */
}
retval = _setup_disp_channel2(fbi);
- if (retval)
+ if (retval) {
+ ipu_uninit_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
return retval;
+ }
ipu_enable_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
static int mxcfb_blank(int blank, struct fb_info *info)
{
struct mxcfb_info *mxc_fbi = (struct mxcfb_info *)info->par;
+ int ret = 0;
dev_dbg(info->device, "blank = %d\n", blank);
ipu_uninit_channel(mxc_fbi->ipu, mxc_fbi->ipu_ch);
break;
case FB_BLANK_UNBLANK:
- mxcfb_set_par(info);
+ ret = mxcfb_set_par(info);
break;
}
- mxc_fbi->cur_blank = blank;
- return 0;
+ if (!ret)
+ mxc_fbi->cur_blank = blank;
+ return ret;
}
/*