lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5763A2CD.2040006@xs4all.nl>
Date:	Fri, 17 Jun 2016 09:12:13 +0200
From:	Hans Verkuil <hverkuil@...all.nl>
To:	Javier Martinez Canillas <javier@....samsung.com>,
	linux-kernel@...r.kernel.org
Cc:	Mauro Carvalho Chehab <mchehab@....samsung.com>,
	Kamil Debski <k.debski@...sung.com>,
	Jeongtae Park <jtp.park@...sung.com>,
	Kyungmin Park <kyungmin.park@...sung.com>,
	linux-arm-kernel@...ts.infradead.org, linux-media@...r.kernel.org
Subject: Re: [PATCH 2/6] [media] s5p-mfc: improve v4l2_capability driver and
 card fields

On 06/16/2016 11:40 PM, Javier Martinez Canillas wrote:
> According to the V4L2 documentation the driver and card fields should be
> used to identify the driver and the device but the s5p-mfc driver fills
> those field using the platform device name, which in turn is the name of
> the device DT node.
> 
> So not only the filled information isn't correct but also the same values
> are used in all the fields for both the encoder and decoder video devices.
> 
> Before this patch:
> 
> Driver Info (not using libv4l2):
>         Driver name   : 11000000.codec
>         Card type     : 11000000.codec
>         Bus info      : platform:11000000.codec
>         Driver version: 4.7.0
> 
> Driver Info (not using libv4l2):
>         Driver name   : 11000000.codec
>         Card type     : 11000000.codec
>         Bus info      : platform:11000000.codec
>         Driver version: 4.7.0
> 
> After this patch:
> 
> Driver Info (not using libv4l2):
>         Driver name   : s5p-mfc
>         Card type     : s5p-mfc-dec
>         Bus info      : platform:11000000.codec
>         Driver version: 4.7.0
> 
> Driver Info (not using libv4l2):
>         Driver name   : s5p-mfc
>         Card type     : s5p-mfc-enc
>         Bus info      : platform:11000000.codec
>         Driver version: 4.7.0
> 
> Signed-off-by: Javier Martinez Canillas <javier@....samsung.com>

Acked-by: Hans Verkuil <hans.verkuil@...co.com>

Thanks!

Hans

> ---
> 
>  drivers/media/platform/s5p-mfc/s5p_mfc.c        | 1 -
>  drivers/media/platform/s5p-mfc/s5p_mfc_common.h | 2 ++
>  drivers/media/platform/s5p-mfc/s5p_mfc_dec.c    | 4 ++--
>  drivers/media/platform/s5p-mfc/s5p_mfc_enc.c    | 4 ++--
>  4 files changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc.c b/drivers/media/platform/s5p-mfc/s5p_mfc.c
> index 6ee620ee8cd5..a936f89fa54a 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc.c
> @@ -35,7 +35,6 @@
>  #include "s5p_mfc_cmd.h"
>  #include "s5p_mfc_pm.h"
>  
> -#define S5P_MFC_NAME		"s5p-mfc"
>  #define S5P_MFC_DEC_NAME	"s5p-mfc-dec"
>  #define S5P_MFC_ENC_NAME	"s5p-mfc-enc"
>  
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> index 9eb2481ec292..a10dcd244ff0 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_common.h
> @@ -25,6 +25,8 @@
>  #include "regs-mfc.h"
>  #include "regs-mfc-v8.h"
>  
> +#define S5P_MFC_NAME		"s5p-mfc"
> +
>  /* Definitions related to MFC memory */
>  
>  /* Offset base used to differentiate between CAPTURE and OUTPUT
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> index 4a40df22fd63..5793b0d8ee0c 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> @@ -265,8 +265,8 @@ static int vidioc_querycap(struct file *file, void *priv,
>  {
>  	struct s5p_mfc_dev *dev = video_drvdata(file);
>  
> -	strncpy(cap->driver, dev->plat_dev->name, sizeof(cap->driver) - 1);
> -	strncpy(cap->card, dev->plat_dev->name, sizeof(cap->card) - 1);
> +	strncpy(cap->driver, S5P_MFC_NAME, sizeof(cap->driver) - 1);
> +	strncpy(cap->card, dev->vfd_dec->name, sizeof(cap->card) - 1);
>  	snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s",
>  		 dev_name(&dev->plat_dev->dev));
>  	/*
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> index dd466ea6429e..1220559d4874 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> @@ -943,8 +943,8 @@ static int vidioc_querycap(struct file *file, void *priv,
>  {
>  	struct s5p_mfc_dev *dev = video_drvdata(file);
>  
> -	strncpy(cap->driver, dev->plat_dev->name, sizeof(cap->driver) - 1);
> -	strncpy(cap->card, dev->plat_dev->name, sizeof(cap->card) - 1);
> +	strncpy(cap->driver, S5P_MFC_NAME, sizeof(cap->driver) - 1);
> +	strncpy(cap->card, dev->vfd_enc->name, sizeof(cap->card) - 1);
>  	snprintf(cap->bus_info, sizeof(cap->bus_info), "platform:%s",
>  		 dev_name(&dev->plat_dev->dev));
>  	/*
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ