/* Read/set MAC address routines */
static void r6040_mac_address(struct net_device *dev)
-@@ -874,10 +782,6 @@ static int r6040_open(struct net_device
+@@ -874,10 +782,6 @@ static int r6040_open(struct net_device
napi_enable(&lp->napi);
netif_start_queue(dev);
return 0;
}
-@@ -1020,40 +924,22 @@ static void netdev_get_drvinfo(struct ne
+@@ -1018,40 +922,22 @@ static void netdev_get_drvinfo(struct ne
static int netdev_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct r6040_private *rp = netdev_priv(dev);
};
static const struct net_device_ops r6040_netdev_ops = {
-@@ -1072,6 +958,86 @@ static const struct net_device_ops r6040
+@@ -1070,6 +956,86 @@ static const struct net_device_ops r6040
#endif
};
static int __devinit r6040_init_one(struct pci_dev *pdev,
const struct pci_device_id *ent)
{
-@@ -1082,6 +1048,7 @@ static int __devinit r6040_init_one(stru
+@@ -1080,6 +1046,7 @@ static int __devinit r6040_init_one(stru
static int card_idx = -1;
int bar = 0;
u16 *adrp;
printk("%s\n", version);
-@@ -1169,7 +1136,6 @@ static int __devinit r6040_init_one(stru
+@@ -1167,7 +1134,6 @@ static int __devinit r6040_init_one(stru
/* Init RDC private data */
lp->mcr0 = 0x1002;
lp->phy_addr = phy_table[card_idx];
/* The RDC-specific entries in the device structure. */
dev->netdev_ops = &r6040_netdev_ops;
-@@ -1177,28 +1143,61 @@ static int __devinit r6040_init_one(stru
+@@ -1175,28 +1141,61 @@ static int __devinit r6040_init_one(stru
dev->watchdog_timeo = TX_TIMEOUT;
netif_napi_add(dev, &lp->napi, r6040_poll, 64);
err_out_unmap:
pci_iounmap(pdev, ioaddr);
err_out_free_res:
-@@ -1212,8 +1211,12 @@ err_out:
+@@ -1210,8 +1209,12 @@ err_out:
static void __devexit r6040_remove_one(struct pci_dev *pdev)
{
struct net_device *dev = pci_get_drvdata(pdev);
+++ /dev/null
----
---- a/drivers/net/r6040.c
-+++ b/drivers/net/r6040.c
-@@ -136,7 +136,7 @@
- #define RX_DESC_SIZE (RX_DCNT * sizeof(struct r6040_descriptor))
- #define TX_DESC_SIZE (TX_DCNT * sizeof(struct r6040_descriptor))
- #define MBCR_DEFAULT 0x012A /* MAC Bus Control Register */
--#define MCAST_MAX 4 /* Max number multicast addresses to filter */
-+#define MCAST_MAX 3 /* Max number multicast addresses to filter */
-
- /* Descriptor status */
- #define DSC_OWNER_MAC 0x8000 /* MAC is the owner of this descriptor */
-@@ -887,9 +887,6 @@ static void r6040_multicast_list(struct
- crc >>= 26;
- hash_table[crc >> 4] |= 1 << (15 - (crc & 0xf));
- }
-- /* Write the index of the hash table */
-- for (i = 0; i < 4; i++)
-- iowrite16(hash_table[i] << 14, ioaddr + MCR1);
- /* Fill the MAC hash tables with their values */
- iowrite16(hash_table[0], ioaddr + MAR0);
- iowrite16(hash_table[1], ioaddr + MAR1);
-@@ -905,9 +902,9 @@ static void r6040_multicast_list(struct
- dmi = dmi->next;
- }
- for (i = dev->mc_count; i < MCAST_MAX; i++) {
-- iowrite16(0xffff, ioaddr + MID_0L + 8*i);
-- iowrite16(0xffff, ioaddr + MID_0M + 8*i);
-- iowrite16(0xffff, ioaddr + MID_0H + 8*i);
-+ iowrite16(0xffff, ioaddr + MID_1L + 8 * i);
-+ iowrite16(0xffff, ioaddr + MID_1M + 8 * i);
-+ iowrite16(0xffff, ioaddr + MID_1H + 8 * i);
- }
- }
-