From b974f0fd4ed39eeb0de372c1d577068704000078 Mon Sep 17 00:00:00 2001 From: sangorrin Date: Thu, 19 Feb 2009 20:56:12 +0000 Subject: [PATCH] improve a bit some error messages git-svn-id: http://www.frescor.org/private/svn/frescor/fna/trunk@1556 35b4ef3e-fd22-0410-ab77-dab3279adceb --- src_frescan/frescan.c | 13 ++++++++++++- src_frescan/frescan_bwres_fna.c | 10 ++++++++-- src_frescan/frescan_debug.h | 11 ++++++++--- src_frescan/frescan_packets.c | 1 + 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/src_frescan/frescan.c b/src_frescan/frescan.c index 30f02c2..c2f5c7e 100644 --- a/src_frescan/frescan.c +++ b/src_frescan/frescan.c @@ -121,6 +121,7 @@ int frescan_init(frescan_init_params_t *params) fd = open (can_path, O_RDWR); if (fd == -1) { FRESCAN_ERROR ("could not open /dev/can%u\n", params->net); + FRESCAN_ERROR ("hint: check driver or card installation\n"); return -1; } @@ -486,10 +487,15 @@ static int frescan_hook_frame_recv (const struct can_chip_t *chip, DEBUG(FRESCAN_RX_HOOK_ENABLE_DEBUG || FRESCAN_FRAG_ENABLE_DEBUG, "prio:%u dest:%u src:%u chan:%u id:%u flag:%u\n", prio, dest, src, channel, frag_id, frag_flag); - DEBUG(FRESCAN_RX_HOOK_ENABLE_DEBUG, "enqueue the packet in ID queue\n"); + packet = frescan_packets_alloc(); + if (packet == NULL) { + FRESCAN_ERROR("could not allocate packet\n"); + return -1; + } + packet->frame = frame; if (frag_id == FRESCAN_MX_IDS) { @@ -503,6 +509,11 @@ static int frescan_hook_frame_recv (const struct can_chip_t *chip, FRESCAN_FRAG_ENABLE_DEBUG, "allocate head for id=%u\n", frag_id); head = frescan_packets_alloc(); + if (head == NULL) { + FRESCAN_ERROR("could not allocate packet\n"); + return -1; + } + INIT_LIST_HEAD(&head->msg_list); if (frag_id == FRESCAN_MX_IDS) { diff --git a/src_frescan/frescan_bwres_fna.c b/src_frescan/frescan_bwres_fna.c index 4dc11a9..cfff706 100644 --- a/src_frescan/frescan_bwres_fna.c +++ b/src_frescan/frescan_bwres_fna.c @@ -110,12 +110,18 @@ int frescan_fna_init(const frsh_resource_id_t resource_id) "Initializing FRESCAN FNA node%u\n", init_params.node); ret = frescan_init(&init_params); - if (ret != 0) FRESCAN_ERROR ("could not init FRESCAN"); + if (ret != 0) { + FRESCAN_ERROR ("could not init FRESCAN\n"); + return ret; + } DEBUG(FRESCAN_BWRES_FNA_ENABLE_DEBUG, "Initializing BWRES\n"); ret = frescan_bwres_init(init_params.net); - if (ret != 0) FRESCAN_ERROR ("could not init BWRES"); + if (ret != 0) { + FRESCAN_ERROR ("could not init BWRES\n"); + return ret; + } return 0; } diff --git a/src_frescan/frescan_debug.h b/src_frescan/frescan_debug.h index 0f2222b..32546c7 100644 --- a/src_frescan/frescan_debug.h +++ b/src_frescan/frescan_debug.h @@ -78,9 +78,14 @@ * DEBUG macros **/ -#define DEBUG(enable,x,args...) if(enable) printc("DEBUG (%s): " x, __func__ , ##args) -#define FRESCAN_ERROR(x,args...) {printe("ERROR (%s:%u): " x, __func__ , __LINE__ , ##args); exit(-1);} -#define FRESCAN_WARNING(x,args...) printe("WARNING (%s): " x, __func__ , ##args) +#define DEBUG(enable,x,args...) \ + if(enable) printc("DEBUG (%s): " x, __func__ , ##args) + +#define FRESCAN_ERROR(x,args...) \ + printe("ERROR (%s:%u): " x, __func__ , __LINE__ , ##args) + +#define FRESCAN_WARNING(x,args...) \ + printe("WARNING (%s): " x, __func__ , ##args) /** * DEBUGGING FLAGS to enable/disable debugging messages diff --git a/src_frescan/frescan_packets.c b/src_frescan/frescan_packets.c index c404225..5fc5520 100644 --- a/src_frescan/frescan_packets.c +++ b/src_frescan/frescan_packets.c @@ -111,6 +111,7 @@ frescan_packet_t *frescan_packets_alloc() { pos = freelist_alloc(&the_packet_pool_freelist); if (pos == -1) { FRESCAN_ERROR("could not allocate packet\n"); + FRESCAN_ERROR("hint: configure FRESCAN_MX_PACKETS\n"); return NULL; } -- 2.39.2