From: zwl Date: Mon, 20 Oct 2014 02:53:03 +0000 (+0800) Subject: rk fb: fix get fb info addr error if at fb0-win1 map when close fb X-Git-Tag: firefly_0821_release~4561 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=07af23d4ffba99e7b2cf47784b546d3bbf86a851;p=firefly-linux-kernel-4.4.55.git rk fb: fix get fb info addr error if at fb0-win1 map when close fb --- diff --git a/drivers/video/rockchip/rk_fb.c b/drivers/video/rockchip/rk_fb.c index c9c775db3592..9c938cd72614 100755 --- a/drivers/video/rockchip/rk_fb.c +++ b/drivers/video/rockchip/rk_fb.c @@ -776,7 +776,8 @@ static int rk_fb_close(struct fb_info *info, int user) win = dev_drv->win[win_id]; fb_par->state--; if (!fb_par->state) { - info->fix.smem_start = win->reserved; + if (fb_par->fb_phy_base > 0) + info->fix.smem_start = fb_par->fb_phy_base; info->var.xres = dev_drv->screen0->mode.xres; info->var.yres = dev_drv->screen0->mode.yres; /* @@ -3684,11 +3685,6 @@ static int rk_fb_alloc_buffer(struct fb_info *fbi, int fb_id) fb_par->fb_phy_base = fbi->fix.smem_start; fb_par->fb_virt_base = fbi->screen_base; fb_par->fb_size = fbi->fix.smem_len; - win_id = dev_drv->ops->fb_get_win_id(dev_drv, fbi->fix.id); - if (win_id >= 0) { - win = dev_drv->win[win_id]; - win->reserved = fbi->fix.smem_start; - } return ret; }