Module: xenomai-2.5
Branch: master
Commit: 237c0525568813f474cf2fa21e5165b7a25f6792
URL:    
http://git.xenomai.org/?p=xenomai-2.5.git;a=commit;h=237c0525568813f474cf2fa21e5165b7a25f6792

Author: Alexis Berlemont <alexis.berlem...@gmail.com>
Date:   Tue May  4 23:13:35 2010 +0200

analogy: fix a stupid bug in the use of rtdm_rt_capable()

---

 ksrc/drivers/analogy/buffer.c         |    8 ++++----
 ksrc/drivers/analogy/command.c        |    2 +-
 ksrc/drivers/analogy/device.c         |    2 +-
 ksrc/drivers/analogy/instruction.c    |    4 ++--
 ksrc/drivers/analogy/rtdm_interface.c |    4 ++--
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/ksrc/drivers/analogy/buffer.c b/ksrc/drivers/analogy/buffer.c
index 916a571..ecbc379 100644
--- a/ksrc/drivers/analogy/buffer.c
+++ b/ksrc/drivers/analogy/buffer.c
@@ -391,7 +391,7 @@ int a4l_ioctl_mmap(a4l_cxt_t *cxt, void *arg)
 
        /* The mmap operation cannot be performed in a 
           real-time context */
-       if (rtdm_in_rt_context() != 0) {
+       if (rtdm_in_rt_context()) {
                return -ENOSYS;
        }
 
@@ -469,7 +469,7 @@ int a4l_ioctl_bufcfg(a4l_cxt_t * cxt, void *arg)
 
        /* As Linux API is used to allocate a virtual buffer,
           the calling process must not be in primary mode */
-       if (rtdm_in_rt_context() != 0) {
+       if (rtdm_in_rt_context()) {
                return -ENOSYS;
        }
 
@@ -536,7 +536,7 @@ int a4l_ioctl_bufinfo(a4l_cxt_t * cxt, void *arg)
        __a4l_dbg(1, core_dbg, 
                  "a4l_ioctl_bufinfo: minor=%d\n", a4l_get_minor(cxt));
 
-       if (rtdm_rt_capable(cxt->user_info) != 0)
+       if (!rtdm_in_rt_context() && rtdm_rt_capable(cxt->user_info))
                return -ENOSYS;
 
        /* Basic checking */
@@ -882,7 +882,7 @@ int a4l_ioctl_poll(a4l_cxt_t * cxt, void *arg)
        a4l_buf_t *buf;
        a4l_poll_t poll;
 
-       if (rtdm_rt_capable(cxt->user_info) != 0)
+       if (!rtdm_in_rt_context() && rtdm_rt_capable(cxt->user_info))
                return -ENOSYS;
 
        /* Basic checking */
diff --git a/ksrc/drivers/analogy/command.c b/ksrc/drivers/analogy/command.c
index 05e4d78..7550fbc 100644
--- a/ksrc/drivers/analogy/command.c
+++ b/ksrc/drivers/analogy/command.c
@@ -304,7 +304,7 @@ int a4l_ioctl_cmd(a4l_cxt_t * cxt, void *arg)
        __a4l_dbg(1, core_dbg, 
                  "a4l_ioctl_cmd: minor=%d\n", a4l_get_minor(cxt));
 
-       if (rtdm_rt_capable(cxt->user_info) != 0)
+       if (!rtdm_in_rt_context() && rtdm_rt_capable(cxt->user_info))
                return -ENOSYS;
 
        /* Basically check the device */
diff --git a/ksrc/drivers/analogy/device.c b/ksrc/drivers/analogy/device.c
index a840ada..b3ef9bf 100644
--- a/ksrc/drivers/analogy/device.c
+++ b/ksrc/drivers/analogy/device.c
@@ -427,7 +427,7 @@ int a4l_ioctl_devcfg(a4l_cxt_t * cxt, void *arg)
        __a4l_dbg(1, core_dbg, 
                  "a4l_ioctl_devcfg: minor=%d\n", a4l_get_minor(cxt));
 
-       if (rtdm_in_rt_context() != 0)
+       if (rtdm_in_rt_context())
                return -ENOSYS;
 
        if (arg == NULL) {
diff --git a/ksrc/drivers/analogy/instruction.c 
b/ksrc/drivers/analogy/instruction.c
index a95c8c5..64c7a04 100644
--- a/ksrc/drivers/analogy/instruction.c
+++ b/ksrc/drivers/analogy/instruction.c
@@ -292,7 +292,7 @@ int a4l_ioctl_insn(a4l_cxt_t * cxt, void *arg)
        a4l_kinsn_t insn;
        a4l_dev_t *dev = a4l_get_dev(cxt);
 
-       if (rtdm_rt_capable(cxt->user_info) != 0)
+       if (!rtdm_in_rt_context() && rtdm_rt_capable(cxt->user_info))
                return -ENOSYS;
 
        /* Basic checking */
@@ -394,7 +394,7 @@ int a4l_ioctl_insnlist(a4l_cxt_t * cxt, void *arg)
        a4l_kilst_t ilst;
        a4l_dev_t *dev = a4l_get_dev(cxt);
 
-       if (rtdm_rt_capable(cxt->user_info) != 0)
+       if (!rtdm_in_rt_context() && rtdm_rt_capable(cxt->user_info))
                return -ENOSYS;
 
        /* Basic checking */
diff --git a/ksrc/drivers/analogy/rtdm_interface.c 
b/ksrc/drivers/analogy/rtdm_interface.c
index 00c2d51..cbc3ca6 100644
--- a/ksrc/drivers/analogy/rtdm_interface.c
+++ b/ksrc/drivers/analogy/rtdm_interface.c
@@ -152,7 +152,7 @@ ssize_t a4l_rt_read(struct rtdm_dev_context * context,
 {
        a4l_cxt_t cxt;
 
-       if (rtdm_rt_capable(user_info) != 0)
+       if (!rtdm_in_rt_context() && rtdm_rt_capable(user_info))
                return -ENOSYS;
        
        a4l_init_cxt(context, user_info, &cxt);
@@ -173,7 +173,7 @@ ssize_t a4l_rt_write(struct rtdm_dev_context * context,
 {
        a4l_cxt_t cxt;
 
-       if (rtdm_rt_capable(user_info) != 0)
+       if (!rtdm_in_rt_context() && rtdm_rt_capable(user_info))
                return -ENOSYS;
 
        a4l_init_cxt(context, user_info, &cxt);


_______________________________________________
Xenomai-git mailing list
Xenomai-git@gna.org
https://mail.gna.org/listinfo/xenomai-git

Reply via email to