aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Lo <kevlo@kevlo.org>2008-08-26 23:35:15 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-09-03 10:24:09 -0400
commita52be1cbc262bb23cce9d856975c74626d26ec8c (patch)
treea409d058a33437cb85031e69683dfab72792a920
parentb26b555a7b4decf765ade265fa9da3bd6ff3e9e0 (diff)
8139cp: use netdev_alloc_skb
This patch uses netdev_alloc_skb. This sets skb->dev and allows arch specific allocation. Also cleanup the alignment code. Signed-off-by: Kevin Lo <kevlo@kevlo.org> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r--drivers/net/8139cp.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index 6011d6fabef0..85fa40a0a667 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -127,7 +127,6 @@ MODULE_PARM_DESC (multicast_filter_limit, "8139cp: maximum number of filtered mu
127 (CP)->tx_tail - (CP)->tx_head - 1) 127 (CP)->tx_tail - (CP)->tx_head - 1)
128 128
129#define PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer.*/ 129#define PKT_BUF_SZ 1536 /* Size of each temporary Rx buffer.*/
130#define RX_OFFSET 2
131#define CP_INTERNAL_PHY 32 130#define CP_INTERNAL_PHY 32
132 131
133/* The following settings are log_2(bytes)-4: 0 == 16 bytes .. 6==1024, 7==end of packet. */ 132/* The following settings are log_2(bytes)-4: 0 == 16 bytes .. 6==1024, 7==end of packet. */
@@ -552,14 +551,14 @@ rx_status_loop:
552 printk(KERN_DEBUG "%s: rx slot %d status 0x%x len %d\n", 551 printk(KERN_DEBUG "%s: rx slot %d status 0x%x len %d\n",
553 dev->name, rx_tail, status, len); 552 dev->name, rx_tail, status, len);
554 553
555 buflen = cp->rx_buf_sz + RX_OFFSET; 554 buflen = cp->rx_buf_sz + NET_IP_ALIGN;
556 new_skb = dev_alloc_skb (buflen); 555 new_skb = netdev_alloc_skb(dev, buflen);
557 if (!new_skb) { 556 if (!new_skb) {
558 dev->stats.rx_dropped++; 557 dev->stats.rx_dropped++;
559 goto rx_next; 558 goto rx_next;
560 } 559 }
561 560
562 skb_reserve(new_skb, RX_OFFSET); 561 skb_reserve(new_skb, NET_IP_ALIGN);
563 562
564 dma_unmap_single(&cp->pdev->dev, mapping, 563 dma_unmap_single(&cp->pdev->dev, mapping,
565 buflen, PCI_DMA_FROMDEVICE); 564 buflen, PCI_DMA_FROMDEVICE);
@@ -1051,19 +1050,20 @@ static void cp_init_hw (struct cp_private *cp)
1051 cpw8_f(Cfg9346, Cfg9346_Lock); 1050 cpw8_f(Cfg9346, Cfg9346_Lock);
1052} 1051}
1053 1052
1054static int cp_refill_rx (struct cp_private *cp) 1053static int cp_refill_rx(struct cp_private *cp)
1055{ 1054{
1055 struct net_device *dev = cp->dev;
1056 unsigned i; 1056 unsigned i;
1057 1057
1058 for (i = 0; i < CP_RX_RING_SIZE; i++) { 1058 for (i = 0; i < CP_RX_RING_SIZE; i++) {
1059 struct sk_buff *skb; 1059 struct sk_buff *skb;
1060 dma_addr_t mapping; 1060 dma_addr_t mapping;
1061 1061
1062 skb = dev_alloc_skb(cp->rx_buf_sz + RX_OFFSET); 1062 skb = netdev_alloc_skb(dev, cp->rx_buf_sz + NET_IP_ALIGN);
1063 if (!skb) 1063 if (!skb)
1064 goto err_out; 1064 goto err_out;
1065 1065
1066 skb_reserve(skb, RX_OFFSET); 1066 skb_reserve(skb, NET_IP_ALIGN);
1067 1067
1068 mapping = dma_map_single(&cp->pdev->dev, skb->data, 1068 mapping = dma_map_single(&cp->pdev->dev, skb->data,
1069 cp->rx_buf_sz, PCI_DMA_FROMDEVICE); 1069 cp->rx_buf_sz, PCI_DMA_FROMDEVICE);