diff options
Diffstat (limited to 'net/llc/llc_c_ev.c')
-rw-r--r-- | net/llc/llc_c_ev.c | 157 |
1 files changed, 68 insertions, 89 deletions
diff --git a/net/llc/llc_c_ev.c b/net/llc/llc_c_ev.c index d5bdb53a348f..c5deda246614 100644 --- a/net/llc/llc_c_ev.c +++ b/net/llc/llc_c_ev.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <net/llc_conn.h> | 37 | #include <net/llc_conn.h> |
38 | #include <net/llc_sap.h> | 38 | #include <net/llc_sap.h> |
39 | #include <net/sock.h> | 39 | #include <net/sock.h> |
40 | #include <net/llc_c_ac.h> | ||
40 | #include <net/llc_c_ev.h> | 41 | #include <net/llc_c_ev.h> |
41 | #include <net/llc_pdu.h> | 42 | #include <net/llc_pdu.h> |
42 | 43 | ||
@@ -46,8 +47,6 @@ | |||
46 | #define dprintk(args...) | 47 | #define dprintk(args...) |
47 | #endif | 48 | #endif |
48 | 49 | ||
49 | extern u16 llc_circular_between(u8 a, u8 b, u8 c); | ||
50 | |||
51 | /** | 50 | /** |
52 | * llc_util_ns_inside_rx_window - check if sequence number is in rx window | 51 | * llc_util_ns_inside_rx_window - check if sequence number is in rx window |
53 | * @ns: sequence number of received pdu. | 52 | * @ns: sequence number of received pdu. |
@@ -99,7 +98,7 @@ out: | |||
99 | 98 | ||
100 | int llc_conn_ev_conn_req(struct sock *sk, struct sk_buff *skb) | 99 | int llc_conn_ev_conn_req(struct sock *sk, struct sk_buff *skb) |
101 | { | 100 | { |
102 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 101 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
103 | 102 | ||
104 | return ev->prim == LLC_CONN_PRIM && | 103 | return ev->prim == LLC_CONN_PRIM && |
105 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; | 104 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; |
@@ -107,7 +106,7 @@ int llc_conn_ev_conn_req(struct sock *sk, struct sk_buff *skb) | |||
107 | 106 | ||
108 | int llc_conn_ev_data_req(struct sock *sk, struct sk_buff *skb) | 107 | int llc_conn_ev_data_req(struct sock *sk, struct sk_buff *skb) |
109 | { | 108 | { |
110 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 109 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
111 | 110 | ||
112 | return ev->prim == LLC_DATA_PRIM && | 111 | return ev->prim == LLC_DATA_PRIM && |
113 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; | 112 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; |
@@ -115,7 +114,7 @@ int llc_conn_ev_data_req(struct sock *sk, struct sk_buff *skb) | |||
115 | 114 | ||
116 | int llc_conn_ev_disc_req(struct sock *sk, struct sk_buff *skb) | 115 | int llc_conn_ev_disc_req(struct sock *sk, struct sk_buff *skb) |
117 | { | 116 | { |
118 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 117 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
119 | 118 | ||
120 | return ev->prim == LLC_DISC_PRIM && | 119 | return ev->prim == LLC_DISC_PRIM && |
121 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; | 120 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; |
@@ -123,7 +122,7 @@ int llc_conn_ev_disc_req(struct sock *sk, struct sk_buff *skb) | |||
123 | 122 | ||
124 | int llc_conn_ev_rst_req(struct sock *sk, struct sk_buff *skb) | 123 | int llc_conn_ev_rst_req(struct sock *sk, struct sk_buff *skb) |
125 | { | 124 | { |
126 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 125 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
127 | 126 | ||
128 | return ev->prim == LLC_RESET_PRIM && | 127 | return ev->prim == LLC_RESET_PRIM && |
129 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; | 128 | ev->prim_type == LLC_PRIM_TYPE_REQ ? 0 : 1; |
@@ -131,7 +130,7 @@ int llc_conn_ev_rst_req(struct sock *sk, struct sk_buff *skb) | |||
131 | 130 | ||
132 | int llc_conn_ev_local_busy_detected(struct sock *sk, struct sk_buff *skb) | 131 | int llc_conn_ev_local_busy_detected(struct sock *sk, struct sk_buff *skb) |
133 | { | 132 | { |
134 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 133 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
135 | 134 | ||
136 | return ev->type == LLC_CONN_EV_TYPE_SIMPLE && | 135 | return ev->type == LLC_CONN_EV_TYPE_SIMPLE && |
137 | ev->prim_type == LLC_CONN_EV_LOCAL_BUSY_DETECTED ? 0 : 1; | 136 | ev->prim_type == LLC_CONN_EV_LOCAL_BUSY_DETECTED ? 0 : 1; |
@@ -139,7 +138,7 @@ int llc_conn_ev_local_busy_detected(struct sock *sk, struct sk_buff *skb) | |||
139 | 138 | ||
140 | int llc_conn_ev_local_busy_cleared(struct sock *sk, struct sk_buff *skb) | 139 | int llc_conn_ev_local_busy_cleared(struct sock *sk, struct sk_buff *skb) |
141 | { | 140 | { |
142 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 141 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
143 | 142 | ||
144 | return ev->type == LLC_CONN_EV_TYPE_SIMPLE && | 143 | return ev->type == LLC_CONN_EV_TYPE_SIMPLE && |
145 | ev->prim_type == LLC_CONN_EV_LOCAL_BUSY_CLEARED ? 0 : 1; | 144 | ev->prim_type == LLC_CONN_EV_LOCAL_BUSY_CLEARED ? 0 : 1; |
@@ -152,7 +151,7 @@ int llc_conn_ev_rx_bad_pdu(struct sock *sk, struct sk_buff *skb) | |||
152 | 151 | ||
153 | int llc_conn_ev_rx_disc_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) | 152 | int llc_conn_ev_rx_disc_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) |
154 | { | 153 | { |
155 | struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); | 154 | const struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); |
156 | 155 | ||
157 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_U(pdu) && | 156 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_U(pdu) && |
158 | LLC_U_PDU_CMD(pdu) == LLC_2_PDU_CMD_DISC ? 0 : 1; | 157 | LLC_U_PDU_CMD(pdu) == LLC_2_PDU_CMD_DISC ? 0 : 1; |
@@ -160,7 +159,7 @@ int llc_conn_ev_rx_disc_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) | |||
160 | 159 | ||
161 | int llc_conn_ev_rx_dm_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | 160 | int llc_conn_ev_rx_dm_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) |
162 | { | 161 | { |
163 | struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); | 162 | const struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); |
164 | 163 | ||
165 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_U(pdu) && | 164 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_U(pdu) && |
166 | LLC_U_PDU_RSP(pdu) == LLC_2_PDU_RSP_DM ? 0 : 1; | 165 | LLC_U_PDU_RSP(pdu) == LLC_2_PDU_RSP_DM ? 0 : 1; |
@@ -168,7 +167,7 @@ int llc_conn_ev_rx_dm_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | |||
168 | 167 | ||
169 | int llc_conn_ev_rx_frmr_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | 168 | int llc_conn_ev_rx_frmr_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) |
170 | { | 169 | { |
171 | struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); | 170 | const struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); |
172 | 171 | ||
173 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_U(pdu) && | 172 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_U(pdu) && |
174 | LLC_U_PDU_RSP(pdu) == LLC_2_PDU_RSP_FRMR ? 0 : 1; | 173 | LLC_U_PDU_RSP(pdu) == LLC_2_PDU_RSP_FRMR ? 0 : 1; |
@@ -176,7 +175,7 @@ int llc_conn_ev_rx_frmr_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | |||
176 | 175 | ||
177 | int llc_conn_ev_rx_i_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | 176 | int llc_conn_ev_rx_i_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) |
178 | { | 177 | { |
179 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 178 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
180 | 179 | ||
181 | return llc_conn_space(sk, skb) && | 180 | return llc_conn_space(sk, skb) && |
182 | LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 181 | LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
@@ -186,7 +185,7 @@ int llc_conn_ev_rx_i_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
186 | 185 | ||
187 | int llc_conn_ev_rx_i_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | 186 | int llc_conn_ev_rx_i_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) |
188 | { | 187 | { |
189 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 188 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
190 | 189 | ||
191 | return llc_conn_space(sk, skb) && | 190 | return llc_conn_space(sk, skb) && |
192 | LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 191 | LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
@@ -197,9 +196,9 @@ int llc_conn_ev_rx_i_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
197 | int llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns(struct sock *sk, | 196 | int llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns(struct sock *sk, |
198 | struct sk_buff *skb) | 197 | struct sk_buff *skb) |
199 | { | 198 | { |
200 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 199 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
201 | u8 vr = llc_sk(sk)->vR; | 200 | const u8 vr = llc_sk(sk)->vR; |
202 | u8 ns = LLC_I_GET_NS(pdu); | 201 | const u8 ns = LLC_I_GET_NS(pdu); |
203 | 202 | ||
204 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 203 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
205 | LLC_I_PF_IS_0(pdu) && ns != vr && | 204 | LLC_I_PF_IS_0(pdu) && ns != vr && |
@@ -209,9 +208,9 @@ int llc_conn_ev_rx_i_cmd_pbit_set_0_unexpd_ns(struct sock *sk, | |||
209 | int llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns(struct sock *sk, | 208 | int llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns(struct sock *sk, |
210 | struct sk_buff *skb) | 209 | struct sk_buff *skb) |
211 | { | 210 | { |
212 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 211 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
213 | u8 vr = llc_sk(sk)->vR; | 212 | const u8 vr = llc_sk(sk)->vR; |
214 | u8 ns = LLC_I_GET_NS(pdu); | 213 | const u8 ns = LLC_I_GET_NS(pdu); |
215 | 214 | ||
216 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 215 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
217 | LLC_I_PF_IS_1(pdu) && ns != vr && | 216 | LLC_I_PF_IS_1(pdu) && ns != vr && |
@@ -221,10 +220,11 @@ int llc_conn_ev_rx_i_cmd_pbit_set_1_unexpd_ns(struct sock *sk, | |||
221 | int llc_conn_ev_rx_i_cmd_pbit_set_x_inval_ns(struct sock *sk, | 220 | int llc_conn_ev_rx_i_cmd_pbit_set_x_inval_ns(struct sock *sk, |
222 | struct sk_buff *skb) | 221 | struct sk_buff *skb) |
223 | { | 222 | { |
224 | struct llc_pdu_sn * pdu = llc_pdu_sn_hdr(skb); | 223 | const struct llc_pdu_sn * pdu = llc_pdu_sn_hdr(skb); |
225 | u8 vr = llc_sk(sk)->vR; | 224 | const u8 vr = llc_sk(sk)->vR; |
226 | u8 ns = LLC_I_GET_NS(pdu); | 225 | const u8 ns = LLC_I_GET_NS(pdu); |
227 | u16 rc = LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && ns != vr && | 226 | const u16 rc = LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
227 | ns != vr && | ||
228 | llc_util_ns_inside_rx_window(ns, vr, llc_sk(sk)->rw) ? 0 : 1; | 228 | llc_util_ns_inside_rx_window(ns, vr, llc_sk(sk)->rw) ? 0 : 1; |
229 | if (!rc) | 229 | if (!rc) |
230 | dprintk("%s: matched, state=%d, ns=%d, vr=%d\n", | 230 | dprintk("%s: matched, state=%d, ns=%d, vr=%d\n", |
@@ -234,7 +234,7 @@ int llc_conn_ev_rx_i_cmd_pbit_set_x_inval_ns(struct sock *sk, | |||
234 | 234 | ||
235 | int llc_conn_ev_rx_i_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | 235 | int llc_conn_ev_rx_i_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) |
236 | { | 236 | { |
237 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 237 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
238 | 238 | ||
239 | return llc_conn_space(sk, skb) && | 239 | return llc_conn_space(sk, skb) && |
240 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 240 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
@@ -244,7 +244,7 @@ int llc_conn_ev_rx_i_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
244 | 244 | ||
245 | int llc_conn_ev_rx_i_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | 245 | int llc_conn_ev_rx_i_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) |
246 | { | 246 | { |
247 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 247 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
248 | 248 | ||
249 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 249 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
250 | LLC_I_PF_IS_1(pdu) && | 250 | LLC_I_PF_IS_1(pdu) && |
@@ -253,7 +253,7 @@ int llc_conn_ev_rx_i_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
253 | 253 | ||
254 | int llc_conn_ev_rx_i_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | 254 | int llc_conn_ev_rx_i_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) |
255 | { | 255 | { |
256 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 256 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
257 | 257 | ||
258 | return llc_conn_space(sk, skb) && | 258 | return llc_conn_space(sk, skb) && |
259 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 259 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
@@ -263,9 +263,9 @@ int llc_conn_ev_rx_i_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | |||
263 | int llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns(struct sock *sk, | 263 | int llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns(struct sock *sk, |
264 | struct sk_buff *skb) | 264 | struct sk_buff *skb) |
265 | { | 265 | { |
266 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 266 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
267 | u8 vr = llc_sk(sk)->vR; | 267 | const u8 vr = llc_sk(sk)->vR; |
268 | u8 ns = LLC_I_GET_NS(pdu); | 268 | const u8 ns = LLC_I_GET_NS(pdu); |
269 | 269 | ||
270 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 270 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
271 | LLC_I_PF_IS_0(pdu) && ns != vr && | 271 | LLC_I_PF_IS_0(pdu) && ns != vr && |
@@ -275,9 +275,9 @@ int llc_conn_ev_rx_i_rsp_fbit_set_0_unexpd_ns(struct sock *sk, | |||
275 | int llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns(struct sock *sk, | 275 | int llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns(struct sock *sk, |
276 | struct sk_buff *skb) | 276 | struct sk_buff *skb) |
277 | { | 277 | { |
278 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 278 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
279 | u8 vr = llc_sk(sk)->vR; | 279 | const u8 vr = llc_sk(sk)->vR; |
280 | u8 ns = LLC_I_GET_NS(pdu); | 280 | const u8 ns = LLC_I_GET_NS(pdu); |
281 | 281 | ||
282 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && | 282 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
283 | LLC_I_PF_IS_1(pdu) && ns != vr && | 283 | LLC_I_PF_IS_1(pdu) && ns != vr && |
@@ -287,9 +287,9 @@ int llc_conn_ev_rx_i_rsp_fbit_set_1_unexpd_ns(struct sock *sk, | |||
287 | int llc_conn_ev_rx_i_rsp_fbit_set_x_unexpd_ns(struct sock *sk, | 287 | int llc_conn_ev_rx_i_rsp_fbit_set_x_unexpd_ns(struct sock *sk, |
288 | struct sk_buff *skb) | 288 | struct sk_buff *skb) |
289 | { | 289 | { |
290 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 290 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
291 | u8 vr = llc_sk(sk)->vR; | 291 | const u8 vr = llc_sk(sk)->vR; |
292 | u8 ns = LLC_I_GET_NS(pdu); | 292 | const u8 ns = LLC_I_GET_NS(pdu); |
293 | 293 | ||
294 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && ns != vr && | 294 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && ns != vr && |
295 | !llc_util_ns_inside_rx_window(ns, vr, llc_sk(sk)->rw) ? 0 : 1; | 295 | !llc_util_ns_inside_rx_window(ns, vr, llc_sk(sk)->rw) ? 0 : 1; |
@@ -298,10 +298,11 @@ int llc_conn_ev_rx_i_rsp_fbit_set_x_unexpd_ns(struct sock *sk, | |||
298 | int llc_conn_ev_rx_i_rsp_fbit_set_x_inval_ns(struct sock *sk, | 298 | int llc_conn_ev_rx_i_rsp_fbit_set_x_inval_ns(struct sock *sk, |
299 | struct sk_buff *skb) | 299 | struct sk_buff *skb) |
300 | { | 300 | { |
301 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 301 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
302 | u8 vr = llc_sk(sk)->vR; | 302 | const u8 vr = llc_sk(sk)->vR; |
303 | u8 ns = LLC_I_GET_NS(pdu); | 303 | const u8 ns = LLC_I_GET_NS(pdu); |
304 | u16 rc = LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && ns != vr && | 304 | const u16 rc = LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_I(pdu) && |
305 | ns != vr && | ||
305 | llc_util_ns_inside_rx_window(ns, vr, llc_sk(sk)->rw) ? 0 : 1; | 306 | llc_util_ns_inside_rx_window(ns, vr, llc_sk(sk)->rw) ? 0 : 1; |
306 | if (!rc) | 307 | if (!rc) |
307 | dprintk("%s: matched, state=%d, ns=%d, vr=%d\n", | 308 | dprintk("%s: matched, state=%d, ns=%d, vr=%d\n", |
@@ -311,7 +312,7 @@ int llc_conn_ev_rx_i_rsp_fbit_set_x_inval_ns(struct sock *sk, | |||
311 | 312 | ||
312 | int llc_conn_ev_rx_rej_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | 313 | int llc_conn_ev_rx_rej_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) |
313 | { | 314 | { |
314 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 315 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
315 | 316 | ||
316 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 317 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
317 | LLC_S_PF_IS_0(pdu) && | 318 | LLC_S_PF_IS_0(pdu) && |
@@ -320,7 +321,7 @@ int llc_conn_ev_rx_rej_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
320 | 321 | ||
321 | int llc_conn_ev_rx_rej_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | 322 | int llc_conn_ev_rx_rej_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) |
322 | { | 323 | { |
323 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 324 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
324 | 325 | ||
325 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 326 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
326 | LLC_S_PF_IS_1(pdu) && | 327 | LLC_S_PF_IS_1(pdu) && |
@@ -329,7 +330,7 @@ int llc_conn_ev_rx_rej_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
329 | 330 | ||
330 | int llc_conn_ev_rx_rej_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | 331 | int llc_conn_ev_rx_rej_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) |
331 | { | 332 | { |
332 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 333 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
333 | 334 | ||
334 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 335 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
335 | LLC_S_PF_IS_0(pdu) && | 336 | LLC_S_PF_IS_0(pdu) && |
@@ -338,7 +339,7 @@ int llc_conn_ev_rx_rej_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
338 | 339 | ||
339 | int llc_conn_ev_rx_rej_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | 340 | int llc_conn_ev_rx_rej_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) |
340 | { | 341 | { |
341 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 342 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
342 | 343 | ||
343 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 344 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
344 | LLC_S_PF_IS_1(pdu) && | 345 | LLC_S_PF_IS_1(pdu) && |
@@ -347,7 +348,7 @@ int llc_conn_ev_rx_rej_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
347 | 348 | ||
348 | int llc_conn_ev_rx_rej_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | 349 | int llc_conn_ev_rx_rej_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) |
349 | { | 350 | { |
350 | struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); | 351 | const struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); |
351 | 352 | ||
352 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 353 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
353 | LLC_S_PDU_RSP(pdu) == LLC_2_PDU_RSP_REJ ? 0 : 1; | 354 | LLC_S_PDU_RSP(pdu) == LLC_2_PDU_RSP_REJ ? 0 : 1; |
@@ -355,7 +356,7 @@ int llc_conn_ev_rx_rej_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | |||
355 | 356 | ||
356 | int llc_conn_ev_rx_rnr_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | 357 | int llc_conn_ev_rx_rnr_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) |
357 | { | 358 | { |
358 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 359 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
359 | 360 | ||
360 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 361 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
361 | LLC_S_PF_IS_0(pdu) && | 362 | LLC_S_PF_IS_0(pdu) && |
@@ -364,7 +365,7 @@ int llc_conn_ev_rx_rnr_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
364 | 365 | ||
365 | int llc_conn_ev_rx_rnr_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | 366 | int llc_conn_ev_rx_rnr_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) |
366 | { | 367 | { |
367 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 368 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
368 | 369 | ||
369 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 370 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
370 | LLC_S_PF_IS_1(pdu) && | 371 | LLC_S_PF_IS_1(pdu) && |
@@ -373,7 +374,7 @@ int llc_conn_ev_rx_rnr_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
373 | 374 | ||
374 | int llc_conn_ev_rx_rnr_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | 375 | int llc_conn_ev_rx_rnr_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) |
375 | { | 376 | { |
376 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 377 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
377 | 378 | ||
378 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 379 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
379 | LLC_S_PF_IS_0(pdu) && | 380 | LLC_S_PF_IS_0(pdu) && |
@@ -382,7 +383,7 @@ int llc_conn_ev_rx_rnr_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
382 | 383 | ||
383 | int llc_conn_ev_rx_rnr_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | 384 | int llc_conn_ev_rx_rnr_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) |
384 | { | 385 | { |
385 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 386 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
386 | 387 | ||
387 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 388 | return LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
388 | LLC_S_PF_IS_1(pdu) && | 389 | LLC_S_PF_IS_1(pdu) && |
@@ -391,7 +392,7 @@ int llc_conn_ev_rx_rnr_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
391 | 392 | ||
392 | int llc_conn_ev_rx_rr_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | 393 | int llc_conn_ev_rx_rr_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) |
393 | { | 394 | { |
394 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 395 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
395 | 396 | ||
396 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 397 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
397 | LLC_S_PF_IS_0(pdu) && | 398 | LLC_S_PF_IS_0(pdu) && |
@@ -400,7 +401,7 @@ int llc_conn_ev_rx_rr_cmd_pbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
400 | 401 | ||
401 | int llc_conn_ev_rx_rr_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | 402 | int llc_conn_ev_rx_rr_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) |
402 | { | 403 | { |
403 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 404 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
404 | 405 | ||
405 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 406 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
406 | LLC_S_PF_IS_1(pdu) && | 407 | LLC_S_PF_IS_1(pdu) && |
@@ -409,7 +410,7 @@ int llc_conn_ev_rx_rr_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
409 | 410 | ||
410 | int llc_conn_ev_rx_rr_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | 411 | int llc_conn_ev_rx_rr_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) |
411 | { | 412 | { |
412 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 413 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
413 | 414 | ||
414 | return llc_conn_space(sk, skb) && | 415 | return llc_conn_space(sk, skb) && |
415 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 416 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
@@ -419,7 +420,7 @@ int llc_conn_ev_rx_rr_rsp_fbit_set_0(struct sock *sk, struct sk_buff *skb) | |||
419 | 420 | ||
420 | int llc_conn_ev_rx_rr_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | 421 | int llc_conn_ev_rx_rr_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) |
421 | { | 422 | { |
422 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 423 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
423 | 424 | ||
424 | return llc_conn_space(sk, skb) && | 425 | return llc_conn_space(sk, skb) && |
425 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && | 426 | LLC_PDU_IS_RSP(pdu) && LLC_PDU_TYPE_IS_S(pdu) && |
@@ -429,7 +430,7 @@ int llc_conn_ev_rx_rr_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
429 | 430 | ||
430 | int llc_conn_ev_rx_sabme_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) | 431 | int llc_conn_ev_rx_sabme_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) |
431 | { | 432 | { |
432 | struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); | 433 | const struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); |
433 | 434 | ||
434 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_U(pdu) && | 435 | return LLC_PDU_IS_CMD(pdu) && LLC_PDU_TYPE_IS_U(pdu) && |
435 | LLC_U_PDU_CMD(pdu) == LLC_2_PDU_CMD_SABME ? 0 : 1; | 436 | LLC_U_PDU_CMD(pdu) == LLC_2_PDU_CMD_SABME ? 0 : 1; |
@@ -446,7 +447,7 @@ int llc_conn_ev_rx_ua_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | |||
446 | int llc_conn_ev_rx_xxx_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | 447 | int llc_conn_ev_rx_xxx_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) |
447 | { | 448 | { |
448 | u16 rc = 1; | 449 | u16 rc = 1; |
449 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 450 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
450 | 451 | ||
451 | if (LLC_PDU_IS_CMD(pdu)) { | 452 | if (LLC_PDU_IS_CMD(pdu)) { |
452 | if (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) { | 453 | if (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) { |
@@ -461,7 +462,7 @@ int llc_conn_ev_rx_xxx_cmd_pbit_set_1(struct sock *sk, struct sk_buff *skb) | |||
461 | int llc_conn_ev_rx_xxx_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) | 462 | int llc_conn_ev_rx_xxx_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) |
462 | { | 463 | { |
463 | u16 rc = 1; | 464 | u16 rc = 1; |
464 | struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); | 465 | const struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); |
465 | 466 | ||
466 | if (LLC_PDU_IS_CMD(pdu)) { | 467 | if (LLC_PDU_IS_CMD(pdu)) { |
467 | if (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) | 468 | if (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) |
@@ -477,32 +478,10 @@ int llc_conn_ev_rx_xxx_cmd_pbit_set_x(struct sock *sk, struct sk_buff *skb) | |||
477 | return rc; | 478 | return rc; |
478 | } | 479 | } |
479 | 480 | ||
480 | int llc_conn_ev_rx_xxx_rsp_fbit_set_1(struct sock *sk, struct sk_buff *skb) | ||
481 | { | ||
482 | u16 rc = 1; | ||
483 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | ||
484 | |||
485 | if (LLC_PDU_IS_RSP(pdu)) { | ||
486 | if (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) { | ||
487 | if (LLC_I_PF_IS_1(pdu)) | ||
488 | rc = 0; | ||
489 | } else if (LLC_PDU_TYPE_IS_U(pdu)) | ||
490 | switch (LLC_U_PDU_RSP(pdu)) { | ||
491 | case LLC_2_PDU_RSP_UA: | ||
492 | case LLC_2_PDU_RSP_DM: | ||
493 | case LLC_2_PDU_RSP_FRMR: | ||
494 | if (LLC_U_PF_IS_1(pdu)) | ||
495 | rc = 0; | ||
496 | break; | ||
497 | } | ||
498 | } | ||
499 | return rc; | ||
500 | } | ||
501 | |||
502 | int llc_conn_ev_rx_xxx_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) | 481 | int llc_conn_ev_rx_xxx_rsp_fbit_set_x(struct sock *sk, struct sk_buff *skb) |
503 | { | 482 | { |
504 | u16 rc = 1; | 483 | u16 rc = 1; |
505 | struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); | 484 | const struct llc_pdu_un *pdu = llc_pdu_un_hdr(skb); |
506 | 485 | ||
507 | if (LLC_PDU_IS_RSP(pdu)) { | 486 | if (LLC_PDU_IS_RSP(pdu)) { |
508 | if (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) | 487 | if (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) |
@@ -524,9 +503,9 @@ int llc_conn_ev_rx_zzz_cmd_pbit_set_x_inval_nr(struct sock *sk, | |||
524 | struct sk_buff *skb) | 503 | struct sk_buff *skb) |
525 | { | 504 | { |
526 | u16 rc = 1; | 505 | u16 rc = 1; |
527 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 506 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
528 | u8 vs = llc_sk(sk)->vS; | 507 | const u8 vs = llc_sk(sk)->vS; |
529 | u8 nr = LLC_I_GET_NR(pdu); | 508 | const u8 nr = LLC_I_GET_NR(pdu); |
530 | 509 | ||
531 | if (LLC_PDU_IS_CMD(pdu) && | 510 | if (LLC_PDU_IS_CMD(pdu) && |
532 | (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) && | 511 | (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) && |
@@ -542,9 +521,9 @@ int llc_conn_ev_rx_zzz_rsp_fbit_set_x_inval_nr(struct sock *sk, | |||
542 | struct sk_buff *skb) | 521 | struct sk_buff *skb) |
543 | { | 522 | { |
544 | u16 rc = 1; | 523 | u16 rc = 1; |
545 | struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); | 524 | const struct llc_pdu_sn *pdu = llc_pdu_sn_hdr(skb); |
546 | u8 vs = llc_sk(sk)->vS; | 525 | const u8 vs = llc_sk(sk)->vS; |
547 | u8 nr = LLC_I_GET_NR(pdu); | 526 | const u8 nr = LLC_I_GET_NR(pdu); |
548 | 527 | ||
549 | if (LLC_PDU_IS_RSP(pdu) && | 528 | if (LLC_PDU_IS_RSP(pdu) && |
550 | (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) && | 529 | (LLC_PDU_TYPE_IS_I(pdu) || LLC_PDU_TYPE_IS_S(pdu)) && |
@@ -563,28 +542,28 @@ int llc_conn_ev_rx_any_frame(struct sock *sk, struct sk_buff *skb) | |||
563 | 542 | ||
564 | int llc_conn_ev_p_tmr_exp(struct sock *sk, struct sk_buff *skb) | 543 | int llc_conn_ev_p_tmr_exp(struct sock *sk, struct sk_buff *skb) |
565 | { | 544 | { |
566 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 545 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
567 | 546 | ||
568 | return ev->type != LLC_CONN_EV_TYPE_P_TMR; | 547 | return ev->type != LLC_CONN_EV_TYPE_P_TMR; |
569 | } | 548 | } |
570 | 549 | ||
571 | int llc_conn_ev_ack_tmr_exp(struct sock *sk, struct sk_buff *skb) | 550 | int llc_conn_ev_ack_tmr_exp(struct sock *sk, struct sk_buff *skb) |
572 | { | 551 | { |
573 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 552 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
574 | 553 | ||
575 | return ev->type != LLC_CONN_EV_TYPE_ACK_TMR; | 554 | return ev->type != LLC_CONN_EV_TYPE_ACK_TMR; |
576 | } | 555 | } |
577 | 556 | ||
578 | int llc_conn_ev_rej_tmr_exp(struct sock *sk, struct sk_buff *skb) | 557 | int llc_conn_ev_rej_tmr_exp(struct sock *sk, struct sk_buff *skb) |
579 | { | 558 | { |
580 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 559 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
581 | 560 | ||
582 | return ev->type != LLC_CONN_EV_TYPE_REJ_TMR; | 561 | return ev->type != LLC_CONN_EV_TYPE_REJ_TMR; |
583 | } | 562 | } |
584 | 563 | ||
585 | int llc_conn_ev_busy_tmr_exp(struct sock *sk, struct sk_buff *skb) | 564 | int llc_conn_ev_busy_tmr_exp(struct sock *sk, struct sk_buff *skb) |
586 | { | 565 | { |
587 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 566 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
588 | 567 | ||
589 | return ev->type != LLC_CONN_EV_TYPE_BUSY_TMR; | 568 | return ev->type != LLC_CONN_EV_TYPE_BUSY_TMR; |
590 | } | 569 | } |
@@ -596,7 +575,7 @@ int llc_conn_ev_init_p_f_cycle(struct sock *sk, struct sk_buff *skb) | |||
596 | 575 | ||
597 | int llc_conn_ev_tx_buffer_full(struct sock *sk, struct sk_buff *skb) | 576 | int llc_conn_ev_tx_buffer_full(struct sock *sk, struct sk_buff *skb) |
598 | { | 577 | { |
599 | struct llc_conn_state_ev *ev = llc_conn_ev(skb); | 578 | const struct llc_conn_state_ev *ev = llc_conn_ev(skb); |
600 | 579 | ||
601 | return ev->type == LLC_CONN_EV_TYPE_SIMPLE && | 580 | return ev->type == LLC_CONN_EV_TYPE_SIMPLE && |
602 | ev->prim_type == LLC_CONN_EV_TX_BUFF_FULL ? 0 : 1; | 581 | ev->prim_type == LLC_CONN_EV_TX_BUFF_FULL ? 0 : 1; |