Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29c4be51 authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by David S. Miller
Browse files

[AX25]: make ax25_queue_xmit a net_device parameter



I.e. not using skb->dev as a way to pass the parameter used to fill...
skb->dev :-)

Also to get the _type_trans open coded sequence grouped, next changesets
will introduce ax25_type_trans.

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 208a6dfb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -305,7 +305,7 @@ extern ax25_cb *ax25_send_frame(struct sk_buff *, int, ax25_address *, ax25_addr
extern void ax25_output(ax25_cb *, int, struct sk_buff *);
extern void ax25_kick(ax25_cb *);
extern void ax25_transmit_buffer(ax25_cb *, struct sk_buff *, int);
extern void ax25_queue_xmit(struct sk_buff *);
extern void ax25_queue_xmit(struct sk_buff *skb, struct net_device *dev);
extern int  ax25_check_iframes_acked(ax25_cb *, unsigned short);

/* ax25_route.c */
+1 −3
Original line number Diff line number Diff line
@@ -1587,9 +1587,7 @@ static int ax25_sendmsg(struct kiocb *iocb, struct socket *sock,
	*asmptr = AX25_UI;

	/* Datagram frames go straight out of the door as UI */
	skb->dev = ax25->ax25_dev->dev;

	ax25_queue_xmit(skb);
	ax25_queue_xmit(skb, ax25->ax25_dev->dev);

	err = len;

+1 −3
Original line number Diff line number Diff line
@@ -199,9 +199,7 @@ int ax25_rebuild_header(struct sk_buff *skb)
		skb = ourskb;
	}

	skb->dev      = dev;

	ax25_queue_xmit(skb);
	ax25_queue_xmit(skb, dev);

put:
	ax25_put_route(route);
+3 −5
Original line number Diff line number Diff line
@@ -340,21 +340,19 @@ void ax25_transmit_buffer(ax25_cb *ax25, struct sk_buff *skb, int type)

	ax25_addr_build(ptr, &ax25->source_addr, &ax25->dest_addr, ax25->digipeat, type, ax25->modulus);

	skb->dev = ax25->ax25_dev->dev;

	ax25_queue_xmit(skb);
	ax25_queue_xmit(skb, ax25->ax25_dev->dev);
}

/*
 *	A small shim to dev_queue_xmit to add the KISS control byte, and do
 *	any packet forwarding in operation.
 */
void ax25_queue_xmit(struct sk_buff *skb)
void ax25_queue_xmit(struct sk_buff *skb, struct net_device *dev)
{
	unsigned char *ptr;

	skb->protocol = htons(ETH_P_AX25);
	skb->dev      = ax25_fwd_dev(skb->dev);
	skb->dev      = ax25_fwd_dev(dev);

	ptr  = skb_push(skb, 1);
	*ptr = 0x00;			/* KISS */
+1 −3
Original line number Diff line number Diff line
@@ -220,9 +220,7 @@ void ax25_return_dm(struct net_device *dev, ax25_address *src, ax25_address *des
	dptr  = skb_push(skb, ax25_addr_size(digi));
	dptr += ax25_addr_build(dptr, dest, src, &retdigi, AX25_RESPONSE, AX25_MODULUS);

	skb->dev      = dev;

	ax25_queue_xmit(skb);
	ax25_queue_xmit(skb, dev);
}

/*