summary refs log tree commit diff
path: root/net/llc/llc_sap.c
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@mandriva.com>2005-09-22 03:27:56 -0300
committerArnaldo Carvalho de Melo <acme@mandriva.com>2005-09-22 03:27:56 -0300
commit1d67e6501b8dba54ef8dcabebe2ad049b8ad0d67 (patch)
tree0913ff017c81e0c0b4d8a0a790d99619906ddeaa /net/llc/llc_sap.c
parentefb0372bbaf5b829ff8c39db372779928af542a7 (diff)
downloadlinux-1d67e6501b8dba54ef8dcabebe2ad049b8ad0d67.tar.gz
[LLC]: Make llc_frame_alloc take a net_device as an argument
So as to set the newly created sk_buff ->dev member with it, that way we stop
using dev_base->next, that is the wrong thing to do, as there may well be
several interfaces being used with LLC. This was not such a big problem after
all as most of the users of llc_alloc_frame were setting the correct dev, but
this way code is reduced.

This also fixes another bug in llc_station_ac_send_null_dsap_xid_c, that was
not setting the skb->dev field.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/llc/llc_sap.c')
-rw-r--r--net/llc/llc_sap.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/net/llc/llc_sap.c b/net/llc/llc_sap.c
index 34228ef14985..0adaa289bf0a 100644
--- a/net/llc/llc_sap.c
+++ b/net/llc/llc_sap.c
@@ -26,11 +26,12 @@
 
 /**
  *	llc_alloc_frame - allocates sk_buff for frame
+ *	@dev: network device this skb will be sent over
  *
  *	Allocates an sk_buff for frame and initializes sk_buff fields.
  *	Returns allocated skb or %NULL when out of memory.
  */
-struct sk_buff *llc_alloc_frame(void)
+struct sk_buff *llc_alloc_frame(struct net_device *dev)
 {
 	struct sk_buff *skb = alloc_skb(128, GFP_ATOMIC);
 
@@ -38,7 +39,7 @@ struct sk_buff *llc_alloc_frame(void)
 		skb_reserve(skb, 50);
 		skb->nh.raw   = skb->h.raw = skb->data;
 		skb->protocol = htons(ETH_P_802_2);
-		skb->dev      = dev_base->next;
+		skb->dev      = dev;
 		skb->mac.raw  = skb->head;
 	}
 	return skb;