aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wan
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2010-05-22 02:36:56 -0400
committerGrant Likely <grant.likely@secretlab.ca>2010-05-22 02:36:56 -0400
commitcf9b59e9d3e008591d1f54830f570982bb307a0d (patch)
tree113478ce8fd8c832ba726ffdf59b82cb46356476 /drivers/net/wan
parent44504b2bebf8b5823c59484e73096a7d6574471d (diff)
parentf4b87dee923342505e1ddba8d34ce9de33e75050 (diff)
Merge remote branch 'origin' into secretlab/next-devicetree
Merging in current state of Linus' tree to deal with merge conflicts and build failures in vio.c after merge. Conflicts: drivers/i2c/busses/i2c-cpm.c drivers/i2c/busses/i2c-mpc.c drivers/net/gianfar.c Also fixed up one line in arch/powerpc/kernel/vio.c to use the correct node pointer. Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Diffstat (limited to 'drivers/net/wan')
-rw-r--r--drivers/net/wan/cycx_x25.c13
-rw-r--r--drivers/net/wan/dscc4.c2
-rw-r--r--drivers/net/wan/hd64570.c1
-rw-r--r--drivers/net/wan/hd64572.c1
-rw-r--r--drivers/net/wan/hdlc_x25.c12
-rw-r--r--drivers/net/wan/ixp4xx_hss.c1
-rw-r--r--drivers/net/wan/lapbether.c12
-rw-r--r--drivers/net/wan/lmc/lmc_main.c6
-rw-r--r--drivers/net/wan/pc300_drv.c5
-rw-r--r--drivers/net/wan/pc300_tty.c2
-rw-r--r--drivers/net/wan/sdla.c2
-rw-r--r--drivers/net/wan/wanxl.c1
-rw-r--r--drivers/net/wan/x25_asy.c12
13 files changed, 32 insertions, 38 deletions
diff --git a/drivers/net/wan/cycx_x25.c b/drivers/net/wan/cycx_x25.c
index cd8cb95c5bd7..cf9e15fd8d91 100644
--- a/drivers/net/wan/cycx_x25.c
+++ b/drivers/net/wan/cycx_x25.c
@@ -634,11 +634,12 @@ static netdev_tx_t cycx_netdevice_hard_start_xmit(struct sk_buff *skb,
634 } 634 }
635 } else { /* chan->protocol == ETH_P_X25 */ 635 } else { /* chan->protocol == ETH_P_X25 */
636 switch (skb->data[0]) { 636 switch (skb->data[0]) {
637 case 0: break; 637 case X25_IFACE_DATA:
638 case 1: /* Connect request */ 638 break;
639 case X25_IFACE_CONNECT:
639 cycx_x25_chan_connect(dev); 640 cycx_x25_chan_connect(dev);
640 goto free_packet; 641 goto free_packet;
641 case 2: /* Disconnect request */ 642 case X25_IFACE_DISCONNECT:
642 cycx_x25_chan_disconnect(dev); 643 cycx_x25_chan_disconnect(dev);
643 goto free_packet; 644 goto free_packet;
644 default: 645 default:
@@ -1406,7 +1407,8 @@ static void cycx_x25_set_chan_state(struct net_device *dev, u8 state)
1406 reset_timer(dev); 1407 reset_timer(dev);
1407 1408
1408 if (chan->protocol == ETH_P_X25) 1409 if (chan->protocol == ETH_P_X25)
1409 cycx_x25_chan_send_event(dev, 1); 1410 cycx_x25_chan_send_event(dev,
1411 X25_IFACE_CONNECT);
1410 1412
1411 break; 1413 break;
1412 case WAN_CONNECTING: 1414 case WAN_CONNECTING:
@@ -1424,7 +1426,8 @@ static void cycx_x25_set_chan_state(struct net_device *dev, u8 state)
1424 } 1426 }
1425 1427
1426 if (chan->protocol == ETH_P_X25) 1428 if (chan->protocol == ETH_P_X25)
1427 cycx_x25_chan_send_event(dev, 2); 1429 cycx_x25_chan_send_event(dev,
1430 X25_IFACE_DISCONNECT);
1428 1431
1429 netif_wake_queue(dev); 1432 netif_wake_queue(dev);
1430 break; 1433 break;
diff --git a/drivers/net/wan/dscc4.c b/drivers/net/wan/dscc4.c
index a4859f7a7cc0..d45b08d1dbc9 100644
--- a/drivers/net/wan/dscc4.c
+++ b/drivers/net/wan/dscc4.c
@@ -1175,8 +1175,6 @@ static netdev_tx_t dscc4_start_xmit(struct sk_buff *skb,
1175 spin_unlock(&dpriv->lock); 1175 spin_unlock(&dpriv->lock);
1176#endif 1176#endif
1177 1177
1178 dev->trans_start = jiffies;
1179
1180 if (debug > 2) 1178 if (debug > 2)
1181 dscc4_tx_print(dev, dpriv, "Xmit"); 1179 dscc4_tx_print(dev, dpriv, "Xmit");
1182 /* To be cleaned(unsigned int)/optimized. Later, ok ? */ 1180 /* To be cleaned(unsigned int)/optimized. Later, ok ? */
diff --git a/drivers/net/wan/hd64570.c b/drivers/net/wan/hd64570.c
index 4dde2ea4a189..a3ea27ce04f2 100644
--- a/drivers/net/wan/hd64570.c
+++ b/drivers/net/wan/hd64570.c
@@ -658,7 +658,6 @@ static netdev_tx_t sca_xmit(struct sk_buff *skb, struct net_device *dev)
658#endif 658#endif
659 writew(len, &desc->len); 659 writew(len, &desc->len);
660 writeb(ST_TX_EOM, &desc->stat); 660 writeb(ST_TX_EOM, &desc->stat);
661 dev->trans_start = jiffies;
662 661
663 port->txin = next_desc(port, port->txin, 1); 662 port->txin = next_desc(port, port->txin, 1);
664 sca_outw(desc_offset(port, port->txin, 1), 663 sca_outw(desc_offset(port, port->txin, 1),
diff --git a/drivers/net/wan/hd64572.c b/drivers/net/wan/hd64572.c
index aad9ed45c254..ea476cbd38b5 100644
--- a/drivers/net/wan/hd64572.c
+++ b/drivers/net/wan/hd64572.c
@@ -585,7 +585,6 @@ static netdev_tx_t sca_xmit(struct sk_buff *skb, struct net_device *dev)
585 585
586 writew(len, &desc->len); 586 writew(len, &desc->len);
587 writeb(ST_TX_EOM, &desc->stat); 587 writeb(ST_TX_EOM, &desc->stat);
588 dev->trans_start = jiffies;
589 588
590 port->txin = (port->txin + 1) % card->tx_ring_buffers; 589 port->txin = (port->txin + 1) % card->tx_ring_buffers;
591 sca_outl(desc_offset(port, port->txin, 1), 590 sca_outl(desc_offset(port, port->txin, 1),
diff --git a/drivers/net/wan/hdlc_x25.c b/drivers/net/wan/hdlc_x25.c
index c7adbb79f7cc..70527e5a54a2 100644
--- a/drivers/net/wan/hdlc_x25.c
+++ b/drivers/net/wan/hdlc_x25.c
@@ -49,14 +49,14 @@ static void x25_connect_disconnect(struct net_device *dev, int reason, int code)
49 49
50static void x25_connected(struct net_device *dev, int reason) 50static void x25_connected(struct net_device *dev, int reason)
51{ 51{
52 x25_connect_disconnect(dev, reason, 1); 52 x25_connect_disconnect(dev, reason, X25_IFACE_CONNECT);
53} 53}
54 54
55 55
56 56
57static void x25_disconnected(struct net_device *dev, int reason) 57static void x25_disconnected(struct net_device *dev, int reason)
58{ 58{
59 x25_connect_disconnect(dev, reason, 2); 59 x25_connect_disconnect(dev, reason, X25_IFACE_DISCONNECT);
60} 60}
61 61
62 62
@@ -71,7 +71,7 @@ static int x25_data_indication(struct net_device *dev, struct sk_buff *skb)
71 return NET_RX_DROP; 71 return NET_RX_DROP;
72 72
73 ptr = skb->data; 73 ptr = skb->data;
74 *ptr = 0; 74 *ptr = X25_IFACE_DATA;
75 75
76 skb->protocol = x25_type_trans(skb, dev); 76 skb->protocol = x25_type_trans(skb, dev);
77 return netif_rx(skb); 77 return netif_rx(skb);
@@ -94,13 +94,13 @@ static netdev_tx_t x25_xmit(struct sk_buff *skb, struct net_device *dev)
94 94
95 /* X.25 to LAPB */ 95 /* X.25 to LAPB */
96 switch (skb->data[0]) { 96 switch (skb->data[0]) {
97 case 0: /* Data to be transmitted */ 97 case X25_IFACE_DATA: /* Data to be transmitted */
98 skb_pull(skb, 1); 98 skb_pull(skb, 1);
99 if ((result = lapb_data_request(dev, skb)) != LAPB_OK) 99 if ((result = lapb_data_request(dev, skb)) != LAPB_OK)
100 dev_kfree_skb(skb); 100 dev_kfree_skb(skb);
101 return NETDEV_TX_OK; 101 return NETDEV_TX_OK;
102 102
103 case 1: 103 case X25_IFACE_CONNECT:
104 if ((result = lapb_connect_request(dev))!= LAPB_OK) { 104 if ((result = lapb_connect_request(dev))!= LAPB_OK) {
105 if (result == LAPB_CONNECTED) 105 if (result == LAPB_CONNECTED)
106 /* Send connect confirm. msg to level 3 */ 106 /* Send connect confirm. msg to level 3 */
@@ -112,7 +112,7 @@ static netdev_tx_t x25_xmit(struct sk_buff *skb, struct net_device *dev)
112 } 112 }
113 break; 113 break;
114 114
115 case 2: 115 case X25_IFACE_DISCONNECT:
116 if ((result = lapb_disconnect_request(dev)) != LAPB_OK) { 116 if ((result = lapb_disconnect_request(dev)) != LAPB_OK) {
117 if (result == LAPB_NOTCONNECTED) 117 if (result == LAPB_NOTCONNECTED)
118 /* Send disconnect confirm. msg to level 3 */ 118 /* Send disconnect confirm. msg to level 3 */
diff --git a/drivers/net/wan/ixp4xx_hss.c b/drivers/net/wan/ixp4xx_hss.c
index 0c2cdde686a0..88e363033e23 100644
--- a/drivers/net/wan/ixp4xx_hss.c
+++ b/drivers/net/wan/ixp4xx_hss.c
@@ -891,7 +891,6 @@ static int hss_hdlc_xmit(struct sk_buff *skb, struct net_device *dev)
891 891
892 wmb(); 892 wmb();
893 queue_put_desc(queue_ids[port->id].tx, tx_desc_phys(port, n), desc); 893 queue_put_desc(queue_ids[port->id].tx, tx_desc_phys(port, n), desc);
894 dev->trans_start = jiffies;
895 894
896 if (qmgr_stat_below_low_watermark(txreadyq)) { /* empty */ 895 if (qmgr_stat_below_low_watermark(txreadyq)) { /* empty */
897#if DEBUG_TX 896#if DEBUG_TX
diff --git a/drivers/net/wan/lapbether.c b/drivers/net/wan/lapbether.c
index 98e2f99903d7..4d4dc38c7290 100644
--- a/drivers/net/wan/lapbether.c
+++ b/drivers/net/wan/lapbether.c
@@ -139,7 +139,7 @@ static int lapbeth_data_indication(struct net_device *dev, struct sk_buff *skb)
139 return NET_RX_DROP; 139 return NET_RX_DROP;
140 140
141 ptr = skb->data; 141 ptr = skb->data;
142 *ptr = 0x00; 142 *ptr = X25_IFACE_DATA;
143 143
144 skb->protocol = x25_type_trans(skb, dev); 144 skb->protocol = x25_type_trans(skb, dev);
145 return netif_rx(skb); 145 return netif_rx(skb);
@@ -161,14 +161,14 @@ static netdev_tx_t lapbeth_xmit(struct sk_buff *skb,
161 goto drop; 161 goto drop;
162 162
163 switch (skb->data[0]) { 163 switch (skb->data[0]) {
164 case 0x00: 164 case X25_IFACE_DATA:
165 break; 165 break;
166 case 0x01: 166 case X25_IFACE_CONNECT:
167 if ((err = lapb_connect_request(dev)) != LAPB_OK) 167 if ((err = lapb_connect_request(dev)) != LAPB_OK)
168 printk(KERN_ERR "lapbeth: lapb_connect_request " 168 printk(KERN_ERR "lapbeth: lapb_connect_request "
169 "error: %d\n", err); 169 "error: %d\n", err);
170 goto drop; 170 goto drop;
171 case 0x02: 171 case X25_IFACE_DISCONNECT:
172 if ((err = lapb_disconnect_request(dev)) != LAPB_OK) 172 if ((err = lapb_disconnect_request(dev)) != LAPB_OK)
173 printk(KERN_ERR "lapbeth: lapb_disconnect_request " 173 printk(KERN_ERR "lapbeth: lapb_disconnect_request "
174 "err: %d\n", err); 174 "err: %d\n", err);
@@ -225,7 +225,7 @@ static void lapbeth_connected(struct net_device *dev, int reason)
225 } 225 }
226 226
227 ptr = skb_put(skb, 1); 227 ptr = skb_put(skb, 1);
228 *ptr = 0x01; 228 *ptr = X25_IFACE_CONNECT;
229 229
230 skb->protocol = x25_type_trans(skb, dev); 230 skb->protocol = x25_type_trans(skb, dev);
231 netif_rx(skb); 231 netif_rx(skb);
@@ -242,7 +242,7 @@ static void lapbeth_disconnected(struct net_device *dev, int reason)
242 } 242 }
243 243
244 ptr = skb_put(skb, 1); 244 ptr = skb_put(skb, 1);
245 *ptr = 0x02; 245 *ptr = X25_IFACE_DISCONNECT;
246 246
247 skb->protocol = x25_type_trans(skb, dev); 247 skb->protocol = x25_type_trans(skb, dev);
248 netif_rx(skb); 248 netif_rx(skb);
diff --git a/drivers/net/wan/lmc/lmc_main.c b/drivers/net/wan/lmc/lmc_main.c
index b27850377121..e2c6f7f4f51c 100644
--- a/drivers/net/wan/lmc/lmc_main.c
+++ b/drivers/net/wan/lmc/lmc_main.c
@@ -1506,8 +1506,6 @@ static netdev_tx_t lmc_start_xmit(struct sk_buff *skb,
1506 /* send now! */ 1506 /* send now! */
1507 LMC_CSR_WRITE (sc, csr_txpoll, 0); 1507 LMC_CSR_WRITE (sc, csr_txpoll, 0);
1508 1508
1509 dev->trans_start = jiffies;
1510
1511 spin_unlock_irqrestore(&sc->lmc_lock, flags); 1509 spin_unlock_irqrestore(&sc->lmc_lock, flags);
1512 1510
1513 lmc_trace(dev, "lmc_start_xmit_out"); 1511 lmc_trace(dev, "lmc_start_xmit_out");
@@ -2103,7 +2101,7 @@ static void lmc_driver_timeout(struct net_device *dev)
2103 printk("%s: Xmitter busy|\n", dev->name); 2101 printk("%s: Xmitter busy|\n", dev->name);
2104 2102
2105 sc->extra_stats.tx_tbusy_calls++; 2103 sc->extra_stats.tx_tbusy_calls++;
2106 if (jiffies - dev->trans_start < TX_TIMEOUT) 2104 if (jiffies - dev_trans_start(dev) < TX_TIMEOUT)
2107 goto bug_out; 2105 goto bug_out;
2108 2106
2109 /* 2107 /*
@@ -2135,7 +2133,7 @@ static void lmc_driver_timeout(struct net_device *dev)
2135 sc->lmc_device->stats.tx_errors++; 2133 sc->lmc_device->stats.tx_errors++;
2136 sc->extra_stats.tx_ProcTimeout++; /* -baz */ 2134 sc->extra_stats.tx_ProcTimeout++; /* -baz */
2137 2135
2138 dev->trans_start = jiffies; 2136 dev->trans_start = jiffies; /* prevent tx timeout */
2139 2137
2140bug_out: 2138bug_out:
2141 2139
diff --git a/drivers/net/wan/pc300_drv.c b/drivers/net/wan/pc300_drv.c
index 3f744c643094..c6aa66e5b52f 100644
--- a/drivers/net/wan/pc300_drv.c
+++ b/drivers/net/wan/pc300_drv.c
@@ -396,7 +396,7 @@ static void tx1_dma_buf_check(pc300_t * card, int ch)
396 u16 next_bd = card->chan[ch].tx_next_bd; 396 u16 next_bd = card->chan[ch].tx_next_bd;
397 u32 scabase = card->hw.scabase; 397 u32 scabase = card->hw.scabase;
398 398
399 printk ("\nnfree_tx_bd = %d \n", card->chan[ch].nfree_tx_bd); 399 printk ("\nnfree_tx_bd = %d\n", card->chan[ch].nfree_tx_bd);
400 printk("#CH%d: f_bd = %d(0x%08x), n_bd = %d(0x%08x)\n", ch, 400 printk("#CH%d: f_bd = %d(0x%08x), n_bd = %d(0x%08x)\n", ch,
401 first_bd, TX_BD_ADDR(ch, first_bd), 401 first_bd, TX_BD_ADDR(ch, first_bd),
402 next_bd, TX_BD_ADDR(ch, next_bd)); 402 next_bd, TX_BD_ADDR(ch, next_bd));
@@ -1790,7 +1790,7 @@ static void cpc_tx_timeout(struct net_device *dev)
1790 cpc_readb(card->hw.falcbase + card->hw.cpld_reg2) & 1790 cpc_readb(card->hw.falcbase + card->hw.cpld_reg2) &
1791 ~(CPLD_REG2_FALC_LED1 << (2 * ch))); 1791 ~(CPLD_REG2_FALC_LED1 << (2 * ch)));
1792 } 1792 }
1793 dev->trans_start = jiffies; 1793 dev->trans_start = jiffies; /* prevent tx timeout */
1794 CPC_UNLOCK(card, flags); 1794 CPC_UNLOCK(card, flags);
1795 netif_wake_queue(dev); 1795 netif_wake_queue(dev);
1796} 1796}
@@ -1849,7 +1849,6 @@ static int cpc_queue_xmit(struct sk_buff *skb, struct net_device *dev)
1849 if (d->trace_on) { 1849 if (d->trace_on) {
1850 cpc_trace(dev, skb, 'T'); 1850 cpc_trace(dev, skb, 'T');
1851 } 1851 }
1852 dev->trans_start = jiffies;
1853 1852
1854 /* Start transmission */ 1853 /* Start transmission */
1855 CPC_LOCK(card, flags); 1854 CPC_LOCK(card, flags);
diff --git a/drivers/net/wan/pc300_tty.c b/drivers/net/wan/pc300_tty.c
index 4917a94943bd..4293889e287e 100644
--- a/drivers/net/wan/pc300_tty.c
+++ b/drivers/net/wan/pc300_tty.c
@@ -366,7 +366,7 @@ static void cpc_tty_close(struct tty_struct *tty, struct file *flip)
366 int res; 366 int res;
367 367
368 if (!tty || !tty->driver_data ) { 368 if (!tty || !tty->driver_data ) {
369 CPC_TTY_DBG("hdlx-tty: no TTY in close \n"); 369 CPC_TTY_DBG("hdlx-tty: no TTY in close\n");
370 return; 370 return;
371 } 371 }
372 372
diff --git a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
index 31c41af2246d..43ae6f440bfb 100644
--- a/drivers/net/wan/sdla.c
+++ b/drivers/net/wan/sdla.c
@@ -1352,7 +1352,7 @@ static int sdla_set_config(struct net_device *dev, struct ifmap *map)
1352 return(-EINVAL); 1352 return(-EINVAL);
1353 1353
1354 if (!request_region(map->base_addr, SDLA_IO_EXTENTS, dev->name)){ 1354 if (!request_region(map->base_addr, SDLA_IO_EXTENTS, dev->name)){
1355 printk(KERN_WARNING "SDLA: io-port 0x%04lx in use \n", dev->base_addr); 1355 printk(KERN_WARNING "SDLA: io-port 0x%04lx in use\n", dev->base_addr);
1356 return(-EINVAL); 1356 return(-EINVAL);
1357 } 1357 }
1358 base = map->base_addr; 1358 base = map->base_addr;
diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index 541c700dceef..db73a7be199f 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -298,7 +298,6 @@ static netdev_tx_t wanxl_xmit(struct sk_buff *skb, struct net_device *dev)
298 desc->stat = PACKET_FULL; 298 desc->stat = PACKET_FULL;
299 writel(1 << (DOORBELL_TO_CARD_TX_0 + port->node), 299 writel(1 << (DOORBELL_TO_CARD_TX_0 + port->node),
300 port->card->plx + PLX_DOORBELL_TO_CARD); 300 port->card->plx + PLX_DOORBELL_TO_CARD);
301 dev->trans_start = jiffies;
302 301
303 port->tx_out = (port->tx_out + 1) % TX_BUFFERS; 302 port->tx_out = (port->tx_out + 1) % TX_BUFFERS;
304 303
diff --git a/drivers/net/wan/x25_asy.c b/drivers/net/wan/x25_asy.c
index 80d5c5834a0b..166e77dfffda 100644
--- a/drivers/net/wan/x25_asy.c
+++ b/drivers/net/wan/x25_asy.c
@@ -29,12 +29,12 @@
29#include <linux/etherdevice.h> 29#include <linux/etherdevice.h>
30#include <linux/skbuff.h> 30#include <linux/skbuff.h>
31#include <linux/if_arp.h> 31#include <linux/if_arp.h>
32#include <linux/x25.h>
33#include <linux/lapb.h> 32#include <linux/lapb.h>
34#include <linux/init.h> 33#include <linux/init.h>
35#include <linux/rtnetlink.h> 34#include <linux/rtnetlink.h>
36#include <linux/compat.h> 35#include <linux/compat.h>
37#include <linux/slab.h> 36#include <linux/slab.h>
37#include <net/x25device.h>
38#include "x25_asy.h" 38#include "x25_asy.h"
39 39
40#include <net/x25device.h> 40#include <net/x25device.h>
@@ -315,15 +315,15 @@ static netdev_tx_t x25_asy_xmit(struct sk_buff *skb,
315 } 315 }
316 316
317 switch (skb->data[0]) { 317 switch (skb->data[0]) {
318 case 0x00: 318 case X25_IFACE_DATA:
319 break; 319 break;
320 case 0x01: /* Connection request .. do nothing */ 320 case X25_IFACE_CONNECT: /* Connection request .. do nothing */
321 err = lapb_connect_request(dev); 321 err = lapb_connect_request(dev);
322 if (err != LAPB_OK) 322 if (err != LAPB_OK)
323 printk(KERN_ERR "x25_asy: lapb_connect_request error - %d\n", err); 323 printk(KERN_ERR "x25_asy: lapb_connect_request error - %d\n", err);
324 kfree_skb(skb); 324 kfree_skb(skb);
325 return NETDEV_TX_OK; 325 return NETDEV_TX_OK;
326 case 0x02: /* Disconnect request .. do nothing - hang up ?? */ 326 case X25_IFACE_DISCONNECT: /* do nothing - hang up ?? */
327 err = lapb_disconnect_request(dev); 327 err = lapb_disconnect_request(dev);
328 if (err != LAPB_OK) 328 if (err != LAPB_OK)
329 printk(KERN_ERR "x25_asy: lapb_disconnect_request error - %d\n", err); 329 printk(KERN_ERR "x25_asy: lapb_disconnect_request error - %d\n", err);
@@ -411,7 +411,7 @@ static void x25_asy_connected(struct net_device *dev, int reason)
411 } 411 }
412 412
413 ptr = skb_put(skb, 1); 413 ptr = skb_put(skb, 1);
414 *ptr = 0x01; 414 *ptr = X25_IFACE_CONNECT;
415 415
416 skb->protocol = x25_type_trans(skb, sl->dev); 416 skb->protocol = x25_type_trans(skb, sl->dev);
417 netif_rx(skb); 417 netif_rx(skb);
@@ -430,7 +430,7 @@ static void x25_asy_disconnected(struct net_device *dev, int reason)
430 } 430 }
431 431
432 ptr = skb_put(skb, 1); 432 ptr = skb_put(skb, 1);
433 *ptr = 0x02; 433 *ptr = X25_IFACE_DISCONNECT;
434 434
435 skb->protocol = x25_type_trans(skb, sl->dev); 435 skb->protocol = x25_type_trans(skb, sl->dev);
436 netif_rx(skb); 436 netif_rx(skb);