diff options
Diffstat (limited to 'drivers/net/ethernet/stmicro/stmmac/stmmac_main.c')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index c6e567e04eff..68fb5b0593a0 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <linux/crc32.h> | 42 | #include <linux/crc32.h> |
43 | #include <linux/mii.h> | 43 | #include <linux/mii.h> |
44 | #include <linux/phy.h> | 44 | #include <linux/phy.h> |
45 | #include <linux/if.h> | ||
45 | #include <linux/if_vlan.h> | 46 | #include <linux/if_vlan.h> |
46 | #include <linux/dma-mapping.h> | 47 | #include <linux/dma-mapping.h> |
47 | #include <linux/slab.h> | 48 | #include <linux/slab.h> |
@@ -1284,7 +1285,7 @@ static int stmmac_config(struct net_device *dev, struct ifmap *map) | |||
1284 | } | 1285 | } |
1285 | 1286 | ||
1286 | /** | 1287 | /** |
1287 | * stmmac_multicast_list - entry point for multicast addressing | 1288 | * stmmac_set_rx_mode - entry point for multicast addressing |
1288 | * @dev : pointer to the device structure | 1289 | * @dev : pointer to the device structure |
1289 | * Description: | 1290 | * Description: |
1290 | * This function is a driver entry point which gets called by the kernel | 1291 | * This function is a driver entry point which gets called by the kernel |
@@ -1292,7 +1293,7 @@ static int stmmac_config(struct net_device *dev, struct ifmap *map) | |||
1292 | * Return value: | 1293 | * Return value: |
1293 | * void. | 1294 | * void. |
1294 | */ | 1295 | */ |
1295 | static void stmmac_multicast_list(struct net_device *dev) | 1296 | static void stmmac_set_rx_mode(struct net_device *dev) |
1296 | { | 1297 | { |
1297 | struct stmmac_priv *priv = netdev_priv(dev); | 1298 | struct stmmac_priv *priv = netdev_priv(dev); |
1298 | 1299 | ||
@@ -1421,7 +1422,7 @@ static const struct net_device_ops stmmac_netdev_ops = { | |||
1421 | .ndo_stop = stmmac_release, | 1422 | .ndo_stop = stmmac_release, |
1422 | .ndo_change_mtu = stmmac_change_mtu, | 1423 | .ndo_change_mtu = stmmac_change_mtu, |
1423 | .ndo_fix_features = stmmac_fix_features, | 1424 | .ndo_fix_features = stmmac_fix_features, |
1424 | .ndo_set_multicast_list = stmmac_multicast_list, | 1425 | .ndo_set_rx_mode = stmmac_set_rx_mode, |
1425 | .ndo_tx_timeout = stmmac_tx_timeout, | 1426 | .ndo_tx_timeout = stmmac_tx_timeout, |
1426 | .ndo_do_ioctl = stmmac_ioctl, | 1427 | .ndo_do_ioctl = stmmac_ioctl, |
1427 | .ndo_set_config = stmmac_config, | 1428 | .ndo_set_config = stmmac_config, |
@@ -1498,10 +1499,12 @@ static int stmmac_mac_device_setup(struct net_device *dev) | |||
1498 | 1499 | ||
1499 | struct mac_device_info *device; | 1500 | struct mac_device_info *device; |
1500 | 1501 | ||
1501 | if (priv->plat->has_gmac) | 1502 | if (priv->plat->has_gmac) { |
1503 | dev->priv_flags |= IFF_UNICAST_FLT; | ||
1502 | device = dwmac1000_setup(priv->ioaddr); | 1504 | device = dwmac1000_setup(priv->ioaddr); |
1503 | else | 1505 | } else { |
1504 | device = dwmac100_setup(priv->ioaddr); | 1506 | device = dwmac100_setup(priv->ioaddr); |
1507 | } | ||
1505 | 1508 | ||
1506 | if (!device) | 1509 | if (!device) |
1507 | return -ENOMEM; | 1510 | return -ENOMEM; |