diff --git a/net/lapb/lapb_iface.c b/net/lapb/lapb_iface.c
index 7e6bc41..a2e7aa6 100644
--- a/net/lapb/lapb_iface.c
+++ b/net/lapb/lapb_iface.c
@@ -14,7 +14,7 @@
  *	LAPB 002	Jonathan Naylor	New timer architecture.
  *	2000-10-29	Henner Eisen	lapb_data_indication() return status.
  */
- 
+
 #include <linux/module.h>
 #include <linux/errno.h>
 #include <linux/types.h>
@@ -43,7 +43,7 @@
 static DEFINE_RWLOCK(lapb_list_lock);
 
 /*
- *	Free an allocated lapb control block. 
+ *	Free an allocated lapb control block.
  */
 static void lapb_free_cb(struct lapb_cb *lapb)
 {
@@ -407,7 +407,7 @@
 		return lapb->callbacks.data_indication(lapb->dev, skb);
 
 	kfree_skb(skb);
-	return NET_RX_CN_HIGH; /* For now; must be != NET_RX_DROP */ 
+	return NET_RX_CN_HIGH; /* For now; must be != NET_RX_DROP */
 }
 
 int lapb_data_transmit(struct lapb_cb *lapb, struct sk_buff *skb)
diff --git a/net/lapb/lapb_out.c b/net/lapb/lapb_out.c
index 49a761b..981beb5 100644
--- a/net/lapb/lapb_out.c
+++ b/net/lapb/lapb_out.c
@@ -34,7 +34,7 @@
 #include <linux/interrupt.h>
 #include <net/lapb.h>
 
-/* 
+/*
  *  This procedure is passed a buffer descriptor for an iframe. It builds
  *  the rest of the control part of the frame and then writes it out.
  */
@@ -66,7 +66,7 @@
 	       lapb->dev, lapb->state, poll_bit, lapb->vs, lapb->vr);
 #endif
 
-	lapb_transmit_buffer(lapb, skb, LAPB_COMMAND);	
+	lapb_transmit_buffer(lapb, skb, LAPB_COMMAND);
 }
 
 void lapb_kick(struct lapb_cb *lapb)
diff --git a/net/lapb/lapb_subr.c b/net/lapb/lapb_subr.c
index 8b5eefd..b8739cf 100644
--- a/net/lapb/lapb_subr.c
+++ b/net/lapb/lapb_subr.c
@@ -59,7 +59,7 @@
 	 */
 	if (lapb->va != nr)
 		while (skb_peek(&lapb->ack_queue) && lapb->va != nr) {
-		        skb = skb_dequeue(&lapb->ack_queue);
+			skb = skb_dequeue(&lapb->ack_queue);
 			kfree_skb(skb);
 			lapb->va = (lapb->va + 1) % modulus;
 		}
@@ -67,7 +67,7 @@
 
 void lapb_requeue_frames(struct lapb_cb *lapb)
 {
-        struct sk_buff *skb, *skb_prev = NULL;
+	struct sk_buff *skb, *skb_prev = NULL;
 
 	/*
 	 * Requeue all the un-ack-ed frames on the output queue to be picked
@@ -91,7 +91,7 @@
 {
 	unsigned short vc = lapb->va;
 	int modulus;
-	
+
 	modulus = (lapb->mode & LAPB_EXTENDED) ? LAPB_EMODULUS : LAPB_SMODULUS;
 
 	while (vc != lapb->vs) {
@@ -99,7 +99,7 @@
 			return 1;
 		vc = (vc + 1) % modulus;
 	}
-	
+
 	return nr == lapb->vs;
 }
 
@@ -149,7 +149,7 @@
 				frame->cr = LAPB_RESPONSE;
 		}
 	}
-		
+
 	skb_pull(skb, 1);
 
 	if (lapb->mode & LAPB_EXTENDED) {
@@ -220,9 +220,9 @@
 	return 0;
 }
 
-/* 
+/*
  *	This routine is called when the HDLC layer internally  generates a
- *	command or  response  for  the remote machine ( eg. RR, UA etc. ). 
+ *	command or  response  for  the remote machine ( eg. RR, UA etc. ).
  *	Only supervisory or unnumbered frames are processed, FRMRs are handled
  *	by lapb_transmit_frmr below.
  */
@@ -259,7 +259,7 @@
 	lapb_transmit_buffer(lapb, skb, type);
 }
 
-/* 
+/*
  *	This routine generates FRMRs based on information previously stored in
  *	the LAPB control block.
  */
diff --git a/net/lapb/lapb_timer.c b/net/lapb/lapb_timer.c
index 2c8f0f8..af6d14b 100644
--- a/net/lapb/lapb_timer.c
+++ b/net/lapb/lapb_timer.c
@@ -101,7 +101,7 @@
 		/*
 		 *	Awaiting connection state, send SABM(E), up to N2 times.
 		 */
-		case LAPB_STATE_1: 
+		case LAPB_STATE_1:
 			if (lapb->n2count == lapb->n2) {
 				lapb_clear_queues(lapb);
 				lapb->state = LAPB_STATE_0;
