[PATCH] FE_GET_PROPERTY should be _IOW, because the associated structure is transferred from userspace to kernelspace. Keep the old ioctl around for compatibility so that existing code is not broken.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



--HPS
From be7d0f72ebf4d945cfb2a5c9cc871707f72e1e3c Mon Sep 17 00:00:00 2001
From: Hans Petter Selasky <hselasky@xxxxxxx>
Date: Mon, 23 May 2011 15:56:31 +0200
Subject: [PATCH] FE_GET_PROPERTY should be _IOW, because the associated structure is transferred from userspace to kernelspace. Keep the old ioctl around for compatibility so that existing code is not broken.

Signed-off-by: Hans Petter Selasky <hselasky@xxxxxxx>
---
 drivers/media/dvb/dvb-core/dvb_frontend.c |    5 +++--
 include/linux/dvb/frontend.h              |    3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c
index 31e2c0d..d93c1ec 100644
--- a/drivers/media/dvb/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb/dvb-core/dvb_frontend.c
@@ -1507,7 +1507,8 @@ static int dvb_frontend_ioctl(struct file *file,
 	if (down_interruptible (&fepriv->sem))
 		return -ERESTARTSYS;
 
-	if ((cmd == FE_SET_PROPERTY) || (cmd == FE_GET_PROPERTY))
+	if ((cmd == FE_SET_PROPERTY) || (cmd == FE_GET_PROPERTY) ||
+	    (cmd == FE_GET_PROPERTY_OLD))
 		err = dvb_frontend_ioctl_properties(file, cmd, parg);
 	else {
 		fe->dtv_property_cache.state = DTV_UNDEFINED;
@@ -1562,7 +1563,7 @@ static int dvb_frontend_ioctl_properties(struct file *file,
 			dprintk("%s() Property cache is full, tuning\n", __func__);
 
 	} else
-	if(cmd == FE_GET_PROPERTY) {
+	if(cmd == FE_GET_PROPERTY || cmd == FE_GET_PROPERTY_OLD) {
 
 		tvps = (struct dtv_properties __user *)parg;
 
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h
index 493a2bf..05b38c4 100644
--- a/include/linux/dvb/frontend.h
+++ b/include/linux/dvb/frontend.h
@@ -374,7 +374,8 @@ struct dtv_properties {
 };
 
 #define FE_SET_PROPERTY		   _IOW('o', 82, struct dtv_properties)
-#define FE_GET_PROPERTY		   _IOR('o', 83, struct dtv_properties)
+#define FE_GET_PROPERTY		   _IOW('o', 83, struct dtv_properties)
+#define FE_GET_PROPERTY_OLD	   _IOR('o', 83, struct dtv_properties)
 
 
 /**
-- 
1.7.1.1


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux