git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 2.0 rc7
[linux-2.6.git]
/
drivers
/
net
/
wan
/
x25_asy.c
diff --git
a/drivers/net/wan/x25_asy.c
b/drivers/net/wan/x25_asy.c
index
4243fea
..
1c540d8
100644
(file)
--- a/
drivers/net/wan/x25_asy.c
+++ b/
drivers/net/wan/x25_asy.c
@@
-18,7
+18,7
@@
#include <asm/system.h>
#include <asm/uaccess.h>
#include <asm/system.h>
#include <asm/uaccess.h>
-#include <
asm
/bitops.h>
+#include <
linux
/bitops.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
#include <linux/string.h>
#include <linux/mm.h>
#include <linux/interrupt.h>
@@
-34,10
+34,12
@@
#include <linux/init.h>
#include "x25_asy.h"
#include <linux/init.h>
#include "x25_asy.h"
+#include <net/x25device.h>
+
static struct net_device **x25_asy_devs;
static int x25_asy_maxdev = SL_NRUNIT;
static struct net_device **x25_asy_devs;
static int x25_asy_maxdev = SL_NRUNIT;
-
MODULE_PARM(x25_asy_maxdev, "i"
);
+
module_param(x25_asy_maxdev, int, 0
);
MODULE_LICENSE("GPL");
static int x25_asy_esc(unsigned char *p, unsigned char *d, int len);
MODULE_LICENSE("GPL");
static int x25_asy_esc(unsigned char *p, unsigned char *d, int len);
@@
-105,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. */
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;
sl->rbuff = NULL;
- if (sl->xbuff) {
- kfree(sl->xbuff);
- }
+ kfree(sl->xbuff);
sl->xbuff = NULL;
if (!test_and_clear_bit(SLF_INUSE, &sl->flags)) {
sl->xbuff = NULL;
if (!test_and_clear_bit(SLF_INUSE, &sl->flags)) {
@@
-132,10
+130,8
@@
static int x25_asy_change_mtu(struct net_device *dev, int newmtu)
{
printk("%s: unable to grow X.25 buffers, MTU change cancelled.\n",
dev->name);
{
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;
}
return -ENOMEM;
}
@@
-167,10
+163,8
@@
static int x25_asy_change_mtu(struct net_device *dev, int newmtu)
spin_unlock_bh(&sl->lock);
spin_unlock_bh(&sl->lock);
- if (xbuff != NULL)
- kfree(xbuff);
- if (rbuff != NULL)
- kfree(rbuff);
+ kfree(xbuff);
+ kfree(rbuff);
return 0;
}
return 0;
}
@@
-209,10
+203,8
@@
static void x25_asy_bump(struct x25_asy *sl)
return;
}
skb_push(skb,1); /* LAPB internal control */
return;
}
skb_push(skb,1); /* LAPB internal control */
- skb->dev = sl->dev;
memcpy(skb_put(skb,count), sl->rbuff, count);
memcpy(skb_put(skb,count), sl->rbuff, count);
- skb->mac.raw=skb->data;
- skb->protocol=htons(ETH_P_X25);
+ skb->protocol = x25_type_trans(skb, sl->dev);
if((err=lapb_data_received(skb->dev, skb))!=LAPB_OK)
{
kfree_skb(skb);
if((err=lapb_data_received(skb->dev, skb))!=LAPB_OK)
{
kfree_skb(skb);
@@
-253,7
+245,7
@@
static void x25_asy_encaps(struct x25_asy *sl, unsigned char *icp, int len)
* 14 Oct 1994 Dmitry Gorodchanin.
*/
sl->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
* 14 Oct 1994 Dmitry Gorodchanin.
*/
sl->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
- actual = sl->tty->driver->write(sl->tty,
0,
sl->xbuff, count);
+ actual = sl->tty->driver->write(sl->tty, sl->xbuff, count);
sl->xleft = count - actual;
sl->xhead = sl->xbuff + actual;
/* VSV */
sl->xleft = count - actual;
sl->xhead = sl->xbuff + actual;
/* VSV */
@@
-283,7
+275,7
@@
static void x25_asy_write_wakeup(struct tty_struct *tty)
return;
}
return;
}
- actual = tty->driver->write(tty,
0,
sl->xhead, sl->xleft);
+ actual = tty->driver->write(tty, sl->xhead, sl->xleft);
sl->xleft -= actual;
sl->xhead += actual;
}
sl->xleft -= actual;
sl->xhead += actual;
}
@@
-419,11
+411,7
@@
static void x25_asy_connected(struct net_device *dev, int reason)
ptr = skb_put(skb, 1);
*ptr = 0x01;
ptr = skb_put(skb, 1);
*ptr = 0x01;
- skb->dev = sl->dev;
- skb->protocol = htons(ETH_P_X25);
- skb->mac.raw = skb->data;
- skb->pkt_type = PACKET_HOST;
-
+ skb->protocol = x25_type_trans(skb, sl->dev);
netif_rx(skb);
sl->dev->last_rx = jiffies;
}
netif_rx(skb);
sl->dev->last_rx = jiffies;
}
@@
-442,11
+430,7
@@
static void x25_asy_disconnected(struct net_device *dev, int reason)
ptr = skb_put(skb, 1);
*ptr = 0x02;
ptr = skb_put(skb, 1);
*ptr = 0x02;
- skb->dev = sl->dev;
- skb->protocol = htons(ETH_P_X25);
- skb->mac.raw = skb->data;
- skb->pkt_type = PACKET_HOST;
-
+ skb->protocol = x25_type_trans(skb, sl->dev);
netif_rx(skb);
sl->dev->last_rx = jiffies;
}
netif_rx(skb);
sl->dev->last_rx = jiffies;
}
@@
-627,7
+611,7
@@
static void x25_asy_close_tty(struct tty_struct *tty)
(void) dev_close(sl->dev);
}
(void) dev_close(sl->dev);
}
- tty->disc_data =
0
;
+ tty->disc_data =
NULL
;
sl->tty = NULL;
x25_asy_free(sl);
}
sl->tty = NULL;
x25_asy_free(sl);
}
@@
-733,7
+717,7
@@
static int x25_asy_ioctl(struct tty_struct *tty, struct file *file,
switch(cmd) {
case SIOCGIFNAME:
switch(cmd) {
case SIOCGIFNAME:
- if (copy_to_user((void *)arg, sl->dev->name,
+ if (copy_to_user((void
__user
*)arg, sl->dev->name,
strlen(sl->dev->name) + 1))
return -EFAULT;
return 0;
strlen(sl->dev->name) + 1))
return -EFAULT;
return 0;