lkml.org 
[lkml]   [2008]   [Sep]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectDVB Update [PATCH 19/31] fix wrong copy for DVBFE_GET_PARAMS
>From 7d0389d6826fb460c85b25a54450151a55fa5338 Mon Sep 17 00:00:00 2001
From: Manu Abraham <manu@linuxtv.org>
Date: Thu, 4 Sep 2008 14:12:32 +0200
Subject: [PATCH] DVB Fix wrong copy for DVBFE_GET_PARAMS

The translated frontend parameters for the ioctl DVBFE_GET_PARAMS
wasn't copied back. The patch fixes the issue.

From: Marco Schluessler <marco@lorzodiac.de>
Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>

dvb_frontend.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

>From 7d0389d6826fb460c85b25a54450151a55fa5338 Mon Sep 17 00:00:00 2001
From: Manu Abraham <manu@linuxtv.org>
Date: Thu, 4 Sep 2008 14:12:32 +0200
Subject: [PATCH] DVB Fix wrong copy for DVBFE_GET_PARAMS

The translated frontend parameters for the ioctl DVBFE_GET_PARAMS
wasn't copied back. The patch fixes the issue.

From: Marco Schluessler <marco@lorzodiac.de>
Signed-off-by: Marco Schluessler <marco@lordzodiac.de>
Signed-off-by: Manu Abraham <manu@linuxtv.org>

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index c451785..e6ae5e6 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1823,10 +1823,12 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
memcpy(parg, &fepriv->fe_params, sizeof (struct dvbfe_params));
err = fe->ops.get_params(fe, (struct dvbfe_params *) parg);
} else if (fe->ops.get_frontend) {
- memcpy (parg, &fepriv->parameters, sizeof (struct dvb_frontend_parameters));
err = fe->ops.get_frontend(fe, (struct dvb_frontend_parameters*) parg);
- if (olddrv_to_newapi(fe, &fepriv->fe_params, &fepriv->parameters, fe->ops.info.type) == -EINVAL)
- printk("%s: ERROR !!! Converting Old parameters --> New parameters\n", __func__);
+ if (!err) {
+ if (olddrv_to_newapi(fe, &fepriv->fe_params, &fepriv->parameters, fe->ops.info.type) == -EINVAL)
+ printk("%s: ERROR !!! Converting Old parameters --> New parameters\n", __func__);
+ memcpy(parg, &fepriv->fe_params, sizeof (struct dvbfe_params));
+ }
}
break;
case DVBFE_GET_DELSYS:
\
 
 \ /
  Last update: 2008-09-04 22:33    [W:0.037 / U:0.288 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site