patch-1.3.6 linux/drivers/net/de600.c

Next file: linux/drivers/net/de620.c
Previous file: linux/drivers/net/de4x5.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.5/linux/drivers/net/de600.c linux/drivers/net/de600.c
@@ -609,7 +609,7 @@
 		return;
 	}
 
-	skb = alloc_skb(size, GFP_ATOMIC);
+	skb = dev_alloc_skb(size);
 	sti();
 	if (skb == NULL) {
 		printk("%s: Couldn't allocate a sk_buff of size %d.\n",
@@ -618,9 +618,10 @@
 	}
 	/* else */
 
-	skb->lock = 0;
+	skb->dev = dev;
+	
 	/* 'skb->data' points to the start of sk_buff data area. */
-	buffer = skb->data;
+	buffer = skb_put(skb,size);
 
 	/* copy the packet into the buffer */
 	de600_setup_address(read_from, RW_ADDR);
@@ -630,10 +631,10 @@
 	((struct netstats *)(dev->priv))->rx_packets++; /* count all receives */
 
 	skb->protocol=eth_type_trans(skb,dev);
-	if (dev_rint((unsigned char *)skb, size, IN_SKBUFF, dev))
-		printk("%s: receive buffers full.\n", dev->name);
+	
+	netif_rx(skb);
 	/*
-	 * If any worth-while packets have been received, dev_rint()
+	 * If any worth-while packets have been received, netif_rx()
 	 * has done a mark_bh(INET_BH) for us and will work on them
 	 * when we get to the bottom-half routine.
 	 */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this