From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Bartlomiej Zolnierkiewicz To: Sachin Shukla Cc: Timur Tabi , Tomi Valkeinen , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, sachiniiitm@gmail.com, ravikant.s2@samsung.com, p.shailesh@samsung.com, ashish.kalra@samsung.com, vidushi.koul@samsung.com Subject: Re: [PATCH] Video: fbdev: Remove impossible condition. Date: Wed, 08 Feb 2017 16:37:31 +0100 Message-id: <2214430.FYPozId3LM@amdc3058> In-reply-to: <1478867090-2108-1-git-send-email-sachin.s5@samsung.com> MIME-version: 1.0 Content-transfer-encoding: 7Bit Content-type: text/plain; charset=us-ascii References: <1478867090-2108-1-git-send-email-sachin.s5@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: Hi, [ I'm the new Maintainer of fbdev. ] On Friday, November 11, 2016 05:54:50 PM Sachin Shukla wrote: > From: "Sachin Shukla" > > xoffset and yoffset of struct fb_var_screeninfo are unsigned and so > they can never be less than 0. > > Signed-off-by: Sachin Shukla Thanks, I split the patch on amifb and fsl-diu-fb parts and queued them for 4.11 kernel (+ Timur's ACK has been added to fsl-diu-fb patch). > --- > drivers/video/fbdev/amifb.c | 8 +++----- > drivers/video/fbdev/fsl-diu-fb.c | 9 +-------- > 2 files changed, 4 insertions(+), 13 deletions(-) > > diff --git a/drivers/video/fbdev/amifb.c b/drivers/video/fbdev/amifb.c > index 1d702e1..cc11c60 100644 > --- a/drivers/video/fbdev/amifb.c > +++ b/drivers/video/fbdev/amifb.c > @@ -1484,13 +1484,11 @@ static int ami_decode_var(struct fb_var_screeninfo *var, struct amifb_par *par, > par->xoffset = var->xoffset; > par->yoffset = var->yoffset; > if (par->vmode & FB_VMODE_YWRAP) { > - if (par->xoffset || par->yoffset < 0 || > - par->yoffset >= par->vyres) > + if (par->yoffset >= par->vyres) > par->xoffset = par->yoffset = 0; > } else { > - if (par->xoffset < 0 || > - par->xoffset > upx(16 << maxfmode, par->vxres - par->xres) || > - par->yoffset < 0 || par->yoffset > par->vyres - par->yres) > + if (par->xoffset > upx(16 << maxfmode, par->vxres - par->xres) || > + par->yoffset > par->vyres - par->yres) > par->xoffset = par->yoffset = 0; > } > } else > diff --git a/drivers/video/fbdev/fsl-diu-fb.c b/drivers/video/fbdev/fsl-diu-fb.c > index fe00a07..c48a59e 100644 > --- a/drivers/video/fbdev/fsl-diu-fb.c > +++ b/drivers/video/fbdev/fsl-diu-fb.c > @@ -703,12 +703,6 @@ static int fsl_diu_check_var(struct fb_var_screeninfo *var, > if (var->yres_virtual < var->yres) > var->yres_virtual = var->yres; > > - if (var->xoffset < 0) > - var->xoffset = 0; > - > - if (var->yoffset < 0) > - var->yoffset = 0; > - > if (var->xoffset + info->var.xres > info->var.xres_virtual) > var->xoffset = info->var.xres_virtual - info->var.xres; > > @@ -1254,8 +1248,7 @@ static int fsl_diu_pan_display(struct fb_var_screeninfo *var, > (info->var.yoffset == var->yoffset)) > return 0; /* No change, do nothing */ > > - if (var->xoffset < 0 || var->yoffset < 0 > - || var->xoffset + info->var.xres > info->var.xres_virtual > + if (var->xoffset + info->var.xres > info->var.xres_virtual > || var->yoffset + info->var.yres > info->var.yres_virtual) > return -EINVAL; Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics