From 2bad43d7ca2f669019a87e5e8e30deb39d2eba17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mika=20Lepp=C3=A4nen?= Date: Fri, 16 Sep 2016 11:14:05 +0300 Subject: [PATCH] Corrected K66F and K64F drivers to make "or" operation instead of "and" when multicast group address is added to filter. --- .../TARGET_KSDK2_MCUS/TARGET_K66F/drivers/fsl_enet.c | 4 ++-- .../TARGET_KSDK2_MCUS/TARGET_MCU_K64F/drivers/fsl_enet.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_K66F/drivers/fsl_enet.c b/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_K66F/drivers/fsl_enet.c index a98d0b7be0..91073bcd6a 100644 --- a/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_K66F/drivers/fsl_enet.c +++ b/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_K66F/drivers/fsl_enet.c @@ -1064,11 +1064,11 @@ void ENET_AddMulticastGroup(ENET_Type *base, uint8_t *address) /* Enable a multicast group address. */ if (!((crc >> 0x1FU) & 1U)) { - base->GALR = 1U << ((crc >> 0x1AU) & 0x1FU); + base->GALR |= 1U << ((crc >> 0x1AU) & 0x1FU); } else { - base->GAUR = 1U << ((crc >> 0x1AU) & 0x1FU); + base->GAUR |= 1U << ((crc >> 0x1AU) & 0x1FU); } } diff --git a/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_MCU_K64F/drivers/fsl_enet.c b/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_MCU_K64F/drivers/fsl_enet.c index 7f15c05183..85d3ca9ccd 100755 --- a/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_MCU_K64F/drivers/fsl_enet.c +++ b/hal/targets/hal/TARGET_Freescale/TARGET_KSDK2_MCUS/TARGET_MCU_K64F/drivers/fsl_enet.c @@ -1064,11 +1064,11 @@ void ENET_AddMulticastGroup(ENET_Type *base, uint8_t *address) /* Enable a multicast group address. */ if (!((crc >> 0x1FU) & 1U)) { - base->GALR = 1U << ((crc >> 0x1AU) & 0x1FU); + base->GALR |= 1U << ((crc >> 0x1AU) & 0x1FU); } else { - base->GAUR = 1U << ((crc >> 0x1AU) & 0x1FU); + base->GAUR |= 1U << ((crc >> 0x1AU) & 0x1FU); } }