diff options
Diffstat (limited to 'drivers/net/korina.c')
-rw-r--r-- | drivers/net/korina.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/net/korina.c b/drivers/net/korina.c index 03199fa10003..25e2af6997e4 100644 --- a/drivers/net/korina.c +++ b/drivers/net/korina.c | |||
@@ -400,7 +400,7 @@ static int korina_rx(struct net_device *dev, int limit) | |||
400 | dma_cache_inv((unsigned long)pkt_buf, pkt_len - 4); | 400 | dma_cache_inv((unsigned long)pkt_buf, pkt_len - 4); |
401 | 401 | ||
402 | /* Malloc up new buffer. */ | 402 | /* Malloc up new buffer. */ |
403 | skb_new = netdev_alloc_skb(dev, KORINA_RBSIZE + 2); | 403 | skb_new = netdev_alloc_skb_ip_align(dev, KORINA_RBSIZE); |
404 | 404 | ||
405 | if (!skb_new) | 405 | if (!skb_new) |
406 | break; | 406 | break; |
@@ -417,9 +417,6 @@ static int korina_rx(struct net_device *dev, int limit) | |||
417 | if (devcs & ETH_RX_MP) | 417 | if (devcs & ETH_RX_MP) |
418 | dev->stats.multicast++; | 418 | dev->stats.multicast++; |
419 | 419 | ||
420 | /* 16 bit align */ | ||
421 | skb_reserve(skb_new, 2); | ||
422 | |||
423 | lp->rx_skb[lp->rx_next_done] = skb_new; | 420 | lp->rx_skb[lp->rx_next_done] = skb_new; |
424 | } | 421 | } |
425 | 422 | ||
@@ -1017,14 +1014,14 @@ static int korina_open(struct net_device *dev) | |||
1017 | /* Install the interrupt handler | 1014 | /* Install the interrupt handler |
1018 | * that handles the Done Finished | 1015 | * that handles the Done Finished |
1019 | * Ovr and Und Events */ | 1016 | * Ovr and Und Events */ |
1020 | ret = request_irq(lp->rx_irq, &korina_rx_dma_interrupt, | 1017 | ret = request_irq(lp->rx_irq, korina_rx_dma_interrupt, |
1021 | IRQF_DISABLED, "Korina ethernet Rx", dev); | 1018 | IRQF_DISABLED, "Korina ethernet Rx", dev); |
1022 | if (ret < 0) { | 1019 | if (ret < 0) { |
1023 | printk(KERN_ERR "%s: unable to get Rx DMA IRQ %d\n", | 1020 | printk(KERN_ERR "%s: unable to get Rx DMA IRQ %d\n", |
1024 | dev->name, lp->rx_irq); | 1021 | dev->name, lp->rx_irq); |
1025 | goto err_release; | 1022 | goto err_release; |
1026 | } | 1023 | } |
1027 | ret = request_irq(lp->tx_irq, &korina_tx_dma_interrupt, | 1024 | ret = request_irq(lp->tx_irq, korina_tx_dma_interrupt, |
1028 | IRQF_DISABLED, "Korina ethernet Tx", dev); | 1025 | IRQF_DISABLED, "Korina ethernet Tx", dev); |
1029 | if (ret < 0) { | 1026 | if (ret < 0) { |
1030 | printk(KERN_ERR "%s: unable to get Tx DMA IRQ %d\n", | 1027 | printk(KERN_ERR "%s: unable to get Tx DMA IRQ %d\n", |
@@ -1033,7 +1030,7 @@ static int korina_open(struct net_device *dev) | |||
1033 | } | 1030 | } |
1034 | 1031 | ||
1035 | /* Install handler for overrun error. */ | 1032 | /* Install handler for overrun error. */ |
1036 | ret = request_irq(lp->ovr_irq, &korina_ovr_interrupt, | 1033 | ret = request_irq(lp->ovr_irq, korina_ovr_interrupt, |
1037 | IRQF_DISABLED, "Ethernet Overflow", dev); | 1034 | IRQF_DISABLED, "Ethernet Overflow", dev); |
1038 | if (ret < 0) { | 1035 | if (ret < 0) { |
1039 | printk(KERN_ERR "%s: unable to get OVR IRQ %d\n", | 1036 | printk(KERN_ERR "%s: unable to get OVR IRQ %d\n", |
@@ -1042,7 +1039,7 @@ static int korina_open(struct net_device *dev) | |||
1042 | } | 1039 | } |
1043 | 1040 | ||
1044 | /* Install handler for underflow error. */ | 1041 | /* Install handler for underflow error. */ |
1045 | ret = request_irq(lp->und_irq, &korina_und_interrupt, | 1042 | ret = request_irq(lp->und_irq, korina_und_interrupt, |
1046 | IRQF_DISABLED, "Ethernet Underflow", dev); | 1043 | IRQF_DISABLED, "Ethernet Underflow", dev); |
1047 | if (ret < 0) { | 1044 | if (ret < 0) { |
1048 | printk(KERN_ERR "%s: unable to get UND IRQ %d\n", | 1045 | printk(KERN_ERR "%s: unable to get UND IRQ %d\n", |