diff options
Diffstat (limited to 'drivers/net/r6040.c')
-rw-r--r-- | drivers/net/r6040.c | 46 |
1 files changed, 21 insertions, 25 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c index 0298d8c1dcb..9a251acf5ab 100644 --- a/drivers/net/r6040.c +++ b/drivers/net/r6040.c | |||
@@ -330,7 +330,7 @@ static int r6040_alloc_rxbufs(struct net_device *dev) | |||
330 | do { | 330 | do { |
331 | skb = netdev_alloc_skb(dev, MAX_BUF_SIZE); | 331 | skb = netdev_alloc_skb(dev, MAX_BUF_SIZE); |
332 | if (!skb) { | 332 | if (!skb) { |
333 | printk(KERN_ERR DRV_NAME "%s: failed to alloc skb for rx\n", dev->name); | 333 | netdev_err(dev, "failed to alloc skb for rx\n"); |
334 | rc = -ENOMEM; | 334 | rc = -ENOMEM; |
335 | goto err_exit; | 335 | goto err_exit; |
336 | } | 336 | } |
@@ -400,9 +400,6 @@ static void r6040_init_mac_regs(struct net_device *dev) | |||
400 | * we may got called by r6040_tx_timeout which has left | 400 | * we may got called by r6040_tx_timeout which has left |
401 | * some unsent tx buffers */ | 401 | * some unsent tx buffers */ |
402 | iowrite16(0x01, ioaddr + MTPR); | 402 | iowrite16(0x01, ioaddr + MTPR); |
403 | |||
404 | /* Check media */ | ||
405 | mii_check_media(&lp->mii_if, 1, 1); | ||
406 | } | 403 | } |
407 | 404 | ||
408 | static void r6040_tx_timeout(struct net_device *dev) | 405 | static void r6040_tx_timeout(struct net_device *dev) |
@@ -410,9 +407,9 @@ static void r6040_tx_timeout(struct net_device *dev) | |||
410 | struct r6040_private *priv = netdev_priv(dev); | 407 | struct r6040_private *priv = netdev_priv(dev); |
411 | void __iomem *ioaddr = priv->base; | 408 | void __iomem *ioaddr = priv->base; |
412 | 409 | ||
413 | printk(KERN_WARNING "%s: transmit timed out, int enable %4.4x " | 410 | netdev_warn(dev, "transmit timed out, int enable %4.4x " |
414 | "status %4.4x, PHY status %4.4x\n", | 411 | "status %4.4x, PHY status %4.4x\n", |
415 | dev->name, ioread16(ioaddr + MIER), | 412 | ioread16(ioaddr + MIER), |
416 | ioread16(ioaddr + MISR), | 413 | ioread16(ioaddr + MISR), |
417 | r6040_mdio_read(dev, priv->mii_if.phy_id, MII_BMSR)); | 414 | r6040_mdio_read(dev, priv->mii_if.phy_id, MII_BMSR)); |
418 | 415 | ||
@@ -530,8 +527,6 @@ static int r6040_phy_mode_chk(struct net_device *dev) | |||
530 | phy_dat = 0x0000; | 527 | phy_dat = 0x0000; |
531 | } | 528 | } |
532 | 529 | ||
533 | mii_check_media(&lp->mii_if, 0, 1); | ||
534 | |||
535 | return phy_dat; | 530 | return phy_dat; |
536 | }; | 531 | }; |
537 | 532 | ||
@@ -813,6 +808,9 @@ static void r6040_timer(unsigned long data) | |||
813 | 808 | ||
814 | /* Timer active again */ | 809 | /* Timer active again */ |
815 | mod_timer(&lp->timer, round_jiffies(jiffies + HZ)); | 810 | mod_timer(&lp->timer, round_jiffies(jiffies + HZ)); |
811 | |||
812 | /* Check media */ | ||
813 | mii_check_media(&lp->mii_if, 1, 1); | ||
816 | } | 814 | } |
817 | 815 | ||
818 | /* Read/set MAC address routines */ | 816 | /* Read/set MAC address routines */ |
@@ -897,7 +895,7 @@ static netdev_tx_t r6040_start_xmit(struct sk_buff *skb, | |||
897 | if (!lp->tx_free_desc) { | 895 | if (!lp->tx_free_desc) { |
898 | spin_unlock_irqrestore(&lp->lock, flags); | 896 | spin_unlock_irqrestore(&lp->lock, flags); |
899 | netif_stop_queue(dev); | 897 | netif_stop_queue(dev); |
900 | printk(KERN_ERR DRV_NAME ": no tx descriptor\n"); | 898 | netdev_err(dev, ": no tx descriptor\n"); |
901 | return NETDEV_TX_BUSY; | 899 | return NETDEV_TX_BUSY; |
902 | } | 900 | } |
903 | 901 | ||
@@ -924,7 +922,6 @@ static netdev_tx_t r6040_start_xmit(struct sk_buff *skb, | |||
924 | if (!lp->tx_free_desc) | 922 | if (!lp->tx_free_desc) |
925 | netif_stop_queue(dev); | 923 | netif_stop_queue(dev); |
926 | 924 | ||
927 | dev->trans_start = jiffies; | ||
928 | spin_unlock_irqrestore(&lp->lock, flags); | 925 | spin_unlock_irqrestore(&lp->lock, flags); |
929 | 926 | ||
930 | return NETDEV_TX_OK; | 927 | return NETDEV_TX_OK; |
@@ -937,7 +934,7 @@ static void r6040_multicast_list(struct net_device *dev) | |||
937 | u16 *adrp; | 934 | u16 *adrp; |
938 | u16 reg; | 935 | u16 reg; |
939 | unsigned long flags; | 936 | unsigned long flags; |
940 | struct dev_mc_list *dmi; | 937 | struct netdev_hw_addr *ha; |
941 | int i; | 938 | int i; |
942 | 939 | ||
943 | /* MAC Address */ | 940 | /* MAC Address */ |
@@ -972,8 +969,8 @@ static void r6040_multicast_list(struct net_device *dev) | |||
972 | for (i = 0; i < 4; i++) | 969 | for (i = 0; i < 4; i++) |
973 | hash_table[i] = 0; | 970 | hash_table[i] = 0; |
974 | 971 | ||
975 | netdev_for_each_mc_addr(dmi, dev) { | 972 | netdev_for_each_mc_addr(ha, dev) { |
976 | char *addrs = dmi->dmi_addr; | 973 | char *addrs = ha->addr; |
977 | 974 | ||
978 | if (!(*addrs & 1)) | 975 | if (!(*addrs & 1)) |
979 | continue; | 976 | continue; |
@@ -990,9 +987,9 @@ static void r6040_multicast_list(struct net_device *dev) | |||
990 | } | 987 | } |
991 | /* Multicast Address 1~4 case */ | 988 | /* Multicast Address 1~4 case */ |
992 | i = 0; | 989 | i = 0; |
993 | netdev_for_each_mc_addr(dmi, dev) { | 990 | netdev_for_each_mc_addr(ha, dev) { |
994 | if (i < MCAST_MAX) { | 991 | if (i < MCAST_MAX) { |
995 | adrp = (u16 *) dmi->dmi_addr; | 992 | adrp = (u16 *) ha->addr; |
996 | iowrite16(adrp[0], ioaddr + MID_1L + 8 * i); | 993 | iowrite16(adrp[0], ioaddr + MID_1L + 8 * i); |
997 | iowrite16(adrp[1], ioaddr + MID_1M + 8 * i); | 994 | iowrite16(adrp[1], ioaddr + MID_1M + 8 * i); |
998 | iowrite16(adrp[2], ioaddr + MID_1H + 8 * i); | 995 | iowrite16(adrp[2], ioaddr + MID_1H + 8 * i); |
@@ -1090,20 +1087,20 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, | |||
1090 | /* this should always be supported */ | 1087 | /* this should always be supported */ |
1091 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); | 1088 | err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); |
1092 | if (err) { | 1089 | if (err) { |
1093 | printk(KERN_ERR DRV_NAME ": 32-bit PCI DMA addresses" | 1090 | dev_err(&pdev->dev, "32-bit PCI DMA addresses" |
1094 | "not supported by the card\n"); | 1091 | "not supported by the card\n"); |
1095 | goto err_out; | 1092 | goto err_out; |
1096 | } | 1093 | } |
1097 | err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); | 1094 | err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)); |
1098 | if (err) { | 1095 | if (err) { |
1099 | printk(KERN_ERR DRV_NAME ": 32-bit PCI DMA addresses" | 1096 | dev_err(&pdev->dev, "32-bit PCI DMA addresses" |
1100 | "not supported by the card\n"); | 1097 | "not supported by the card\n"); |
1101 | goto err_out; | 1098 | goto err_out; |
1102 | } | 1099 | } |
1103 | 1100 | ||
1104 | /* IO Size check */ | 1101 | /* IO Size check */ |
1105 | if (pci_resource_len(pdev, bar) < io_size) { | 1102 | if (pci_resource_len(pdev, bar) < io_size) { |
1106 | printk(KERN_ERR DRV_NAME ": Insufficient PCI resources, aborting\n"); | 1103 | dev_err(&pdev->dev, "Insufficient PCI resources, aborting\n"); |
1107 | err = -EIO; | 1104 | err = -EIO; |
1108 | goto err_out; | 1105 | goto err_out; |
1109 | } | 1106 | } |
@@ -1112,7 +1109,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, | |||
1112 | 1109 | ||
1113 | dev = alloc_etherdev(sizeof(struct r6040_private)); | 1110 | dev = alloc_etherdev(sizeof(struct r6040_private)); |
1114 | if (!dev) { | 1111 | if (!dev) { |
1115 | printk(KERN_ERR DRV_NAME ": Failed to allocate etherdev\n"); | 1112 | dev_err(&pdev->dev, "Failed to allocate etherdev\n"); |
1116 | err = -ENOMEM; | 1113 | err = -ENOMEM; |
1117 | goto err_out; | 1114 | goto err_out; |
1118 | } | 1115 | } |
@@ -1122,14 +1119,13 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, | |||
1122 | err = pci_request_regions(pdev, DRV_NAME); | 1119 | err = pci_request_regions(pdev, DRV_NAME); |
1123 | 1120 | ||
1124 | if (err) { | 1121 | if (err) { |
1125 | printk(KERN_ERR DRV_NAME ": Failed to request PCI regions\n"); | 1122 | dev_err(&pdev->dev, "Failed to request PCI regions\n"); |
1126 | goto err_out_free_dev; | 1123 | goto err_out_free_dev; |
1127 | } | 1124 | } |
1128 | 1125 | ||
1129 | ioaddr = pci_iomap(pdev, bar, io_size); | 1126 | ioaddr = pci_iomap(pdev, bar, io_size); |
1130 | if (!ioaddr) { | 1127 | if (!ioaddr) { |
1131 | printk(KERN_ERR DRV_NAME ": ioremap failed for device %s\n", | 1128 | dev_err(&pdev->dev, "ioremap failed for device\n"); |
1132 | pci_name(pdev)); | ||
1133 | err = -EIO; | 1129 | err = -EIO; |
1134 | goto err_out_free_res; | 1130 | goto err_out_free_res; |
1135 | } | 1131 | } |
@@ -1156,7 +1152,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, | |||
1156 | /* Some bootloader/BIOSes do not initialize | 1152 | /* Some bootloader/BIOSes do not initialize |
1157 | * MAC address, warn about that */ | 1153 | * MAC address, warn about that */ |
1158 | if (!(adrp[0] || adrp[1] || adrp[2])) { | 1154 | if (!(adrp[0] || adrp[1] || adrp[2])) { |
1159 | printk(KERN_WARNING DRV_NAME ": MAC address not initialized, generating random\n"); | 1155 | netdev_warn(dev, "MAC address not initialized, generating random\n"); |
1160 | random_ether_addr(dev->dev_addr); | 1156 | random_ether_addr(dev->dev_addr); |
1161 | } | 1157 | } |
1162 | 1158 | ||
@@ -1184,7 +1180,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, | |||
1184 | 1180 | ||
1185 | /* Check the vendor ID on the PHY, if 0xffff assume none attached */ | 1181 | /* Check the vendor ID on the PHY, if 0xffff assume none attached */ |
1186 | if (r6040_phy_read(ioaddr, lp->phy_addr, 2) == 0xffff) { | 1182 | if (r6040_phy_read(ioaddr, lp->phy_addr, 2) == 0xffff) { |
1187 | printk(KERN_ERR DRV_NAME ": Failed to detect an attached PHY\n"); | 1183 | dev_err(&pdev->dev, "Failed to detect an attached PHY\n"); |
1188 | err = -ENODEV; | 1184 | err = -ENODEV; |
1189 | goto err_out_unmap; | 1185 | goto err_out_unmap; |
1190 | } | 1186 | } |
@@ -1192,7 +1188,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev, | |||
1192 | /* Register net device. After this dev->name assign */ | 1188 | /* Register net device. After this dev->name assign */ |
1193 | err = register_netdev(dev); | 1189 | err = register_netdev(dev); |
1194 | if (err) { | 1190 | if (err) { |
1195 | printk(KERN_ERR DRV_NAME ": Failed to register net device\n"); | 1191 | dev_err(&pdev->dev, "Failed to register net device\n"); |
1196 | goto err_out_unmap; | 1192 | goto err_out_unmap; |
1197 | } | 1193 | } |
1198 | return 0; | 1194 | return 0; |