[PATCH] 2.4.20 n_hdlc.c

From: Paul Fulghum (paulkf@microgate.com)
Date: Thu Dec 19 2002 - 15:41:18 EST


Make global func/var static to avoid namespace polution.
Fix memory leak.

--- linux-2.4.20/drivers/char/n_hdlc.c Mon Feb 25 13:37:57 2002
+++ linux-2.4.20-mg/drivers/char/n_hdlc.c Thu Dec 19 12:01:09 2002
@@ -9,7 +9,7 @@
  * Al Longyear <longyear@netcom.com>, Paul Mackerras <Paul.Mackerras@cs.anu.edu.au>
  *
  * Original release 01/11/99
- * $Id: n_hdlc.c,v 3.3 2001/11/08 16:16:03 paulkf Exp $
+ * $Id: n_hdlc.c,v 3.6 2002/12/19 18:58:56 paulkf Exp $
  *
  * This code is released under the GNU General Public License (GPL)
  *
@@ -78,7 +78,7 @@
  */
 
 #define HDLC_MAGIC 0x239e
-#define HDLC_VERSION "$Revision: 3.3 $"
+#define HDLC_VERSION "$Revision: 3.6 $"
 
 #include <linux/version.h>
 #include <linux/config.h>
@@ -172,9 +172,9 @@
 /*
  * HDLC buffer list manipulation functions
  */
-void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list);
-void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf);
-N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list);
+static void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list);
+static void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf);
+static N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list);
 
 /* Local functions */
 
@@ -186,10 +186,10 @@
 
 /* debug level can be set by insmod for debugging purposes */
 #define DEBUG_LEVEL_INFO 1
-int debuglevel=0;
+static int debuglevel=0;
 
 /* max frame size for memory allocations */
-ssize_t maxframe=4096;
+static ssize_t maxframe=4096;
 
 /* TTY callbacks */
 
@@ -265,7 +265,8 @@
                 } else
                         break;
         }
-
+ if (n_hdlc->tbuf)
+ kfree(n_hdlc->tbuf);
         kfree(n_hdlc);
         
 } /* end of n_hdlc_release() */
@@ -905,7 +906,7 @@
  * Arguments: list pointer to buffer list
  * Return Value: None
  */
-void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list)
+static void n_hdlc_buf_list_init(N_HDLC_BUF_LIST *list)
 {
         memset(list,0,sizeof(N_HDLC_BUF_LIST));
         spin_lock_init(&list->spinlock);
@@ -922,7 +923,7 @@
  *
  * Return Value: None
  */
-void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf)
+static void n_hdlc_buf_put(N_HDLC_BUF_LIST *list,N_HDLC_BUF *buf)
 {
         unsigned long flags;
         spin_lock_irqsave(&list->spinlock,flags);
@@ -952,7 +953,7 @@
  *
  * pointer to HDLC buffer if available, otherwise NULL
  */
-N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list)
+static N_HDLC_BUF* n_hdlc_buf_get(N_HDLC_BUF_LIST *list)
 {
         unsigned long flags;
         N_HDLC_BUF *buf;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Dec 23 2002 - 22:00:24 EST