diff options
Diffstat (limited to 'net/llc')
-rw-r--r-- | net/llc/af_llc.c | 4 | ||||
-rw-r--r-- | net/llc/llc_conn.c | 8 | ||||
-rw-r--r-- | net/llc/llc_core.c | 3 | ||||
-rw-r--r-- | net/llc/llc_if.c | 2 | ||||
-rw-r--r-- | net/llc/llc_input.c | 4 | ||||
-rw-r--r-- | net/llc/llc_sap.c | 2 |
6 files changed, 14 insertions, 9 deletions
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index 20b4cfebd74c..66f55e514b56 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c | |||
@@ -23,13 +23,13 @@ | |||
23 | #include <linux/config.h> | 23 | #include <linux/config.h> |
24 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
25 | #include <linux/module.h> | 25 | #include <linux/module.h> |
26 | #include <linux/tcp.h> | ||
27 | #include <linux/rtnetlink.h> | 26 | #include <linux/rtnetlink.h> |
28 | #include <linux/init.h> | 27 | #include <linux/init.h> |
29 | #include <net/llc.h> | 28 | #include <net/llc.h> |
30 | #include <net/llc_sap.h> | 29 | #include <net/llc_sap.h> |
31 | #include <net/llc_pdu.h> | 30 | #include <net/llc_pdu.h> |
32 | #include <net/llc_conn.h> | 31 | #include <net/llc_conn.h> |
32 | #include <net/tcp_states.h> | ||
33 | 33 | ||
34 | /* remember: uninitialized global data is zeroed because its in .bss */ | 34 | /* remember: uninitialized global data is zeroed because its in .bss */ |
35 | static u16 llc_ui_sap_last_autoport = LLC_SAP_DYN_START; | 35 | static u16 llc_ui_sap_last_autoport = LLC_SAP_DYN_START; |
@@ -714,7 +714,7 @@ static int llc_ui_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
714 | if (uaddr) | 714 | if (uaddr) |
715 | memcpy(uaddr, llc_ui_skb_cb(skb), sizeof(*uaddr)); | 715 | memcpy(uaddr, llc_ui_skb_cb(skb), sizeof(*uaddr)); |
716 | msg->msg_namelen = sizeof(*uaddr); | 716 | msg->msg_namelen = sizeof(*uaddr); |
717 | if (!skb->list) { | 717 | if (!skb->next) { |
718 | dgram_free: | 718 | dgram_free: |
719 | kfree_skb(skb); | 719 | kfree_skb(skb); |
720 | } | 720 | } |
diff --git a/net/llc/llc_conn.c b/net/llc/llc_conn.c index eba812a9c69c..4c644bc70eae 100644 --- a/net/llc/llc_conn.c +++ b/net/llc/llc_conn.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <net/llc_sap.h> | 16 | #include <net/llc_sap.h> |
17 | #include <net/llc_conn.h> | 17 | #include <net/llc_conn.h> |
18 | #include <net/sock.h> | 18 | #include <net/sock.h> |
19 | #include <linux/tcp.h> | 19 | #include <net/tcp_states.h> |
20 | #include <net/llc_c_ev.h> | 20 | #include <net/llc_c_ev.h> |
21 | #include <net/llc_c_ac.h> | 21 | #include <net/llc_c_ac.h> |
22 | #include <net/llc_c_st.h> | 22 | #include <net/llc_c_st.h> |
@@ -71,7 +71,11 @@ int llc_conn_state_process(struct sock *sk, struct sk_buff *skb) | |||
71 | 71 | ||
72 | if (!ev->ind_prim && !ev->cfm_prim) { | 72 | if (!ev->ind_prim && !ev->cfm_prim) { |
73 | /* indicate or confirm not required */ | 73 | /* indicate or confirm not required */ |
74 | if (!skb->list) | 74 | /* XXX this is not very pretty, perhaps we should store |
75 | * XXX indicate/confirm-needed state in the llc_conn_state_ev | ||
76 | * XXX control block of the SKB instead? -DaveM | ||
77 | */ | ||
78 | if (!skb->next) | ||
75 | goto out_kfree_skb; | 79 | goto out_kfree_skb; |
76 | goto out_skb_put; | 80 | goto out_skb_put; |
77 | } | 81 | } |
diff --git a/net/llc/llc_core.c b/net/llc/llc_core.c index 5ff02c080a0b..9727455bf0e7 100644 --- a/net/llc/llc_core.c +++ b/net/llc/llc_core.c | |||
@@ -103,7 +103,8 @@ out: | |||
103 | struct llc_sap *llc_sap_open(unsigned char lsap, | 103 | struct llc_sap *llc_sap_open(unsigned char lsap, |
104 | int (*func)(struct sk_buff *skb, | 104 | int (*func)(struct sk_buff *skb, |
105 | struct net_device *dev, | 105 | struct net_device *dev, |
106 | struct packet_type *pt)) | 106 | struct packet_type *pt, |
107 | struct net_device *orig_dev)) | ||
107 | { | 108 | { |
108 | struct llc_sap *sap = llc_sap_find(lsap); | 109 | struct llc_sap *sap = llc_sap_find(lsap); |
109 | 110 | ||
diff --git a/net/llc/llc_if.c b/net/llc/llc_if.c index 0f9fc48aeaf9..0f84f66018e4 100644 --- a/net/llc/llc_if.c +++ b/net/llc/llc_if.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
17 | #include <linux/netdevice.h> | 17 | #include <linux/netdevice.h> |
18 | #include <linux/tcp.h> | ||
19 | #include <asm/errno.h> | 18 | #include <asm/errno.h> |
20 | #include <net/llc_if.h> | 19 | #include <net/llc_if.h> |
21 | #include <net/llc_sap.h> | 20 | #include <net/llc_sap.h> |
@@ -25,6 +24,7 @@ | |||
25 | #include <net/llc_c_ev.h> | 24 | #include <net/llc_c_ev.h> |
26 | #include <net/llc_c_ac.h> | 25 | #include <net/llc_c_ac.h> |
27 | #include <net/llc_c_st.h> | 26 | #include <net/llc_c_st.h> |
27 | #include <net/tcp_states.h> | ||
28 | 28 | ||
29 | u8 llc_mac_null_var[IFHWADDRLEN]; | 29 | u8 llc_mac_null_var[IFHWADDRLEN]; |
30 | 30 | ||
diff --git a/net/llc/llc_input.c b/net/llc/llc_input.c index 4da6976efc9c..13b46240b7a1 100644 --- a/net/llc/llc_input.c +++ b/net/llc/llc_input.c | |||
@@ -132,7 +132,7 @@ static inline int llc_fixup_skb(struct sk_buff *skb) | |||
132 | * data now), it queues this frame in the connection's backlog. | 132 | * data now), it queues this frame in the connection's backlog. |
133 | */ | 133 | */ |
134 | int llc_rcv(struct sk_buff *skb, struct net_device *dev, | 134 | int llc_rcv(struct sk_buff *skb, struct net_device *dev, |
135 | struct packet_type *pt) | 135 | struct packet_type *pt, struct net_device *orig_dev) |
136 | { | 136 | { |
137 | struct llc_sap *sap; | 137 | struct llc_sap *sap; |
138 | struct llc_pdu_sn *pdu; | 138 | struct llc_pdu_sn *pdu; |
@@ -165,7 +165,7 @@ int llc_rcv(struct sk_buff *skb, struct net_device *dev, | |||
165 | * LLC functionality | 165 | * LLC functionality |
166 | */ | 166 | */ |
167 | if (sap->rcv_func) { | 167 | if (sap->rcv_func) { |
168 | sap->rcv_func(skb, dev, pt); | 168 | sap->rcv_func(skb, dev, pt, orig_dev); |
169 | goto out; | 169 | goto out; |
170 | } | 170 | } |
171 | dest = llc_pdu_type(skb); | 171 | dest = llc_pdu_type(skb); |
diff --git a/net/llc/llc_sap.c b/net/llc/llc_sap.c index 965c94eb4bbc..34228ef14985 100644 --- a/net/llc/llc_sap.c +++ b/net/llc/llc_sap.c | |||
@@ -21,7 +21,7 @@ | |||
21 | #include <net/llc_s_ev.h> | 21 | #include <net/llc_s_ev.h> |
22 | #include <net/llc_s_st.h> | 22 | #include <net/llc_s_st.h> |
23 | #include <net/sock.h> | 23 | #include <net/sock.h> |
24 | #include <linux/tcp.h> | 24 | #include <net/tcp_states.h> |
25 | #include <linux/llc.h> | 25 | #include <linux/llc.h> |
26 | 26 | ||
27 | /** | 27 | /** |