Hi,

again thanks to a smart student reviewing my ugly code, here is another
minor fix for the serial driver.

Jan

Index: drivers/16550A/16550A.c
===================================================================
--- drivers/16550A/16550A.c     (revision 14)
+++ drivers/16550A/16550A.c     (working copy)
@@ -516,8 +516,8 @@
 }
 
 
-int rt_16550_ioctl_rt(struct rtdm_dev_context *context,
-                      rtdm_user_info_t *user_info, int request, void *arg)
+int rt_16550_ioctl(struct rtdm_dev_context *context,
+                   rtdm_user_info_t *user_info, int request, void *arg)
 {
     struct rt_16550_context *ctx;
     int                     ret = 0;
@@ -639,6 +639,9 @@
             rtdm_lockctx_t      lock_ctx;
             rtdm_toseq_t        timeout_seq;
 
+            if (!rtdm_in_rt_context())
+                return -EPERM;
+
             /* only one waiter allowed, stop any further attempts here */
             if (test_and_set_bit(0, &ctx->ioc_event_lock))
                 return -EBUSY;
@@ -980,8 +983,8 @@
         close_rt:       rt_16550_close,
         close_nrt:      rt_16550_close,
 
-        ioctl_rt:       rt_16550_ioctl_rt,
-        ioctl_nrt:      rt_16550_ioctl_rt,
+        ioctl_rt:       rt_16550_ioctl,
+        ioctl_nrt:      rt_16550_ioctl,
 
         read_rt:        rt_16550_read,
         read_nrt:       NULL,
@@ -999,7 +1002,7 @@
     device_class:       RTDM_CLASS_SERIAL,
     device_sub_class:   RTDM_SUBCLASS_16550A,
     driver_name:        "rt_16550A",
-    driver_version:     RTDM_DRIVER_VER(1, 1, 0),
+    driver_version:     RTDM_DRIVER_VER(1, 1, 1),
     peripheral_name:    "UART 16550A",
     provider_name:      "Jan Kiszka",
 };

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to