]> rtime.felk.cvut.cz Git - frescor/fna.git/commitdiff
found the bug.. actually it was a very serious bug that affected fragmentation of...
authorsangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Wed, 23 Apr 2008 16:09:46 +0000 (16:09 +0000)
committersangorrin <sangorrin@35b4ef3e-fd22-0410-ab77-dab3279adceb>
Wed, 23 Apr 2008 16:09:46 +0000 (16:09 +0000)
git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1138 35b4ef3e-fd22-0410-ab77-dab3279adceb

src_frescan/frescan.c
src_frescan/frescan_bwres_messages.c
src_frescan/frescan_config.h

index fcfcf973c79d08e3b82cb7a8b8a2032266eaec6b..8b0e930d5d3f07b99ffd987e41a83ee998949f16 100644 (file)
@@ -444,7 +444,7 @@ static int frescan_hook_frame_recv (const struct can_chip_t *chip,
         packet = frescan_packets_alloc();
         packet->frame = frame;
 
-        if (frag_id == 0) {
+        if (frag_id == FRESCAN_MX_IDS) {
                 head = the_networks[net].id_fp_queues[prio];
         } else {
                 head = the_networks[net].id_queues[frag_id];
@@ -457,7 +457,7 @@ static int frescan_hook_frame_recv (const struct can_chip_t *chip,
                 head = frescan_packets_alloc();
                 INIT_LIST_HEAD(&head->msg_list);
 
-                if (frag_id == 0) {
+                if (frag_id == FRESCAN_MX_IDS) {
                         the_networks[net].id_fp_queues[prio] = head;
                 } else {
                         the_networks[net].id_queues[frag_id] = head;
@@ -478,7 +478,7 @@ static int frescan_hook_frame_recv (const struct can_chip_t *chip,
                         return -1;
                 }
 
-                if (frag_id == 0) {
+                if (frag_id == FRESCAN_MX_IDS) {
                         the_networks[net].id_fp_queues[prio] = NULL;
                 } else {
                         the_networks[net].id_queues[frag_id] = NULL;
index 870af2b56f8c0d2a9a3d345b00b23aadf0d9ca2e..b19ce127098d9db2ce1b5955d139c7b39b4b2cd8 100644 (file)
@@ -84,6 +84,9 @@ static int frescan_request_to_neg_message(const frescan_request_data_t *data,
         neg_msg->ss       = data->ss;
         neg_msg->contract = *(data->contract);
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d req:%d ss:%d\n",
+              neg_msg->type, neg_msg->req, neg_msg->ss);
+
         return sizeof(struct frescan_req_neg_message_t);
 }
 
@@ -99,6 +102,9 @@ static int frescan_neg_message_to_request(const uint8_t *msg,
         data->ss          = neg_msg->ss;
         *(data->contract) = neg_msg->contract;
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d req:%d ss:%d\n",
+              data->type, data->req, data->ss);
+
         return 0;
 }
 
@@ -139,6 +145,9 @@ static int frescan_request_to_reneg_message(const frescan_request_data_t *data,
         reneg_msg->ss       = data->ss;
         reneg_msg->contract = *(data->contract);
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d req:%d ss:%d\n",
+              reneg_msg->type, reneg_msg->req, reneg_msg->ss);
+
         return sizeof(struct frescan_req_reneg_message_t);
 }
 
@@ -154,6 +163,9 @@ static int frescan_reneg_message_to_request(const uint8_t *msg,
         data->ss          = reneg_msg->ss;
         *(data->contract) = reneg_msg->contract;
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d req:%d ss:%d\n",
+              data->type, data->req, data->ss);
+
         return 0;
 }
 
@@ -186,6 +198,9 @@ static int frescan_request_to_cancel_message(const frescan_request_data_t *data,
         cancel_msg->type     = FRESCAN_REQ_CANCEL;
         cancel_msg->ss       = data->ss;
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d ss:%d\n",
+              cancel_msg->type, cancel_msg->ss);
+
         return sizeof(struct frescan_req_cancel_message_t);
 }
 
@@ -199,6 +214,9 @@ static int frescan_cancel_message_to_request(const uint8_t *msg,
         data->type        = FRESCAN_REQ_CANCEL;
         data->ss          = cancel_msg->ss;
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d ss:%d\n",
+              data->type, data->ss);
+
         return 0;
 }
 
@@ -237,6 +255,9 @@ static int frescan_request_to_repneg_message(const frescan_request_data_t *data,
         repneg_msg->return_value = data->return_value;
         repneg_msg->final_values = data->final_values;
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d req:%d ret:%d\n",
+              repneg_msg->type, repneg_msg->req, repneg_msg->return_value);
+
         return sizeof(struct frescan_rep_neg_message_t);
 }
 
@@ -252,6 +273,9 @@ static int frescan_repneg_message_to_request(const uint8_t *msg,
         data->return_value = repneg_msg->return_value;
         data->final_values = repneg_msg->final_values;
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "type:%d req:%d ret:%d\n",
+              data->type, data->req, data->return_value);
+
         return 0;
 }
 
@@ -293,12 +317,12 @@ int frescan_messages_send_request(const frescan_request_data_t *req_data)
                         return -1;
         }
 
-        DEBUG(true, "request type %X sent, size %d\n",
-              *(frescan_request_type_t *)msg, size);
-
         ret = frescan_send(&send_params[req_data->net], msg, size);
         if (ret != 0) return ret;
 
+        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG, "sent request, type:%X size:%d\n",
+              *(frescan_request_type_t *)msg, size);
+
         return 0;
 }
 
@@ -328,10 +352,6 @@ int frescan_messages_recv_request(frescan_network_t    net,
         ret = frescan_requests_get_data(*req, &req_data);
         if (ret != 0) return ret;
 
-        DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG,
-              "wait for a msg, net:%u chan:%u flags:%u\n",
-              net, recv_params[net].channel, recv_params[net].flags);
-
         ret = frescan_recv(&recv_params[net],
                             msg,
                             sizeof(msg),
@@ -341,8 +361,9 @@ int frescan_messages_recv_request(frescan_network_t    net,
         if (ret != 0) return ret;
 
         DEBUG(FRESCAN_MESSAGES_ENABLE_DEBUG,
-              "msg received, from:%u size:%u prio:%u\n",
-              from, recv_bytes, prio);
+              "msg received! from:%u size:%u prio:%u chan:%u flags:%X\n",
+              from, recv_bytes, prio, recv_params[net].channel,
+              recv_params[net].flags);
 
         req_data->request_node = from;
         req_data->net = net;
index a3c874abd17745999f47c92a2200f7a6fd5f29ff..d853d6378d85d7b9ff93d49351633cfd4af52f0b 100644 (file)
@@ -42,7 +42,7 @@
 #define FRESCAN_REPLY_OBJECTS_MX_CEILING 90
 #define FRESCAN_REQUESTS_MX_CEILING 90
 #define FRESCAN_BWRES_MX_PRIO     60
-#define FRESCAN_ACCEPTOR_THREAD_PRIO FRESCAN_NEG_THREAD_PRIO + 1
+#define FRESCAN_ACCEPTOR_THREAD_PRIO FRESCAN_NEG_THREAD_PRIO - 1
 #define FRESCAN_BWRES_NEG_MESSAGES_PRIO 8
 #define FRESCAN_NEG_CHANNEL       0
 #define FRESCAN_MX_NODES          2