aboutsummaryrefslogtreecommitdiffstats
path: root/net/ax25/ax25_out.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ax25/ax25_out.c')
-rw-r--r--net/ax25/ax25_out.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/net/ax25/ax25_out.c b/net/ax25/ax25_out.c
index 3475a3ac9343..5fc048dcd39a 100644
--- a/net/ax25/ax25_out.c
+++ b/net/ax25/ax25_out.c
@@ -340,21 +340,18 @@ void ax25_transmit_buffer(ax25_cb *ax25, struct sk_buff *skb, int type)
340 340
341 ax25_addr_build(ptr, &ax25->source_addr, &ax25->dest_addr, ax25->digipeat, type, ax25->modulus); 341 ax25_addr_build(ptr, &ax25->source_addr, &ax25->dest_addr, ax25->digipeat, type, ax25->modulus);
342 342
343 skb->dev = ax25->ax25_dev->dev; 343 ax25_queue_xmit(skb, ax25->ax25_dev->dev);
344
345 ax25_queue_xmit(skb);
346} 344}
347 345
348/* 346/*
349 * A small shim to dev_queue_xmit to add the KISS control byte, and do 347 * A small shim to dev_queue_xmit to add the KISS control byte, and do
350 * any packet forwarding in operation. 348 * any packet forwarding in operation.
351 */ 349 */
352void ax25_queue_xmit(struct sk_buff *skb) 350void ax25_queue_xmit(struct sk_buff *skb, struct net_device *dev)
353{ 351{
354 unsigned char *ptr; 352 unsigned char *ptr;
355 353
356 skb->protocol = htons(ETH_P_AX25); 354 skb->protocol = ax25_type_trans(skb, ax25_fwd_dev(dev));
357 skb->dev = ax25_fwd_dev(skb->dev);
358 355
359 ptr = skb_push(skb, 1); 356 ptr = skb_push(skb, 1);
360 *ptr = 0x00; /* KISS */ 357 *ptr = 0x00; /* KISS */