The dwmac4_set_umac_addr() takes a struct mac_device_info as the first parameter, but is being passed a ioaddr instead from dwmac4_set_filter(). Fix the warning/bug by changing the first parameter. drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46: warning: incorrect type in argument 1 (different address spaces) drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46: expected struct mac_device_info *hw drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46: got void [noderef] <asn:2>*ioaddr Note, only compile tested this as do not have any hardware with it in.
Unified · Split
| @@ -156,7 +156,7 @@ static void dwmac4_set_filter(struct mac_device_info *hw, · 155 unmodified lines | ||
| 156 | 156 | struct netdev_hw_addr *ha; |
| 157 | 157 | |
| 158 | 158 | netdev_for_each_uc_addr(ha, dev) { |
| 159 | − dwmac4_set_umac_addr(ioaddr, ha->addr, reg); | |
| 159 | + dwmac4_set_umac_addr(hw, ha->addr, reg); | |
| 160 | 160 | reg++; |
| 161 | 161 | } |
| 162 | 162 | } |