diff options
Diffstat (limited to 'drivers/net/tokenring/lanstreamer.c')
| -rw-r--r-- | drivers/net/tokenring/lanstreamer.c | 59 |
1 files changed, 30 insertions, 29 deletions
diff --git a/drivers/net/tokenring/lanstreamer.c b/drivers/net/tokenring/lanstreamer.c index dd028fee9dc2..5bd140704533 100644 --- a/drivers/net/tokenring/lanstreamer.c +++ b/drivers/net/tokenring/lanstreamer.c | |||
| @@ -121,6 +121,7 @@ | |||
| 121 | #include <linux/spinlock.h> | 121 | #include <linux/spinlock.h> |
| 122 | #include <linux/bitops.h> | 122 | #include <linux/bitops.h> |
| 123 | #include <linux/jiffies.h> | 123 | #include <linux/jiffies.h> |
| 124 | #include <linux/slab.h> | ||
| 124 | 125 | ||
| 125 | #include <net/net_namespace.h> | 126 | #include <net/net_namespace.h> |
| 126 | #include <net/checksum.h> | 127 | #include <net/checksum.h> |
| @@ -357,7 +358,7 @@ static int __devinit streamer_init_one(struct pci_dev *pdev, | |||
| 357 | pcr |= PCI_COMMAND_SERR; | 358 | pcr |= PCI_COMMAND_SERR; |
| 358 | pci_write_config_word (pdev, PCI_COMMAND, pcr); | 359 | pci_write_config_word (pdev, PCI_COMMAND, pcr); |
| 359 | 360 | ||
| 360 | printk("%s \n", version); | 361 | printk("%s\n", version); |
| 361 | printk("%s: %s. I/O at %hx, MMIO at %p, using irq %d\n",dev->name, | 362 | printk("%s: %s. I/O at %hx, MMIO at %p, using irq %d\n",dev->name, |
| 362 | streamer_priv->streamer_card_name, | 363 | streamer_priv->streamer_card_name, |
| 363 | (unsigned int) dev->base_addr, | 364 | (unsigned int) dev->base_addr, |
| @@ -650,7 +651,7 @@ static int streamer_open(struct net_device *dev) | |||
| 650 | #if STREAMER_DEBUG | 651 | #if STREAMER_DEBUG |
| 651 | writew(readw(streamer_mmio + LAPWWO), | 652 | writew(readw(streamer_mmio + LAPWWO), |
| 652 | streamer_mmio + LAPA); | 653 | streamer_mmio + LAPA); |
| 653 | printk("srb open request: \n"); | 654 | printk("srb open request:\n"); |
| 654 | for (i = 0; i < 16; i++) { | 655 | for (i = 0; i < 16; i++) { |
| 655 | printk("%x:", ntohs(readw(streamer_mmio + LAPDINC))); | 656 | printk("%x:", ntohs(readw(streamer_mmio + LAPDINC))); |
| 656 | } | 657 | } |
| @@ -700,7 +701,7 @@ static int streamer_open(struct net_device *dev) | |||
| 700 | if (srb_word != 0) { | 701 | if (srb_word != 0) { |
| 701 | if (srb_word == 0x07) { | 702 | if (srb_word == 0x07) { |
| 702 | if (!streamer_priv->streamer_ring_speed && open_finished) { /* Autosense , first time around */ | 703 | if (!streamer_priv->streamer_ring_speed && open_finished) { /* Autosense , first time around */ |
| 703 | printk(KERN_WARNING "%s: Retrying at different ring speed \n", | 704 | printk(KERN_WARNING "%s: Retrying at different ring speed\n", |
| 704 | dev->name); | 705 | dev->name); |
| 705 | open_finished = 0; | 706 | open_finished = 0; |
| 706 | } else { | 707 | } else { |
| @@ -716,7 +717,7 @@ static int streamer_open(struct net_device *dev) | |||
| 716 | ((error_code & 0x0f) == 0x0d)) | 717 | ((error_code & 0x0f) == 0x0d)) |
| 717 | { | 718 | { |
| 718 | printk(KERN_WARNING "%s: Tried to autosense ring speed with no monitors present\n", dev->name); | 719 | printk(KERN_WARNING "%s: Tried to autosense ring speed with no monitors present\n", dev->name); |
| 719 | printk(KERN_WARNING "%s: Please try again with a specified ring speed \n", dev->name); | 720 | printk(KERN_WARNING "%s: Please try again with a specified ring speed\n", dev->name); |
| 720 | free_irq(dev->irq, dev); | 721 | free_irq(dev->irq, dev); |
| 721 | return -EIO; | 722 | return -EIO; |
| 722 | } | 723 | } |
| @@ -922,7 +923,7 @@ static void streamer_rx(struct net_device *dev) | |||
| 922 | 923 | ||
| 923 | if (rx_desc->status & 0x7E830000) { /* errors */ | 924 | if (rx_desc->status & 0x7E830000) { /* errors */ |
| 924 | if (streamer_priv->streamer_message_level) { | 925 | if (streamer_priv->streamer_message_level) { |
| 925 | printk(KERN_WARNING "%s: Rx Error %x \n", | 926 | printk(KERN_WARNING "%s: Rx Error %x\n", |
| 926 | dev->name, rx_desc->status); | 927 | dev->name, rx_desc->status); |
| 927 | } | 928 | } |
| 928 | } else { /* received without errors */ | 929 | } else { /* received without errors */ |
| @@ -935,7 +936,7 @@ static void streamer_rx(struct net_device *dev) | |||
| 935 | 936 | ||
| 936 | if (skb == NULL) | 937 | if (skb == NULL) |
| 937 | { | 938 | { |
| 938 | printk(KERN_WARNING "%s: Not enough memory to copy packet to upper layers. \n", dev->name); | 939 | printk(KERN_WARNING "%s: Not enough memory to copy packet to upper layers.\n", dev->name); |
| 939 | dev->stats.rx_dropped++; | 940 | dev->stats.rx_dropped++; |
| 940 | } else { /* we allocated an skb OK */ | 941 | } else { /* we allocated an skb OK */ |
| 941 | if (buffer_cnt == 1) { | 942 | if (buffer_cnt == 1) { |
| @@ -1266,7 +1267,7 @@ static void streamer_set_rx_mode(struct net_device *dev) | |||
| 1266 | netdev_priv(dev); | 1267 | netdev_priv(dev); |
| 1267 | __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio; | 1268 | __u8 __iomem *streamer_mmio = streamer_priv->streamer_mmio; |
| 1268 | __u8 options = 0; | 1269 | __u8 options = 0; |
| 1269 | struct dev_mc_list *dmi; | 1270 | struct netdev_hw_addr *ha; |
| 1270 | unsigned char dev_mc_address[5]; | 1271 | unsigned char dev_mc_address[5]; |
| 1271 | 1272 | ||
| 1272 | writel(streamer_priv->srb, streamer_mmio + LAPA); | 1273 | writel(streamer_priv->srb, streamer_mmio + LAPA); |
| @@ -1302,11 +1303,11 @@ static void streamer_set_rx_mode(struct net_device *dev) | |||
| 1302 | writel(streamer_priv->srb,streamer_mmio+LAPA); | 1303 | writel(streamer_priv->srb,streamer_mmio+LAPA); |
| 1303 | dev_mc_address[0] = dev_mc_address[1] = dev_mc_address[2] = dev_mc_address[3] = 0 ; | 1304 | dev_mc_address[0] = dev_mc_address[1] = dev_mc_address[2] = dev_mc_address[3] = 0 ; |
| 1304 | 1305 | ||
| 1305 | netdev_for_each_mc_addr(dmi, dev) { | 1306 | netdev_for_each_mc_addr(ha, dev) { |
| 1306 | dev_mc_address[0] |= dmi->dmi_addr[2] ; | 1307 | dev_mc_address[0] |= ha->addr[2]; |
| 1307 | dev_mc_address[1] |= dmi->dmi_addr[3] ; | 1308 | dev_mc_address[1] |= ha->addr[3]; |
| 1308 | dev_mc_address[2] |= dmi->dmi_addr[4] ; | 1309 | dev_mc_address[2] |= ha->addr[4]; |
| 1309 | dev_mc_address[3] |= dmi->dmi_addr[5] ; | 1310 | dev_mc_address[3] |= ha->addr[5]; |
| 1310 | } | 1311 | } |
| 1311 | 1312 | ||
| 1312 | writew(htons(SRB_SET_FUNC_ADDRESS << 8),streamer_mmio+LAPDINC); | 1313 | writew(htons(SRB_SET_FUNC_ADDRESS << 8),streamer_mmio+LAPDINC); |
| @@ -1363,7 +1364,7 @@ static void streamer_srb_bh(struct net_device *dev) | |||
| 1363 | case 0x00: | 1364 | case 0x00: |
| 1364 | break; | 1365 | break; |
| 1365 | case 0x01: | 1366 | case 0x01: |
| 1366 | printk(KERN_WARNING "%s: Unrecognized srb command \n",dev->name); | 1367 | printk(KERN_WARNING "%s: Unrecognized srb command\n",dev->name); |
| 1367 | break; | 1368 | break; |
| 1368 | case 0x04: | 1369 | case 0x04: |
| 1369 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); | 1370 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); |
| @@ -1391,13 +1392,13 @@ static void streamer_srb_bh(struct net_device *dev) | |||
| 1391 | case 0x00: | 1392 | case 0x00: |
| 1392 | break; | 1393 | break; |
| 1393 | case 0x01: | 1394 | case 0x01: |
| 1394 | printk(KERN_WARNING "%s: Unrecognized srb command \n", dev->name); | 1395 | printk(KERN_WARNING "%s: Unrecognized srb command\n", dev->name); |
| 1395 | break; | 1396 | break; |
| 1396 | case 0x04: | 1397 | case 0x04: |
| 1397 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); | 1398 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); |
| 1398 | break; | 1399 | break; |
| 1399 | case 0x39: /* Must deal with this if individual multicast addresses used */ | 1400 | case 0x39: /* Must deal with this if individual multicast addresses used */ |
| 1400 | printk(KERN_INFO "%s: Group address not found \n", dev->name); | 1401 | printk(KERN_INFO "%s: Group address not found\n", dev->name); |
| 1401 | break; | 1402 | break; |
| 1402 | default: | 1403 | default: |
| 1403 | break; | 1404 | break; |
| @@ -1413,10 +1414,10 @@ static void streamer_srb_bh(struct net_device *dev) | |||
| 1413 | switch (srb_word) { | 1414 | switch (srb_word) { |
| 1414 | case 0x00: | 1415 | case 0x00: |
| 1415 | if (streamer_priv->streamer_message_level) | 1416 | if (streamer_priv->streamer_message_level) |
| 1416 | printk(KERN_INFO "%s: Functional Address Mask Set \n", dev->name); | 1417 | printk(KERN_INFO "%s: Functional Address Mask Set\n", dev->name); |
| 1417 | break; | 1418 | break; |
| 1418 | case 0x01: | 1419 | case 0x01: |
| 1419 | printk(KERN_WARNING "%s: Unrecognized srb command \n", dev->name); | 1420 | printk(KERN_WARNING "%s: Unrecognized srb command\n", dev->name); |
| 1420 | break; | 1421 | break; |
| 1421 | case 0x04: | 1422 | case 0x04: |
| 1422 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); | 1423 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); |
| @@ -1447,7 +1448,7 @@ static void streamer_srb_bh(struct net_device *dev) | |||
| 1447 | } | 1448 | } |
| 1448 | break; | 1449 | break; |
| 1449 | case 0x01: | 1450 | case 0x01: |
| 1450 | printk(KERN_WARNING "%s: Unrecognized srb command \n", dev->name); | 1451 | printk(KERN_WARNING "%s: Unrecognized srb command\n", dev->name); |
| 1451 | break; | 1452 | break; |
| 1452 | case 0x04: | 1453 | case 0x04: |
| 1453 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); | 1454 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); |
| @@ -1466,7 +1467,7 @@ static void streamer_srb_bh(struct net_device *dev) | |||
| 1466 | printk(KERN_INFO "%s: Read Source Routing Counters issued\n", dev->name); | 1467 | printk(KERN_INFO "%s: Read Source Routing Counters issued\n", dev->name); |
| 1467 | break; | 1468 | break; |
| 1468 | case 0x01: | 1469 | case 0x01: |
| 1469 | printk(KERN_WARNING "%s: Unrecognized srb command \n", dev->name); | 1470 | printk(KERN_WARNING "%s: Unrecognized srb command\n", dev->name); |
| 1470 | break; | 1471 | break; |
| 1471 | case 0x04: | 1472 | case 0x04: |
| 1472 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); | 1473 | printk(KERN_WARNING "%s: Adapter must be open for this operation, doh!!\n", dev->name); |
| @@ -1555,7 +1556,7 @@ static void streamer_arb_cmd(struct net_device *dev) | |||
| 1555 | (streamer_mmio + LAPDINC))); | 1556 | (streamer_mmio + LAPDINC))); |
| 1556 | } | 1557 | } |
| 1557 | 1558 | ||
| 1558 | printk("next %04x, fs %02x, len %04x \n", next, | 1559 | printk("next %04x, fs %02x, len %04x\n", next, |
| 1559 | status, len); | 1560 | status, len); |
| 1560 | } | 1561 | } |
| 1561 | #endif | 1562 | #endif |
| @@ -1592,7 +1593,7 @@ static void streamer_arb_cmd(struct net_device *dev) | |||
| 1592 | 1593 | ||
| 1593 | mac_frame->protocol = tr_type_trans(mac_frame, dev); | 1594 | mac_frame->protocol = tr_type_trans(mac_frame, dev); |
| 1594 | #if STREAMER_NETWORK_MONITOR | 1595 | #if STREAMER_NETWORK_MONITOR |
| 1595 | printk(KERN_WARNING "%s: Received MAC Frame, details: \n", | 1596 | printk(KERN_WARNING "%s: Received MAC Frame, details:\n", |
| 1596 | dev->name); | 1597 | dev->name); |
| 1597 | mac_hdr = tr_hdr(mac_frame); | 1598 | mac_hdr = tr_hdr(mac_frame); |
| 1598 | printk(KERN_WARNING | 1599 | printk(KERN_WARNING |
| @@ -1668,15 +1669,15 @@ drop_frame: | |||
| 1668 | /* If serious error */ | 1669 | /* If serious error */ |
| 1669 | if (streamer_priv->streamer_message_level) { | 1670 | if (streamer_priv->streamer_message_level) { |
| 1670 | if (lan_status_diff & LSC_SIG_LOSS) | 1671 | if (lan_status_diff & LSC_SIG_LOSS) |
| 1671 | printk(KERN_WARNING "%s: No receive signal detected \n", dev->name); | 1672 | printk(KERN_WARNING "%s: No receive signal detected\n", dev->name); |
| 1672 | if (lan_status_diff & LSC_HARD_ERR) | 1673 | if (lan_status_diff & LSC_HARD_ERR) |
| 1673 | printk(KERN_INFO "%s: Beaconing \n", dev->name); | 1674 | printk(KERN_INFO "%s: Beaconing\n", dev->name); |
| 1674 | if (lan_status_diff & LSC_SOFT_ERR) | 1675 | if (lan_status_diff & LSC_SOFT_ERR) |
| 1675 | printk(KERN_WARNING "%s: Adapter transmitted Soft Error Report Mac Frame \n", dev->name); | 1676 | printk(KERN_WARNING "%s: Adapter transmitted Soft Error Report Mac Frame\n", dev->name); |
| 1676 | if (lan_status_diff & LSC_TRAN_BCN) | 1677 | if (lan_status_diff & LSC_TRAN_BCN) |
| 1677 | printk(KERN_INFO "%s: We are tranmitting the beacon, aaah\n", dev->name); | 1678 | printk(KERN_INFO "%s: We are tranmitting the beacon, aaah\n", dev->name); |
| 1678 | if (lan_status_diff & LSC_SS) | 1679 | if (lan_status_diff & LSC_SS) |
| 1679 | printk(KERN_INFO "%s: Single Station on the ring \n", dev->name); | 1680 | printk(KERN_INFO "%s: Single Station on the ring\n", dev->name); |
| 1680 | if (lan_status_diff & LSC_RING_REC) | 1681 | if (lan_status_diff & LSC_RING_REC) |
| 1681 | printk(KERN_INFO "%s: Ring recovery ongoing\n", dev->name); | 1682 | printk(KERN_INFO "%s: Ring recovery ongoing\n", dev->name); |
| 1682 | if (lan_status_diff & LSC_FDX_MODE) | 1683 | if (lan_status_diff & LSC_FDX_MODE) |
| @@ -1685,7 +1686,7 @@ drop_frame: | |||
| 1685 | 1686 | ||
| 1686 | if (lan_status_diff & LSC_CO) { | 1687 | if (lan_status_diff & LSC_CO) { |
| 1687 | if (streamer_priv->streamer_message_level) | 1688 | if (streamer_priv->streamer_message_level) |
| 1688 | printk(KERN_INFO "%s: Counter Overflow \n", dev->name); | 1689 | printk(KERN_INFO "%s: Counter Overflow\n", dev->name); |
| 1689 | 1690 | ||
| 1690 | /* Issue READ.LOG command */ | 1691 | /* Issue READ.LOG command */ |
| 1691 | 1692 | ||
| @@ -1715,7 +1716,7 @@ drop_frame: | |||
| 1715 | streamer_priv->streamer_lan_status = lan_status; | 1716 | streamer_priv->streamer_lan_status = lan_status; |
| 1716 | } /* Lan.change.status */ | 1717 | } /* Lan.change.status */ |
| 1717 | else | 1718 | else |
| 1718 | printk(KERN_WARNING "%s: Unknown arb command \n", dev->name); | 1719 | printk(KERN_WARNING "%s: Unknown arb command\n", dev->name); |
| 1719 | } | 1720 | } |
| 1720 | 1721 | ||
| 1721 | static void streamer_asb_bh(struct net_device *dev) | 1722 | static void streamer_asb_bh(struct net_device *dev) |
| @@ -1746,10 +1747,10 @@ static void streamer_asb_bh(struct net_device *dev) | |||
| 1746 | rc=ntohs(readw(streamer_mmio+LAPD)) >> 8; | 1747 | rc=ntohs(readw(streamer_mmio+LAPD)) >> 8; |
| 1747 | switch (rc) { | 1748 | switch (rc) { |
| 1748 | case 0x01: | 1749 | case 0x01: |
| 1749 | printk(KERN_WARNING "%s: Unrecognized command code \n", dev->name); | 1750 | printk(KERN_WARNING "%s: Unrecognized command code\n", dev->name); |
| 1750 | break; | 1751 | break; |
| 1751 | case 0x26: | 1752 | case 0x26: |
| 1752 | printk(KERN_WARNING "%s: Unrecognized buffer address \n", dev->name); | 1753 | printk(KERN_WARNING "%s: Unrecognized buffer address\n", dev->name); |
| 1753 | break; | 1754 | break; |
| 1754 | case 0xFF: | 1755 | case 0xFF: |
| 1755 | /* Valid response, everything should be ok again */ | 1756 | /* Valid response, everything should be ok again */ |
