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
                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