aboutsummaryrefslogtreecommitdiffstats
path: root/net/lapb/lapb_in.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/lapb/lapb_in.c')
-rw-r--r--net/lapb/lapb_in.c321
1 files changed, 91 insertions, 230 deletions
diff --git a/net/lapb/lapb_in.c b/net/lapb/lapb_in.c
index 2ec1af5c36cc..5dba899131b3 100644
--- a/net/lapb/lapb_in.c
+++ b/net/lapb/lapb_in.c
@@ -15,6 +15,8 @@
15 * 2000-10-29 Henner Eisen lapb_data_indication() return status. 15 * 2000-10-29 Henner Eisen lapb_data_indication() return status.
16 */ 16 */
17 17
18#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
19
18#include <linux/errno.h> 20#include <linux/errno.h>
19#include <linux/types.h> 21#include <linux/types.h>
20#include <linux/socket.h> 22#include <linux/socket.h>
@@ -30,7 +32,6 @@
30#include <linux/slab.h> 32#include <linux/slab.h>
31#include <net/sock.h> 33#include <net/sock.h>
32#include <asm/uaccess.h> 34#include <asm/uaccess.h>
33#include <asm/system.h>
34#include <linux/fcntl.h> 35#include <linux/fcntl.h>
35#include <linux/mm.h> 36#include <linux/mm.h>
36#include <linux/interrupt.h> 37#include <linux/interrupt.h>
@@ -45,25 +46,16 @@ static void lapb_state0_machine(struct lapb_cb *lapb, struct sk_buff *skb,
45{ 46{
46 switch (frame->type) { 47 switch (frame->type) {
47 case LAPB_SABM: 48 case LAPB_SABM:
48#if LAPB_DEBUG > 1 49 lapb_dbg(1, "(%p) S0 RX SABM(%d)\n", lapb->dev, frame->pf);
49 printk(KERN_DEBUG "lapb: (%p) S0 RX SABM(%d)\n",
50 lapb->dev, frame->pf);
51#endif
52 if (lapb->mode & LAPB_EXTENDED) { 50 if (lapb->mode & LAPB_EXTENDED) {
53#if LAPB_DEBUG > 1 51 lapb_dbg(1, "(%p) S0 TX DM(%d)\n",
54 printk(KERN_DEBUG "lapb: (%p) S0 TX DM(%d)\n", 52 lapb->dev, frame->pf);
55 lapb->dev, frame->pf);
56#endif
57 lapb_send_control(lapb, LAPB_DM, frame->pf, 53 lapb_send_control(lapb, LAPB_DM, frame->pf,
58 LAPB_RESPONSE); 54 LAPB_RESPONSE);
59 } else { 55 } else {
60#if LAPB_DEBUG > 1 56 lapb_dbg(1, "(%p) S0 TX UA(%d)\n",
61 printk(KERN_DEBUG "lapb: (%p) S0 TX UA(%d)\n", 57 lapb->dev, frame->pf);
62 lapb->dev, frame->pf); 58 lapb_dbg(0, "(%p) S0 -> S3\n", lapb->dev);
63#endif
64#if LAPB_DEBUG > 0
65 printk(KERN_DEBUG "lapb: (%p) S0 -> S3\n", lapb->dev);
66#endif
67 lapb_send_control(lapb, LAPB_UA, frame->pf, 59 lapb_send_control(lapb, LAPB_UA, frame->pf,
68 LAPB_RESPONSE); 60 LAPB_RESPONSE);
69 lapb_stop_t1timer(lapb); 61 lapb_stop_t1timer(lapb);
@@ -79,18 +71,11 @@ static void lapb_state0_machine(struct lapb_cb *lapb, struct sk_buff *skb,
79 break; 71 break;
80 72
81 case LAPB_SABME: 73 case LAPB_SABME:
82#if LAPB_DEBUG > 1 74 lapb_dbg(1, "(%p) S0 RX SABME(%d)\n", lapb->dev, frame->pf);
83 printk(KERN_DEBUG "lapb: (%p) S0 RX SABME(%d)\n",
84 lapb->dev, frame->pf);
85#endif
86 if (lapb->mode & LAPB_EXTENDED) { 75 if (lapb->mode & LAPB_EXTENDED) {
87#if LAPB_DEBUG > 1 76 lapb_dbg(1, "(%p) S0 TX UA(%d)\n",
88 printk(KERN_DEBUG "lapb: (%p) S0 TX UA(%d)\n", 77 lapb->dev, frame->pf);
89 lapb->dev, frame->pf); 78 lapb_dbg(0, "(%p) S0 -> S3\n", lapb->dev);
90#endif
91#if LAPB_DEBUG > 0
92 printk(KERN_DEBUG "lapb: (%p) S0 -> S3\n", lapb->dev);
93#endif
94 lapb_send_control(lapb, LAPB_UA, frame->pf, 79 lapb_send_control(lapb, LAPB_UA, frame->pf,
95 LAPB_RESPONSE); 80 LAPB_RESPONSE);
96 lapb_stop_t1timer(lapb); 81 lapb_stop_t1timer(lapb);
@@ -103,22 +88,16 @@ static void lapb_state0_machine(struct lapb_cb *lapb, struct sk_buff *skb,
103 lapb->va = 0; 88 lapb->va = 0;
104 lapb_connect_indication(lapb, LAPB_OK); 89 lapb_connect_indication(lapb, LAPB_OK);
105 } else { 90 } else {
106#if LAPB_DEBUG > 1 91 lapb_dbg(1, "(%p) S0 TX DM(%d)\n",
107 printk(KERN_DEBUG "lapb: (%p) S0 TX DM(%d)\n", 92 lapb->dev, frame->pf);
108 lapb->dev, frame->pf);
109#endif
110 lapb_send_control(lapb, LAPB_DM, frame->pf, 93 lapb_send_control(lapb, LAPB_DM, frame->pf,
111 LAPB_RESPONSE); 94 LAPB_RESPONSE);
112 } 95 }
113 break; 96 break;
114 97
115 case LAPB_DISC: 98 case LAPB_DISC:
116#if LAPB_DEBUG > 1 99 lapb_dbg(1, "(%p) S0 RX DISC(%d)\n", lapb->dev, frame->pf);
117 printk(KERN_DEBUG "lapb: (%p) S0 RX DISC(%d)\n", 100 lapb_dbg(1, "(%p) S0 TX UA(%d)\n", lapb->dev, frame->pf);
118 lapb->dev, frame->pf);
119 printk(KERN_DEBUG "lapb: (%p) S0 TX UA(%d)\n",
120 lapb->dev, frame->pf);
121#endif
122 lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE); 101 lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE);
123 break; 102 break;
124 103
@@ -138,68 +117,45 @@ static void lapb_state1_machine(struct lapb_cb *lapb, struct sk_buff *skb,
138{ 117{
139 switch (frame->type) { 118 switch (frame->type) {
140 case LAPB_SABM: 119 case LAPB_SABM:
141#if LAPB_DEBUG > 1 120 lapb_dbg(1, "(%p) S1 RX SABM(%d)\n", lapb->dev, frame->pf);
142 printk(KERN_DEBUG "lapb: (%p) S1 RX SABM(%d)\n",
143 lapb->dev, frame->pf);
144#endif
145 if (lapb->mode & LAPB_EXTENDED) { 121 if (lapb->mode & LAPB_EXTENDED) {
146#if LAPB_DEBUG > 1 122 lapb_dbg(1, "(%p) S1 TX DM(%d)\n",
147 printk(KERN_DEBUG "lapb: (%p) S1 TX DM(%d)\n", 123 lapb->dev, frame->pf);
148 lapb->dev, frame->pf);
149#endif
150 lapb_send_control(lapb, LAPB_DM, frame->pf, 124 lapb_send_control(lapb, LAPB_DM, frame->pf,
151 LAPB_RESPONSE); 125 LAPB_RESPONSE);
152 } else { 126 } else {
153#if LAPB_DEBUG > 1 127 lapb_dbg(1, "(%p) S1 TX UA(%d)\n",
154 printk(KERN_DEBUG "lapb: (%p) S1 TX UA(%d)\n", 128 lapb->dev, frame->pf);
155 lapb->dev, frame->pf);
156#endif
157 lapb_send_control(lapb, LAPB_UA, frame->pf, 129 lapb_send_control(lapb, LAPB_UA, frame->pf,
158 LAPB_RESPONSE); 130 LAPB_RESPONSE);
159 } 131 }
160 break; 132 break;
161 133
162 case LAPB_SABME: 134 case LAPB_SABME:
163#if LAPB_DEBUG > 1 135 lapb_dbg(1, "(%p) S1 RX SABME(%d)\n", lapb->dev, frame->pf);
164 printk(KERN_DEBUG "lapb: (%p) S1 RX SABME(%d)\n",
165 lapb->dev, frame->pf);
166#endif
167 if (lapb->mode & LAPB_EXTENDED) { 136 if (lapb->mode & LAPB_EXTENDED) {
168#if LAPB_DEBUG > 1 137 lapb_dbg(1, "(%p) S1 TX UA(%d)\n",
169 printk(KERN_DEBUG "lapb: (%p) S1 TX UA(%d)\n", 138 lapb->dev, frame->pf);
170 lapb->dev, frame->pf);
171#endif
172 lapb_send_control(lapb, LAPB_UA, frame->pf, 139 lapb_send_control(lapb, LAPB_UA, frame->pf,
173 LAPB_RESPONSE); 140 LAPB_RESPONSE);
174 } else { 141 } else {
175#if LAPB_DEBUG > 1 142 lapb_dbg(1, "(%p) S1 TX DM(%d)\n",
176 printk(KERN_DEBUG "lapb: (%p) S1 TX DM(%d)\n", 143 lapb->dev, frame->pf);
177 lapb->dev, frame->pf);
178#endif
179 lapb_send_control(lapb, LAPB_DM, frame->pf, 144 lapb_send_control(lapb, LAPB_DM, frame->pf,
180 LAPB_RESPONSE); 145 LAPB_RESPONSE);
181 } 146 }
182 break; 147 break;
183 148
184 case LAPB_DISC: 149 case LAPB_DISC:
185#if LAPB_DEBUG > 1 150 lapb_dbg(1, "(%p) S1 RX DISC(%d)\n", lapb->dev, frame->pf);
186 printk(KERN_DEBUG "lapb: (%p) S1 RX DISC(%d)\n", 151 lapb_dbg(1, "(%p) S1 TX DM(%d)\n", lapb->dev, frame->pf);
187 lapb->dev, frame->pf);
188 printk(KERN_DEBUG "lapb: (%p) S1 TX DM(%d)\n",
189 lapb->dev, frame->pf);
190#endif
191 lapb_send_control(lapb, LAPB_DM, frame->pf, LAPB_RESPONSE); 152 lapb_send_control(lapb, LAPB_DM, frame->pf, LAPB_RESPONSE);
192 break; 153 break;
193 154
194 case LAPB_UA: 155 case LAPB_UA:
195#if LAPB_DEBUG > 1 156 lapb_dbg(1, "(%p) S1 RX UA(%d)\n", lapb->dev, frame->pf);
196 printk(KERN_DEBUG "lapb: (%p) S1 RX UA(%d)\n",
197 lapb->dev, frame->pf);
198#endif
199 if (frame->pf) { 157 if (frame->pf) {
200#if LAPB_DEBUG > 0 158 lapb_dbg(0, "(%p) S1 -> S3\n", lapb->dev);
201 printk(KERN_DEBUG "lapb: (%p) S1 -> S3\n", lapb->dev);
202#endif
203 lapb_stop_t1timer(lapb); 159 lapb_stop_t1timer(lapb);
204 lapb_stop_t2timer(lapb); 160 lapb_stop_t2timer(lapb);
205 lapb->state = LAPB_STATE_3; 161 lapb->state = LAPB_STATE_3;
@@ -213,14 +169,9 @@ static void lapb_state1_machine(struct lapb_cb *lapb, struct sk_buff *skb,
213 break; 169 break;
214 170
215 case LAPB_DM: 171 case LAPB_DM:
216#if LAPB_DEBUG > 1 172 lapb_dbg(1, "(%p) S1 RX DM(%d)\n", lapb->dev, frame->pf);
217 printk(KERN_DEBUG "lapb: (%p) S1 RX DM(%d)\n",
218 lapb->dev, frame->pf);
219#endif
220 if (frame->pf) { 173 if (frame->pf) {
221#if LAPB_DEBUG > 0 174 lapb_dbg(0, "(%p) S1 -> S0\n", lapb->dev);
222 printk(KERN_DEBUG "lapb: (%p) S1 -> S0\n", lapb->dev);
223#endif
224 lapb_clear_queues(lapb); 175 lapb_clear_queues(lapb);
225 lapb->state = LAPB_STATE_0; 176 lapb->state = LAPB_STATE_0;
226 lapb_start_t1timer(lapb); 177 lapb_start_t1timer(lapb);
@@ -243,34 +194,22 @@ static void lapb_state2_machine(struct lapb_cb *lapb, struct sk_buff *skb,
243 switch (frame->type) { 194 switch (frame->type) {
244 case LAPB_SABM: 195 case LAPB_SABM:
245 case LAPB_SABME: 196 case LAPB_SABME:
246#if LAPB_DEBUG > 1 197 lapb_dbg(1, "(%p) S2 RX {SABM,SABME}(%d)\n",
247 printk(KERN_DEBUG "lapb: (%p) S2 RX {SABM,SABME}(%d)\n", 198 lapb->dev, frame->pf);
248 lapb->dev, frame->pf); 199 lapb_dbg(1, "(%p) S2 TX DM(%d)\n", lapb->dev, frame->pf);
249 printk(KERN_DEBUG "lapb: (%p) S2 TX DM(%d)\n",
250 lapb->dev, frame->pf);
251#endif
252 lapb_send_control(lapb, LAPB_DM, frame->pf, LAPB_RESPONSE); 200 lapb_send_control(lapb, LAPB_DM, frame->pf, LAPB_RESPONSE);
253 break; 201 break;
254 202
255 case LAPB_DISC: 203 case LAPB_DISC:
256#if LAPB_DEBUG > 1 204 lapb_dbg(1, "(%p) S2 RX DISC(%d)\n", lapb->dev, frame->pf);
257 printk(KERN_DEBUG "lapb: (%p) S2 RX DISC(%d)\n", 205 lapb_dbg(1, "(%p) S2 TX UA(%d)\n", lapb->dev, frame->pf);
258 lapb->dev, frame->pf);
259 printk(KERN_DEBUG "lapb: (%p) S2 TX UA(%d)\n",
260 lapb->dev, frame->pf);
261#endif
262 lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE); 206 lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE);
263 break; 207 break;
264 208
265 case LAPB_UA: 209 case LAPB_UA:
266#if LAPB_DEBUG > 1 210 lapb_dbg(1, "(%p) S2 RX UA(%d)\n", lapb->dev, frame->pf);
267 printk(KERN_DEBUG "lapb: (%p) S2 RX UA(%d)\n",
268 lapb->dev, frame->pf);
269#endif
270 if (frame->pf) { 211 if (frame->pf) {
271#if LAPB_DEBUG > 0 212 lapb_dbg(0, "(%p) S2 -> S0\n", lapb->dev);
272 printk(KERN_DEBUG "lapb: (%p) S2 -> S0\n", lapb->dev);
273#endif
274 lapb->state = LAPB_STATE_0; 213 lapb->state = LAPB_STATE_0;
275 lapb_start_t1timer(lapb); 214 lapb_start_t1timer(lapb);
276 lapb_stop_t2timer(lapb); 215 lapb_stop_t2timer(lapb);
@@ -279,14 +218,9 @@ static void lapb_state2_machine(struct lapb_cb *lapb, struct sk_buff *skb,
279 break; 218 break;
280 219
281 case LAPB_DM: 220 case LAPB_DM:
282#if LAPB_DEBUG > 1 221 lapb_dbg(1, "(%p) S2 RX DM(%d)\n", lapb->dev, frame->pf);
283 printk(KERN_DEBUG "lapb: (%p) S2 RX DM(%d)\n",
284 lapb->dev, frame->pf);
285#endif
286 if (frame->pf) { 222 if (frame->pf) {
287#if LAPB_DEBUG > 0 223 lapb_dbg(0, "(%p) S2 -> S0\n", lapb->dev);
288 printk(KERN_DEBUG "lapb: (%p) S2 -> S0\n", lapb->dev);
289#endif
290 lapb->state = LAPB_STATE_0; 224 lapb->state = LAPB_STATE_0;
291 lapb_start_t1timer(lapb); 225 lapb_start_t1timer(lapb);
292 lapb_stop_t2timer(lapb); 226 lapb_stop_t2timer(lapb);
@@ -298,12 +232,9 @@ static void lapb_state2_machine(struct lapb_cb *lapb, struct sk_buff *skb,
298 case LAPB_REJ: 232 case LAPB_REJ:
299 case LAPB_RNR: 233 case LAPB_RNR:
300 case LAPB_RR: 234 case LAPB_RR:
301#if LAPB_DEBUG > 1 235 lapb_dbg(1, "(%p) S2 RX {I,REJ,RNR,RR}(%d)\n",
302 printk(KERN_DEBUG "lapb: (%p) S2 RX {I,REJ,RNR,RR}(%d)\n",
303 lapb->dev, frame->pf);
304 printk(KERN_DEBUG "lapb: (%p) S2 RX DM(%d)\n",
305 lapb->dev, frame->pf); 236 lapb->dev, frame->pf);
306#endif 237 lapb_dbg(1, "(%p) S2 RX DM(%d)\n", lapb->dev, frame->pf);
307 if (frame->pf) 238 if (frame->pf)
308 lapb_send_control(lapb, LAPB_DM, frame->pf, 239 lapb_send_control(lapb, LAPB_DM, frame->pf,
309 LAPB_RESPONSE); 240 LAPB_RESPONSE);
@@ -326,22 +257,15 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
326 257
327 switch (frame->type) { 258 switch (frame->type) {
328 case LAPB_SABM: 259 case LAPB_SABM:
329#if LAPB_DEBUG > 1 260 lapb_dbg(1, "(%p) S3 RX SABM(%d)\n", lapb->dev, frame->pf);
330 printk(KERN_DEBUG "lapb: (%p) S3 RX SABM(%d)\n",
331 lapb->dev, frame->pf);
332#endif
333 if (lapb->mode & LAPB_EXTENDED) { 261 if (lapb->mode & LAPB_EXTENDED) {
334#if LAPB_DEBUG > 1 262 lapb_dbg(1, "(%p) S3 TX DM(%d)\n",
335 printk(KERN_DEBUG "lapb: (%p) S3 TX DM(%d)\n", 263 lapb->dev, frame->pf);
336 lapb->dev, frame->pf);
337#endif
338 lapb_send_control(lapb, LAPB_DM, frame->pf, 264 lapb_send_control(lapb, LAPB_DM, frame->pf,
339 LAPB_RESPONSE); 265 LAPB_RESPONSE);
340 } else { 266 } else {
341#if LAPB_DEBUG > 1 267 lapb_dbg(1, "(%p) S3 TX UA(%d)\n",
342 printk(KERN_DEBUG "lapb: (%p) S3 TX UA(%d)\n", 268 lapb->dev, frame->pf);
343 lapb->dev, frame->pf);
344#endif
345 lapb_send_control(lapb, LAPB_UA, frame->pf, 269 lapb_send_control(lapb, LAPB_UA, frame->pf,
346 LAPB_RESPONSE); 270 LAPB_RESPONSE);
347 lapb_stop_t1timer(lapb); 271 lapb_stop_t1timer(lapb);
@@ -356,15 +280,10 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
356 break; 280 break;
357 281
358 case LAPB_SABME: 282 case LAPB_SABME:
359#if LAPB_DEBUG > 1 283 lapb_dbg(1, "(%p) S3 RX SABME(%d)\n", lapb->dev, frame->pf);
360 printk(KERN_DEBUG "lapb: (%p) S3 RX SABME(%d)\n",
361 lapb->dev, frame->pf);
362#endif
363 if (lapb->mode & LAPB_EXTENDED) { 284 if (lapb->mode & LAPB_EXTENDED) {
364#if LAPB_DEBUG > 1 285 lapb_dbg(1, "(%p) S3 TX UA(%d)\n",
365 printk(KERN_DEBUG "lapb: (%p) S3 TX UA(%d)\n", 286 lapb->dev, frame->pf);
366 lapb->dev, frame->pf);
367#endif
368 lapb_send_control(lapb, LAPB_UA, frame->pf, 287 lapb_send_control(lapb, LAPB_UA, frame->pf,
369 LAPB_RESPONSE); 288 LAPB_RESPONSE);
370 lapb_stop_t1timer(lapb); 289 lapb_stop_t1timer(lapb);
@@ -376,23 +295,16 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
376 lapb->va = 0; 295 lapb->va = 0;
377 lapb_requeue_frames(lapb); 296 lapb_requeue_frames(lapb);
378 } else { 297 } else {
379#if LAPB_DEBUG > 1 298 lapb_dbg(1, "(%p) S3 TX DM(%d)\n",
380 printk(KERN_DEBUG "lapb: (%p) S3 TX DM(%d)\n", 299 lapb->dev, frame->pf);
381 lapb->dev, frame->pf);
382#endif
383 lapb_send_control(lapb, LAPB_DM, frame->pf, 300 lapb_send_control(lapb, LAPB_DM, frame->pf,
384 LAPB_RESPONSE); 301 LAPB_RESPONSE);
385 } 302 }
386 break; 303 break;
387 304
388 case LAPB_DISC: 305 case LAPB_DISC:
389#if LAPB_DEBUG > 1 306 lapb_dbg(1, "(%p) S3 RX DISC(%d)\n", lapb->dev, frame->pf);
390 printk(KERN_DEBUG "lapb: (%p) S3 RX DISC(%d)\n", 307 lapb_dbg(0, "(%p) S3 -> S0\n", lapb->dev);
391 lapb->dev, frame->pf);
392#endif
393#if LAPB_DEBUG > 0
394 printk(KERN_DEBUG "lapb: (%p) S3 -> S0\n", lapb->dev);
395#endif
396 lapb_clear_queues(lapb); 308 lapb_clear_queues(lapb);
397 lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE); 309 lapb_send_control(lapb, LAPB_UA, frame->pf, LAPB_RESPONSE);
398 lapb_start_t1timer(lapb); 310 lapb_start_t1timer(lapb);
@@ -402,13 +314,8 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
402 break; 314 break;
403 315
404 case LAPB_DM: 316 case LAPB_DM:
405#if LAPB_DEBUG > 1 317 lapb_dbg(1, "(%p) S3 RX DM(%d)\n", lapb->dev, frame->pf);
406 printk(KERN_DEBUG "lapb: (%p) S3 RX DM(%d)\n", 318 lapb_dbg(0, "(%p) S3 -> S0\n", lapb->dev);
407 lapb->dev, frame->pf);
408#endif
409#if LAPB_DEBUG > 0
410 printk(KERN_DEBUG "lapb: (%p) S3 -> S0\n", lapb->dev);
411#endif
412 lapb_clear_queues(lapb); 319 lapb_clear_queues(lapb);
413 lapb->state = LAPB_STATE_0; 320 lapb->state = LAPB_STATE_0;
414 lapb_start_t1timer(lapb); 321 lapb_start_t1timer(lapb);
@@ -417,10 +324,8 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
417 break; 324 break;
418 325
419 case LAPB_RNR: 326 case LAPB_RNR:
420#if LAPB_DEBUG > 1 327 lapb_dbg(1, "(%p) S3 RX RNR(%d) R%d\n",
421 printk(KERN_DEBUG "lapb: (%p) S3 RX RNR(%d) R%d\n", 328 lapb->dev, frame->pf, frame->nr);
422 lapb->dev, frame->pf, frame->nr);
423#endif
424 lapb->condition |= LAPB_PEER_RX_BUSY_CONDITION; 329 lapb->condition |= LAPB_PEER_RX_BUSY_CONDITION;
425 lapb_check_need_response(lapb, frame->cr, frame->pf); 330 lapb_check_need_response(lapb, frame->cr, frame->pf);
426 if (lapb_validate_nr(lapb, frame->nr)) { 331 if (lapb_validate_nr(lapb, frame->nr)) {
@@ -429,9 +334,7 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
429 lapb->frmr_data = *frame; 334 lapb->frmr_data = *frame;
430 lapb->frmr_type = LAPB_FRMR_Z; 335 lapb->frmr_type = LAPB_FRMR_Z;
431 lapb_transmit_frmr(lapb); 336 lapb_transmit_frmr(lapb);
432#if LAPB_DEBUG > 0 337 lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev);
433 printk(KERN_DEBUG "lapb: (%p) S3 -> S4\n", lapb->dev);
434#endif
435 lapb_start_t1timer(lapb); 338 lapb_start_t1timer(lapb);
436 lapb_stop_t2timer(lapb); 339 lapb_stop_t2timer(lapb);
437 lapb->state = LAPB_STATE_4; 340 lapb->state = LAPB_STATE_4;
@@ -440,10 +343,8 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
440 break; 343 break;
441 344
442 case LAPB_RR: 345 case LAPB_RR:
443#if LAPB_DEBUG > 1 346 lapb_dbg(1, "(%p) S3 RX RR(%d) R%d\n",
444 printk(KERN_DEBUG "lapb: (%p) S3 RX RR(%d) R%d\n", 347 lapb->dev, frame->pf, frame->nr);
445 lapb->dev, frame->pf, frame->nr);
446#endif
447 lapb->condition &= ~LAPB_PEER_RX_BUSY_CONDITION; 348 lapb->condition &= ~LAPB_PEER_RX_BUSY_CONDITION;
448 lapb_check_need_response(lapb, frame->cr, frame->pf); 349 lapb_check_need_response(lapb, frame->cr, frame->pf);
449 if (lapb_validate_nr(lapb, frame->nr)) { 350 if (lapb_validate_nr(lapb, frame->nr)) {
@@ -452,9 +353,7 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
452 lapb->frmr_data = *frame; 353 lapb->frmr_data = *frame;
453 lapb->frmr_type = LAPB_FRMR_Z; 354 lapb->frmr_type = LAPB_FRMR_Z;
454 lapb_transmit_frmr(lapb); 355 lapb_transmit_frmr(lapb);
455#if LAPB_DEBUG > 0 356 lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev);
456 printk(KERN_DEBUG "lapb: (%p) S3 -> S4\n", lapb->dev);
457#endif
458 lapb_start_t1timer(lapb); 357 lapb_start_t1timer(lapb);
459 lapb_stop_t2timer(lapb); 358 lapb_stop_t2timer(lapb);
460 lapb->state = LAPB_STATE_4; 359 lapb->state = LAPB_STATE_4;
@@ -463,10 +362,8 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
463 break; 362 break;
464 363
465 case LAPB_REJ: 364 case LAPB_REJ:
466#if LAPB_DEBUG > 1 365 lapb_dbg(1, "(%p) S3 RX REJ(%d) R%d\n",
467 printk(KERN_DEBUG "lapb: (%p) S3 RX REJ(%d) R%d\n", 366 lapb->dev, frame->pf, frame->nr);
468 lapb->dev, frame->pf, frame->nr);
469#endif
470 lapb->condition &= ~LAPB_PEER_RX_BUSY_CONDITION; 367 lapb->condition &= ~LAPB_PEER_RX_BUSY_CONDITION;
471 lapb_check_need_response(lapb, frame->cr, frame->pf); 368 lapb_check_need_response(lapb, frame->cr, frame->pf);
472 if (lapb_validate_nr(lapb, frame->nr)) { 369 if (lapb_validate_nr(lapb, frame->nr)) {
@@ -478,9 +375,7 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
478 lapb->frmr_data = *frame; 375 lapb->frmr_data = *frame;
479 lapb->frmr_type = LAPB_FRMR_Z; 376 lapb->frmr_type = LAPB_FRMR_Z;
480 lapb_transmit_frmr(lapb); 377 lapb_transmit_frmr(lapb);
481#if LAPB_DEBUG > 0 378 lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev);
482 printk(KERN_DEBUG "lapb: (%p) S3 -> S4\n", lapb->dev);
483#endif
484 lapb_start_t1timer(lapb); 379 lapb_start_t1timer(lapb);
485 lapb_stop_t2timer(lapb); 380 lapb_stop_t2timer(lapb);
486 lapb->state = LAPB_STATE_4; 381 lapb->state = LAPB_STATE_4;
@@ -489,17 +384,13 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
489 break; 384 break;
490 385
491 case LAPB_I: 386 case LAPB_I:
492#if LAPB_DEBUG > 1 387 lapb_dbg(1, "(%p) S3 RX I(%d) S%d R%d\n",
493 printk(KERN_DEBUG "lapb: (%p) S3 RX I(%d) S%d R%d\n", 388 lapb->dev, frame->pf, frame->ns, frame->nr);
494 lapb->dev, frame->pf, frame->ns, frame->nr);
495#endif
496 if (!lapb_validate_nr(lapb, frame->nr)) { 389 if (!lapb_validate_nr(lapb, frame->nr)) {
497 lapb->frmr_data = *frame; 390 lapb->frmr_data = *frame;
498 lapb->frmr_type = LAPB_FRMR_Z; 391 lapb->frmr_type = LAPB_FRMR_Z;
499 lapb_transmit_frmr(lapb); 392 lapb_transmit_frmr(lapb);
500#if LAPB_DEBUG > 0 393 lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev);
501 printk(KERN_DEBUG "lapb: (%p) S3 -> S4\n", lapb->dev);
502#endif
503 lapb_start_t1timer(lapb); 394 lapb_start_t1timer(lapb);
504 lapb_stop_t2timer(lapb); 395 lapb_stop_t2timer(lapb);
505 lapb->state = LAPB_STATE_4; 396 lapb->state = LAPB_STATE_4;
@@ -523,7 +414,7 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
523 * a frame lost on the wire. 414 * a frame lost on the wire.
524 */ 415 */
525 if (cn == NET_RX_DROP) { 416 if (cn == NET_RX_DROP) {
526 printk(KERN_DEBUG "LAPB: rx congestion\n"); 417 pr_debug("rx congestion\n");
527 break; 418 break;
528 } 419 }
529 lapb->vr = (lapb->vr + 1) % modulus; 420 lapb->vr = (lapb->vr + 1) % modulus;
@@ -542,11 +433,8 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
542 if (frame->pf) 433 if (frame->pf)
543 lapb_enquiry_response(lapb); 434 lapb_enquiry_response(lapb);
544 } else { 435 } else {
545#if LAPB_DEBUG > 1 436 lapb_dbg(1, "(%p) S3 TX REJ(%d) R%d\n",
546 printk(KERN_DEBUG 437 lapb->dev, frame->pf, lapb->vr);
547 "lapb: (%p) S3 TX REJ(%d) R%d\n",
548 lapb->dev, frame->pf, lapb->vr);
549#endif
550 lapb->condition |= LAPB_REJECT_CONDITION; 438 lapb->condition |= LAPB_REJECT_CONDITION;
551 lapb_send_control(lapb, LAPB_REJ, frame->pf, 439 lapb_send_control(lapb, LAPB_REJ, frame->pf,
552 LAPB_RESPONSE); 440 LAPB_RESPONSE);
@@ -556,31 +444,22 @@ static void lapb_state3_machine(struct lapb_cb *lapb, struct sk_buff *skb,
556 break; 444 break;
557 445
558 case LAPB_FRMR: 446 case LAPB_FRMR:
559#if LAPB_DEBUG > 1 447 lapb_dbg(1, "(%p) S3 RX FRMR(%d) %02X %02X %02X %02X %02X\n",
560 printk(KERN_DEBUG "lapb: (%p) S3 RX FRMR(%d) %02X " 448 lapb->dev, frame->pf,
561 "%02X %02X %02X %02X\n", lapb->dev, frame->pf, 449 skb->data[0], skb->data[1], skb->data[2],
562 skb->data[0], skb->data[1], skb->data[2], 450 skb->data[3], skb->data[4]);
563 skb->data[3], skb->data[4]);
564#endif
565 lapb_establish_data_link(lapb); 451 lapb_establish_data_link(lapb);
566#if LAPB_DEBUG > 0 452 lapb_dbg(0, "(%p) S3 -> S1\n", lapb->dev);
567 printk(KERN_DEBUG "lapb: (%p) S3 -> S1\n", lapb->dev);
568#endif
569 lapb_requeue_frames(lapb); 453 lapb_requeue_frames(lapb);
570 lapb->state = LAPB_STATE_1; 454 lapb->state = LAPB_STATE_1;
571 break; 455 break;
572 456
573 case LAPB_ILLEGAL: 457 case LAPB_ILLEGAL:
574#if LAPB_DEBUG > 1 458 lapb_dbg(1, "(%p) S3 RX ILLEGAL(%d)\n", lapb->dev, frame->pf);
575 printk(KERN_DEBUG "lapb: (%p) S3 RX ILLEGAL(%d)\n",
576 lapb->dev, frame->pf);
577#endif
578 lapb->frmr_data = *frame; 459 lapb->frmr_data = *frame;
579 lapb->frmr_type = LAPB_FRMR_W; 460 lapb->frmr_type = LAPB_FRMR_W;
580 lapb_transmit_frmr(lapb); 461 lapb_transmit_frmr(lapb);
581#if LAPB_DEBUG > 0 462 lapb_dbg(0, "(%p) S3 -> S4\n", lapb->dev);
582 printk(KERN_DEBUG "lapb: (%p) S3 -> S4\n", lapb->dev);
583#endif
584 lapb_start_t1timer(lapb); 463 lapb_start_t1timer(lapb);
585 lapb_stop_t2timer(lapb); 464 lapb_stop_t2timer(lapb);
586 lapb->state = LAPB_STATE_4; 465 lapb->state = LAPB_STATE_4;
@@ -601,25 +480,16 @@ static void lapb_state4_machine(struct lapb_cb *lapb, struct sk_buff *skb,
601{ 480{
602 switch (frame->type) { 481 switch (frame->type) {
603 case LAPB_SABM: 482 case LAPB_SABM:
604#if LAPB_DEBUG > 1 483 lapb_dbg(1, "(%p) S4 RX SABM(%d)\n", lapb->dev, frame->pf);
605 printk(KERN_DEBUG "lapb: (%p) S4 RX SABM(%d)\n",
606 lapb->dev, frame->pf);
607#endif
608 if (lapb->mode & LAPB_EXTENDED) { 484 if (lapb->mode & LAPB_EXTENDED) {
609#if LAPB_DEBUG > 1 485 lapb_dbg(1, "(%p) S4 TX DM(%d)\n",
610 printk(KERN_DEBUG "lapb: (%p) S4 TX DM(%d)\n", 486 lapb->dev, frame->pf);
611 lapb->dev, frame->pf);
612#endif
613 lapb_send_control(lapb, LAPB_DM, frame->pf, 487 lapb_send_control(lapb, LAPB_DM, frame->pf,
614 LAPB_RESPONSE); 488 LAPB_RESPONSE);
615 } else { 489 } else {
616#if LAPB_DEBUG > 1 490 lapb_dbg(1, "(%p) S4 TX UA(%d)\n",
617 printk(KERN_DEBUG "lapb: (%p) S4 TX UA(%d)\n", 491 lapb->dev, frame->pf);
618 lapb->dev, frame->pf); 492 lapb_dbg(0, "(%p) S4 -> S3\n", lapb->dev);
619#endif
620#if LAPB_DEBUG > 0
621 printk(KERN_DEBUG "lapb: (%p) S4 -> S3\n", lapb->dev);
622#endif
623 lapb_send_control(lapb, LAPB_UA, frame->pf, 493 lapb_send_control(lapb, LAPB_UA, frame->pf,
624 LAPB_RESPONSE); 494 LAPB_RESPONSE);
625 lapb_stop_t1timer(lapb); 495 lapb_stop_t1timer(lapb);
@@ -635,18 +505,11 @@ static void lapb_state4_machine(struct lapb_cb *lapb, struct sk_buff *skb,
635 break; 505 break;
636 506
637 case LAPB_SABME: 507 case LAPB_SABME:
638#if LAPB_DEBUG > 1 508 lapb_dbg(1, "(%p) S4 RX SABME(%d)\n", lapb->dev, frame->pf);
639 printk(KERN_DEBUG "lapb: (%p) S4 RX SABME(%d)\n",
640 lapb->dev, frame->pf);
641#endif
642 if (lapb->mode & LAPB_EXTENDED) { 509 if (lapb->mode & LAPB_EXTENDED) {
643#if LAPB_DEBUG > 1 510 lapb_dbg(1, "(%p) S4 TX UA(%d)\n",
644 printk(KERN_DEBUG "lapb: (%p) S4 TX UA(%d)\n", 511 lapb->dev, frame->pf);
645 lapb->dev, frame->pf); 512 lapb_dbg(0, "(%p) S4 -> S3\n", lapb->dev);
646#endif
647#if LAPB_DEBUG > 0
648 printk(KERN_DEBUG "lapb: (%p) S4 -> S3\n", lapb->dev);
649#endif
650 lapb_send_control(lapb, LAPB_UA, frame->pf, 513 lapb_send_control(lapb, LAPB_UA, frame->pf,
651 LAPB_RESPONSE); 514 LAPB_RESPONSE);
652 lapb_stop_t1timer(lapb); 515 lapb_stop_t1timer(lapb);
@@ -659,10 +522,8 @@ static void lapb_state4_machine(struct lapb_cb *lapb, struct sk_buff *skb,
659 lapb->va = 0; 522 lapb->va = 0;
660 lapb_connect_indication(lapb, LAPB_OK); 523 lapb_connect_indication(lapb, LAPB_OK);
661 } else { 524 } else {
662#if LAPB_DEBUG > 1 525 lapb_dbg(1, "(%p) S4 TX DM(%d)\n",
663 printk(KERN_DEBUG "lapb: (%p) S4 TX DM(%d)\n", 526 lapb->dev, frame->pf);
664 lapb->dev, frame->pf);
665#endif
666 lapb_send_control(lapb, LAPB_DM, frame->pf, 527 lapb_send_control(lapb, LAPB_DM, frame->pf,
667 LAPB_RESPONSE); 528 LAPB_RESPONSE);
668 } 529 }