aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/arm/at91_ether.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/arm/at91_ether.c')
-rw-r--r--drivers/net/arm/at91_ether.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index 65ce451ae961..e21dc2075ed8 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -1078,7 +1078,8 @@ static int __init at91ether_setup(unsigned long phy_type, unsigned short phy_add
1078 init_timer(&lp->check_timer); 1078 init_timer(&lp->check_timer);
1079 lp->check_timer.data = (unsigned long)dev; 1079 lp->check_timer.data = (unsigned long)dev;
1080 lp->check_timer.function = at91ether_check_link; 1080 lp->check_timer.function = at91ether_check_link;
1081 } 1081 } else if (lp->board_data.phy_irq_pin >= 32)
1082 gpio_request(lp->board_data.phy_irq_pin, "ethernet_phy");
1082 1083
1083 /* Display ethernet banner */ 1084 /* Display ethernet banner */
1084 printk(KERN_INFO "%s: AT91 ethernet at 0x%08x int=%d %s%s (%pM)\n", 1085 printk(KERN_INFO "%s: AT91 ethernet at 0x%08x int=%d %s%s (%pM)\n",
@@ -1165,6 +1166,9 @@ static int __devexit at91ether_remove(struct platform_device *pdev)
1165 struct net_device *dev = platform_get_drvdata(pdev); 1166 struct net_device *dev = platform_get_drvdata(pdev);
1166 struct at91_private *lp = netdev_priv(dev); 1167 struct at91_private *lp = netdev_priv(dev);
1167 1168
1169 if (lp->board_data.phy_irq_pin >= 32)
1170 gpio_free(lp->board_data.phy_irq_pin);
1171
1168 unregister_netdev(dev); 1172 unregister_netdev(dev);
1169 free_irq(dev->irq, dev); 1173 free_irq(dev->irq, dev);
1170 dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys); 1174 dma_free_coherent(NULL, sizeof(struct recv_desc_bufs), lp->dlist, (dma_addr_t)lp->dlist_phys);