diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-02 10:55:08 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-02 10:55:08 -0500 |
commit | 6d6b89bd2e316b78d668f761d380837b81fa71ef (patch) | |
tree | 7e63c58611fc6181153526abbdafdd846ed1a19d /drivers/net/davinci_emac.c | |
parent | 13dda80e48439b446d0bc9bab34b91484bc8f533 (diff) | |
parent | 2507c05ff55fbf38326b08ed27eaed233bc75042 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1341 commits)
virtio_net: remove forgotten assignment
be2net: fix tx completion polling
sis190: fix cable detect via link status poll
net: fix protocol sk_buff field
bridge: Fix build error when IGMP_SNOOPING is not enabled
bnx2x: Tx barriers and locks
scm: Only support SCM_RIGHTS on unix domain sockets.
vhost-net: restart tx poll on sk_sndbuf full
vhost: fix get_user_pages_fast error handling
vhost: initialize log eventfd context pointer
vhost: logging thinko fix
wireless: convert to use netdev_for_each_mc_addr
ethtool: do not set some flags, if others failed
ipoib: returned back addrlen check for mc addresses
netlink: Adding inode field to /proc/net/netlink
axnet_cs: add new id
bridge: Make IGMP snooping depend upon BRIDGE.
bridge: Add multicast count/interval sysfs entries
bridge: Add hash elasticity/max sysfs entries
bridge: Add multicast_snooping sysfs toggle
...
Trivial conflicts in Documentation/feature-removal-schedule.txt
Diffstat (limited to 'drivers/net/davinci_emac.c')
-rw-r--r-- | drivers/net/davinci_emac.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index 1605bc225b0c..1ac9440eb3fb 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c | |||
@@ -957,19 +957,18 @@ static void emac_dev_mcast_set(struct net_device *ndev) | |||
957 | } else { | 957 | } else { |
958 | mbp_enable = (mbp_enable & ~EMAC_MBP_RXPROMISC); | 958 | mbp_enable = (mbp_enable & ~EMAC_MBP_RXPROMISC); |
959 | if ((ndev->flags & IFF_ALLMULTI) || | 959 | if ((ndev->flags & IFF_ALLMULTI) || |
960 | (ndev->mc_count > EMAC_DEF_MAX_MULTICAST_ADDRESSES)) { | 960 | netdev_mc_count(ndev) > EMAC_DEF_MAX_MULTICAST_ADDRESSES) { |
961 | mbp_enable = (mbp_enable | EMAC_MBP_RXMCAST); | 961 | mbp_enable = (mbp_enable | EMAC_MBP_RXMCAST); |
962 | emac_add_mcast(priv, EMAC_ALL_MULTI_SET, NULL); | 962 | emac_add_mcast(priv, EMAC_ALL_MULTI_SET, NULL); |
963 | } | 963 | } |
964 | if (ndev->mc_count > 0) { | 964 | if (!netdev_mc_empty(ndev)) { |
965 | struct dev_mc_list *mc_ptr; | 965 | struct dev_mc_list *mc_ptr; |
966 | mbp_enable = (mbp_enable | EMAC_MBP_RXMCAST); | 966 | mbp_enable = (mbp_enable | EMAC_MBP_RXMCAST); |
967 | emac_add_mcast(priv, EMAC_ALL_MULTI_CLR, NULL); | 967 | emac_add_mcast(priv, EMAC_ALL_MULTI_CLR, NULL); |
968 | /* program multicast address list into EMAC hardware */ | 968 | /* program multicast address list into EMAC hardware */ |
969 | for (mc_ptr = ndev->mc_list; mc_ptr; | 969 | netdev_for_each_mc_addr(mc_ptr, ndev) { |
970 | mc_ptr = mc_ptr->next) { | ||
971 | emac_add_mcast(priv, EMAC_MULTICAST_ADD, | 970 | emac_add_mcast(priv, EMAC_MULTICAST_ADD, |
972 | (u8 *)mc_ptr->dmi_addr); | 971 | (u8 *) mc_ptr->dmi_addr); |
973 | } | 972 | } |
974 | } else { | 973 | } else { |
975 | mbp_enable = (mbp_enable & ~EMAC_MBP_RXMCAST); | 974 | mbp_enable = (mbp_enable & ~EMAC_MBP_RXMCAST); |
@@ -2683,8 +2682,7 @@ static int __devinit davinci_emac_probe(struct platform_device *pdev) | |||
2683 | priv->emac_base_phys = res->start + pdata->ctrl_reg_offset; | 2682 | priv->emac_base_phys = res->start + pdata->ctrl_reg_offset; |
2684 | size = res->end - res->start + 1; | 2683 | size = res->end - res->start + 1; |
2685 | if (!request_mem_region(res->start, size, ndev->name)) { | 2684 | if (!request_mem_region(res->start, size, ndev->name)) { |
2686 | dev_err(emac_dev, "DaVinci EMAC: failed request_mem_region() \ | 2685 | dev_err(emac_dev, "DaVinci EMAC: failed request_mem_region() for regs\n"); |
2687 | for regs\n"); | ||
2688 | rc = -ENXIO; | 2686 | rc = -ENXIO; |
2689 | goto probe_quit; | 2687 | goto probe_quit; |
2690 | } | 2688 | } |