fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / net / wan / x25_asy.c
index 8c5cfcb..1c9edd9 100644 (file)
@@ -107,13 +107,9 @@ static struct x25_asy *x25_asy_alloc(void)
 static void x25_asy_free(struct x25_asy *sl)
 {
        /* Free all X.25 frame buffers. */
-       if (sl->rbuff)  {
-               kfree(sl->rbuff);
-       }
+       kfree(sl->rbuff);
        sl->rbuff = NULL;
-       if (sl->xbuff)  {
-               kfree(sl->xbuff);
-       }
+       kfree(sl->xbuff);
        sl->xbuff = NULL;
 
        if (!test_and_clear_bit(SLF_INUSE, &sl->flags)) {
@@ -127,17 +123,15 @@ static int x25_asy_change_mtu(struct net_device *dev, int newmtu)
        unsigned char *xbuff, *rbuff;
        int len = 2* newmtu;
 
-       xbuff = (unsigned char *) kmalloc (len + 4, GFP_ATOMIC);
-       rbuff = (unsigned char *) kmalloc (len + 4, GFP_ATOMIC);
+       xbuff = kmalloc(len + 4, GFP_ATOMIC);
+       rbuff = kmalloc(len + 4, GFP_ATOMIC);
 
        if (xbuff == NULL || rbuff == NULL)  
        {
                printk("%s: unable to grow X.25 buffers, MTU change cancelled.\n",
                       dev->name);
-               if (xbuff != NULL)  
-                       kfree(xbuff);
-               if (rbuff != NULL)  
-                       kfree(rbuff);
+               kfree(xbuff);
+               kfree(rbuff);
                return -ENOMEM;
        }
 
@@ -169,10 +163,8 @@ static int x25_asy_change_mtu(struct net_device *dev, int newmtu)
 
        spin_unlock_bh(&sl->lock);
 
-       if (xbuff != NULL) 
-               kfree(xbuff);
-       if (rbuff != NULL)
-               kfree(rbuff);
+       kfree(xbuff);
+       kfree(rbuff);
        return 0;
 }
 
@@ -473,11 +465,11 @@ static int x25_asy_open(struct net_device *dev)
 
        len = dev->mtu * 2;
 
-       sl->rbuff = (unsigned char *) kmalloc(len + 4, GFP_KERNEL);
+       sl->rbuff = kmalloc(len + 4, GFP_KERNEL);
        if (sl->rbuff == NULL)   {
                goto norbuff;
        }
-       sl->xbuff = (unsigned char *) kmalloc(len + 4, GFP_KERNEL);
+       sl->xbuff = kmalloc(len + 4, GFP_KERNEL);
        if (sl->xbuff == NULL)   {
                goto noxbuff;
        }
@@ -523,11 +515,6 @@ static int x25_asy_close(struct net_device *dev)
        return 0;
 }
 
-static int x25_asy_receive_room(struct tty_struct *tty)
-{
-       return 65536;  /* We can handle an infinite amount of data. :-) */
-}
-
 /*
  * Handle the 'receiver data ready' interrupt.
  * This function is called by the 'tty_io' module in the kernel when
@@ -581,6 +568,7 @@ static int x25_asy_open_tty(struct tty_struct *tty)
 
        sl->tty = tty;
        tty->disc_data = sl;
+       tty->receive_room = 65536;
        if (tty->driver->flush_buffer)  {
                tty->driver->flush_buffer(tty);
        }
@@ -787,7 +775,6 @@ static struct tty_ldisc x25_ldisc = {
        .close          = x25_asy_close_tty,
        .ioctl          = x25_asy_ioctl,
        .receive_buf    = x25_asy_receive_buf,
-       .receive_room   = x25_asy_receive_room,
        .write_wakeup   = x25_asy_write_wakeup,
 };
 
@@ -837,7 +824,7 @@ static void __exit exit_x25_asy(void)
        }
 
        kfree(x25_asy_devs);
-       tty_register_ldisc(N_X25, NULL);
+       tty_unregister_ldisc(N_X25);
 }
 
 module_init(init_x25_asy);