Signed-off-by: Matthias Beyer <[email protected]>
---
drivers/staging/bcm/IPv6Protocol.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/drivers/staging/bcm/IPv6Protocol.c
b/drivers/staging/bcm/IPv6Protocol.c
index c5bbb14..c1b0367 100644
--- a/drivers/staging/bcm/IPv6Protocol.c
+++ b/drivers/staging/bcm/IPv6Protocol.c
@@ -347,6 +347,8 @@ static bool MatchDestIpv6Address(struct bcm_classifier_rule
*pstClassifierRule,
UINT uiIpv6AddrNoLongWords = 4;
ULONG aulDestIP[4];
struct bcm_mini_adapter *Adapter = GET_BCM_ADAPTER(gblpnetdev);
+ union u_ip_address *dest_addr = &pstClassifierRule->stDestIpAddress;
+
/*
* This is the no. of Destination Addresses
* ie Range of IP Addresses contained in the classifier rule
@@ -369,14 +371,14 @@ static bool MatchDestIpv6Address(struct
bcm_classifier_rule *pstClassifierRule,
DumpIpv6Address(aulDestIP);
BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, IPV6_DBG, DBG_LVL_ALL,
"\n Destination Ipv6 Mask In Classifier Rule
:\n");
-
DumpIpv6Address(&pstClassifierRule->stDestIpAddress.ulIpv6Mask[uiLoopIndex]);
+ DumpIpv6Address(&dest_addr->ulIpv6Mask[uiLoopIndex]);
BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, IPV6_DBG, DBG_LVL_ALL,
"\n Destination Ipv6 Address In Classifier Rule
:\n");
-
DumpIpv6Address(&pstClassifierRule->stDestIpAddress.ulIpv6Addr[uiLoopIndex]);
+ DumpIpv6Address(&dest_addr->ulIpv6Addr[uiLoopIndex]);
for (uiIpv6AddIndex = 0; uiIpv6AddIndex <
uiIpv6AddrNoLongWords; uiIpv6AddIndex++) {
- if
((pstClassifierRule->stDestIpAddress.ulIpv6Mask[uiLoopIndex+uiIpv6AddIndex] &
aulDestIP[uiIpv6AddIndex])
- !=
pstClassifierRule->stDestIpAddress.ulIpv6Addr[uiLoopIndex+uiIpv6AddIndex]) {
+ if ((dest_addr->ulIpv6Mask[uiLoopIndex+uiIpv6AddIndex]
& aulDestIP[uiIpv6AddIndex])
+ !=
dest_addr->ulIpv6Addr[uiLoopIndex+uiIpv6AddIndex]) {
/*
* Match failed for current Ipv6 Address.
* Try next Ipv6 Address
--
2.0.2
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel