From: Matthias Beyer Date: Tue, 29 Jul 2014 14:52:13 +0000 (+0200) Subject: Staging: bcm: Qos.c: Replaced member accessing with variable in PruneQueue() X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=7966988088f97b3643adf08f5c781806d55f5799;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git Staging: bcm: Qos.c: Replaced member accessing with variable in PruneQueue() Signed-off-by: Matthias Beyer Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/bcm/Qos.c b/drivers/staging/bcm/Qos.c index 0eb78a8010fe..769adb7b32de 100644 --- a/drivers/staging/bcm/Qos.c +++ b/drivers/staging/bcm/Qos.c @@ -31,19 +31,30 @@ static VOID PruneQueue(struct bcm_mini_adapter *Adapter, INT iIndex); * * Returns - TRUE(If address matches) else FAIL . *********************************************************************/ -static bool MatchSrcIpAddress(struct bcm_classifier_rule *pstClassifierRule, ULONG ulSrcIP) +static bool MatchSrcIpAddress(struct bcm_classifier_rule *pstClassifierRule, + ULONG ulSrcIP) { UCHAR ucLoopIndex = 0; struct bcm_mini_adapter *Adapter = GET_BCM_ADAPTER(gblpnetdev); + union u_ip_address *src_addr; ulSrcIP = ntohl(ulSrcIP); if (0 == pstClassifierRule->ucIPSourceAddressLength) return TRUE; for (ucLoopIndex = 0; ucLoopIndex < (pstClassifierRule->ucIPSourceAddressLength); ucLoopIndex++) { - BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, IPV4_DBG, DBG_LVL_ALL, "Src Ip Address Mask:0x%x PacketIp:0x%x and Classification:0x%x", (UINT)pstClassifierRule->stSrcIpAddress.ulIpv4Mask[ucLoopIndex], (UINT)ulSrcIP, (UINT)pstClassifierRule->stSrcIpAddress.ulIpv6Addr[ucLoopIndex]); - if ((pstClassifierRule->stSrcIpAddress.ulIpv4Mask[ucLoopIndex] & ulSrcIP) == - (pstClassifierRule->stSrcIpAddress.ulIpv4Addr[ucLoopIndex] & pstClassifierRule->stSrcIpAddress.ulIpv4Mask[ucLoopIndex])) + src_addr = &pstClassifierRule->stSrcIpAddress; + BCM_DEBUG_PRINT(Adapter, + DBG_TYPE_TX, + IPV4_DBG, + DBG_LVL_ALL, + "Src Ip Address Mask:0x%x PacketIp:0x%x and Classification:0x%x", + (UINT)src_addr->ulIpv4Mask[ucLoopIndex], + (UINT)ulSrcIP, + (UINT)src_addr->ulIpv6Addr[ucLoopIndex]); + + if ((src_addr->ulIpv4Mask[ucLoopIndex] & ulSrcIP) == + (src_addr->ulIpv4Addr[ucLoopIndex] & src_addr->ulIpv4Mask[ucLoopIndex])) return TRUE; } BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, IPV4_DBG, DBG_LVL_ALL, "Src Ip Address Not Matched");