From 446346b22245a238d8d70390797b9749eac03788 Mon Sep 17 00:00:00 2001 From: ppisa Date: Thu, 2 Jun 2005 00:19:50 +0000 Subject: [PATCH] Ensure free of checked alloc memory in the case that module_init fails and unused Unican function deleted. --- lincan/src/main.c | 8 ++++++-- lincan/src/unican.c | 12 ------------ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/lincan/src/main.c b/lincan/src/main.c index bb6abbf..60eb6e6 100644 --- a/lincan/src/main.c +++ b/lincan/src/main.c @@ -195,7 +195,7 @@ int init_module(void) res=register_chrdev(major,DEVICE_NAME, &can_fops); if (res<0) { CANMSG("Error registering driver.\n"); - return -ENODEV; + goto register_error; } #ifdef CAN_WITH_RTL @@ -300,8 +300,12 @@ int init_module(void) CANMSG("Error unloading CAN driver, error: %d\n",res); else CANMSG("No CAN devices or driver setup error.\n"); - return -ENODEV; + register_error: + if ( can_del_mem_list() ) + CANMSG("Error deallocating memory\n"); + + return -ENODEV; } void cleanup_module(void) diff --git a/lincan/src/unican.c b/lincan/src/unican.c index f72bacc..df556d6 100644 --- a/lincan/src/unican.c +++ b/lincan/src/unican.c @@ -29,18 +29,6 @@ static void unican_delay(long msdelay) } - -long unican_bus_latency(struct msgobj_t *obj) -{ - long latency; - latency=obj->hostchip->baudrate; - if(latency){ - latency=(long)HZ*1000/latency; - } - return latency; -} - - /* * * unican Chip Functionality * * */ int unican_enable_configuration(struct canchip_t *chip) -- 2.39.2