[PATCH] DVB Fix: use backward compatibility for older delivery systems

From: Manu Abraham
Date: Thu Sep 04 2008 - 06:26:28 EST


* The backward compatibilty of the existing delivery systems was
broken. The patch fixes the same.

From: Manu Abraham <abraham.manu@xxxxxxxxx>
Signed-off-by: Manu Abraham <manu@xxxxxxxxxxx>

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 106bf2b..de49e4b 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1433,7 +1433,6 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,
struct dvb_frontend *fe = dvbdev->priv;
struct dvb_frontend_private *fepriv = fe->frontend_priv;
int err = -EOPNOTSUPP;
- enum dvbfe_delsys delsys = 0;

dprintk ("%s\n", __func__);

@@ -1699,15 +1698,21 @@ static int dvb_frontend_ioctl(struct inode *inode, struct file *file,

case DVBFE_SET_PARAMS: {
struct dvb_frontend_tune_settings fetunesettings;
+ enum dvbfe_delsys delsys = fepriv->fe_info.delivery;

fe->legacy = 0;
memcpy(&fepriv->fe_params, parg, sizeof (struct dvbfe_params));
memset(&fetunesettings, 0, sizeof (struct dvb_frontend_tune_settings));
memcpy(&fetunesettings.fe_params, parg, sizeof (struct dvbfe_params));

- if (newapi_to_olddrv(&fepriv->fe_params, &fepriv->parameters, fepriv->fe_info.delivery) == -EINVAL)
- printk("%s: ERROR !!! Converting New parameters --> Old parameters\n", __func__);
+ if ((delsys && DVBFE_DELSYS_DVBS) ||
+ (delsys && DVBFE_DELSYS_DVBC) ||
+ (delsys && DVBFE_DELSYS_DVBT) ||
+ (delsys && DVBFE_DELSYS_ATSC)) {

+ if (newapi_to_olddrv(&fepriv->fe_params, &fepriv->parameters, fepriv->fe_info.delivery) == -EINVAL)
+ printk("%s: ERROR !!! Converting New parameters --> Old parameters\n", __func__);
+ }
/* Request the search algorithm to search */
fepriv->algo_status |= DVBFE_ALGO_SEARCH_AGAIN;


--------------020301030809070001070700--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/