master/cdev.c
changeset 972 ad59641a68c8
parent 968 b0e894257743
child 974 5868944a6456
--- a/master/cdev.c	Mon Jun 09 10:27:56 2008 +0000
+++ b/master/cdev.c	Mon Jun 09 10:29:28 2008 +0000
@@ -474,6 +474,8 @@
             }
 
         case EC_IOCTL_SET_DEBUG:
+            if (!(filp->f_mode & FMODE_WRITE))
+                return -EPERM;
             if (ec_master_debug_level(master, (unsigned int) arg)) {
                 retval = -EINVAL;
             }
@@ -484,6 +486,9 @@
                 ec_ioctl_slave_state_t data;
                 ec_slave_t *slave;
 
+                if (!(filp->f_mode & FMODE_WRITE))
+                    return -EPERM;
+
                 if (copy_from_user(&data, (void __user *) arg, sizeof(data))) {
                     retval = -EFAULT;
                     break;
@@ -680,7 +685,7 @@
             }
 
         default:
-            retval = -ENOIOCTLCMD;
+            retval = -ENOTTY;
     }
 
     return retval;