aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ll_temac_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ll_temac_main.c')
-rw-r--r--drivers/net/ll_temac_main.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c
index a18e3485476e..30474d6b15c3 100644
--- a/drivers/net/ll_temac_main.c
+++ b/drivers/net/ll_temac_main.c
@@ -250,20 +250,20 @@ static void temac_set_multicast_list(struct net_device *ndev)
250 temac_indirect_out32(lp, XTE_AFM_OFFSET, XTE_AFM_EPPRM_MASK); 250 temac_indirect_out32(lp, XTE_AFM_OFFSET, XTE_AFM_EPPRM_MASK);
251 dev_info(&ndev->dev, "Promiscuous mode enabled.\n"); 251 dev_info(&ndev->dev, "Promiscuous mode enabled.\n");
252 } else if (!netdev_mc_empty(ndev)) { 252 } else if (!netdev_mc_empty(ndev)) {
253 struct dev_mc_list *mclist; 253 struct netdev_hw_addr *ha;
254 254
255 i = 0; 255 i = 0;
256 netdev_for_each_mc_addr(mclist, ndev) { 256 netdev_for_each_mc_addr(ha, ndev) {
257 if (i >= MULTICAST_CAM_TABLE_NUM) 257 if (i >= MULTICAST_CAM_TABLE_NUM)
258 break; 258 break;
259 multi_addr_msw = ((mclist->dmi_addr[3] << 24) | 259 multi_addr_msw = ((ha->addr[3] << 24) |
260 (mclist->dmi_addr[2] << 16) | 260 (ha->addr[2] << 16) |
261 (mclist->dmi_addr[1] << 8) | 261 (ha->addr[1] << 8) |
262 (mclist->dmi_addr[0])); 262 (ha->addr[0]));
263 temac_indirect_out32(lp, XTE_MAW0_OFFSET, 263 temac_indirect_out32(lp, XTE_MAW0_OFFSET,
264 multi_addr_msw); 264 multi_addr_msw);
265 multi_addr_lsw = ((mclist->dmi_addr[5] << 8) | 265 multi_addr_lsw = ((ha->addr[5] << 8) |
266 (mclist->dmi_addr[4]) | (i << 16)); 266 (ha->addr[4]) | (i << 16));
267 temac_indirect_out32(lp, XTE_MAW1_OFFSET, 267 temac_indirect_out32(lp, XTE_MAW1_OFFSET,
268 multi_addr_lsw); 268 multi_addr_lsw);
269 i++; 269 i++;