Bret Yen-Ting Lin wrote:
Hi

Below are the response i get before adding my patch for both master/client, and attached 2 files are the response of the patched version.


Could you apply the attached patch to the original version of RTnet and report the results (kernel log)? Go to /rtmac/tdma and run "patch < tdma-test.patch". This only adds debug messages, it's no fix.


We are still trying to understand your problem. We think that there must be some issue with the magic in the task structure - for absolutely unknown reasons (the shutting down tdma_task_notify normally kills itself by returning which erases this value).

Jan
--- tdma_task.c.orig    2004-08-12 11:16:47.000000000 +0200
+++ tdma_task.c 2004-08-12 11:23:33.000000000 +0200
@@ -78,6 +78,7 @@
         rtos_task_delete(&tdma->tx_task);
     }
 
+rt_printk("task: %p, magic: %X\n", tdma->tx_task, tdma->tx_task.magic);
     if (cycle_ns != 0) {
         rtos_nanosecs_to_time(cycle_ns, &cycle_time);
         ret = rtos_task_init_periodic(&tdma->tx_task, task, (int)rtdev,
@@ -86,7 +87,7 @@
         ret = rtos_task_init(&tdma->tx_task, task, (int)rtdev,
                              TDMA_PRIO_TX_TASK);
     if (ret != 0)
-        TDMA_DEBUG(0, "RTmac: tdma: %s() not successful\n",__FUNCTION__);
+        TDMA_DEBUG(0, "RTmac: tdma: %s() not successful (%d)\n",__FUNCTION__,ret);
     else
         TDMA_DEBUG(2, "RTmac: tdma: %s() succsessful\n",__FUNCTION__);
 
@@ -125,6 +126,7 @@
     TDMA_DEBUG(2, "RTmac: tdma: %s() shutdown complete\n",__FUNCTION__);
     tdma->flags.task_active = 0;
     tdma->flags.shutdown_task = 0;
+rt_printk("task: %p, current: %p, magic: %X\n", tdma->tx_task, rt_whoami(), 
tdma->tx_task.magic);
 }
 
 

Reply via email to