Subject: [PATCH] via-velocity: do not fill the multicast filtering registers with random stuff Issued from velocity_init_cam_filter(): static inline void mac_set_cam_mask(struct mac_regs __iomem * regs, u8 * mask, { [...] for (i = 0; i < 8; i++) { writeb(*mask++, &(regs->MARCAM[i])); } It will not hurt here but velocity_set_multi() may get bits which should not be set. Signed-off-by: Francois Romieu --- drivers/net/via-velocity.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) applies-to: 1f3b06d516dac26c976cedfc59cd48781b96f86d 84e5b95f8231491bc159343c68bbc188a446bb0f diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c index 82c6b75..86e7481 100644 --- a/drivers/net/via-velocity.c +++ b/drivers/net/via-velocity.c @@ -484,10 +484,11 @@ static void velocity_init_cam_filter(str vptr->vCAMmask[0] |= 1; mac_set_cam_mask(regs, vptr->vCAMmask, VELOCITY_VLAN_ID_CAM); } else { - u16 temp = 0; - mac_set_cam(regs, 0, (u8 *) &temp, VELOCITY_VLAN_ID_CAM); - temp = 1; - mac_set_cam_mask(regs, (u8 *) &temp, VELOCITY_VLAN_ID_CAM); + u16 temp[4] = { 0, }; + + mac_set_cam(regs, 0, (u8 *) temp, VELOCITY_VLAN_ID_CAM); + temp[0] = 1; + mac_set_cam_mask(regs, (u8 *) temp, VELOCITY_VLAN_ID_CAM); } } --- 0.99.9a