diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index b783a69..69ff831 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -277,7 +277,7 @@
 	phys_addr pa_next;	/* va_to_pa(struct i596_tbd *next) */
 	phys_addr pa_data;	/* va_to_pa(char *data) */
 	phys_addr pa_prev;	/* va_to_pa(struct i596_tbd *prev) */
-	
+
 	/* Driver private part */
 	struct sk_buff *skb;
 };
@@ -647,7 +647,7 @@
 	CA();
 
 	barrier();
-	
+
 	if (lp->scb.command && i596_timeout(dev, "Receive Unit start", 100))
 		return 1;
 
@@ -676,7 +676,7 @@
 			return 1;
 		}
 
-		skb->dev = dev;		
+		skb->dev = dev;
 		memcpy(skb_put(skb,pkt_len), rfd->data, pkt_len);
 
 		skb->protocol = eth_type_trans(skb,dev);
@@ -797,7 +797,7 @@
 	lp->scb.command = CUC_ABORT | RX_ABORT;
 	CA();
 	barrier();
-	
+
 	/* wait for shutdown */
 	if (lp->scb.command && i596_timeout(dev, "i596_reset(2)", 400))
 		;
@@ -820,7 +820,7 @@
 	cmd->pa_next = I596_NULL;
 
 	spin_lock_irqsave(&lp->cmd_lock, flags);
-	
+
 	if (lp->cmd_head) {
 		lp->cmd_tail->pa_next = va_to_pa(cmd);
 	} else {
@@ -847,7 +847,7 @@
 	}
 }
 
-static int i596_open(struct net_device *dev) 
+static int i596_open(struct net_device *dev)
 {
 	int i;
 
@@ -875,13 +875,13 @@
 	short length;
 
 	length = skb->len;
-	
+
 	if (length < ETH_ZLEN) {
 		if (skb_padto(skb, ETH_ZLEN))
 			return 0;
 		length = ETH_ZLEN;
 	}
-	
+
 	dev->trans_start = jiffies;
 
 	tx_cmd = (struct tx_cmd *) kmalloc ((sizeof (struct tx_cmd) + sizeof (struct i596_tbd)), GFP_ATOMIC);
@@ -941,7 +941,7 @@
 	netif_wake_queue(dev);
 }
 
-static void print_eth(char *add) 
+static void print_eth(char *add)
 {
 	int i;
 
@@ -978,7 +978,7 @@
 
 	lp = (struct i596_private *) dev->priv;
 	spin_lock_init(&lp->cmd_lock);
-	
+
 	/*
 	 * Do we really have this thing?
 	 */
@@ -1132,7 +1132,7 @@
 		default:
 			cmd->pa_next = I596_NULL;
 			lp->last_cmd = jiffies;
-			
+
 		}
 		barrier();
 	}
