if (attr->max_size && (attr->max_size > size))
                size = attr->max_size;
 
-       skb = netdev_alloc_skb_ip_align(priv->dev, size);
+       skb = netdev_alloc_skb(priv->dev, size);
        if (!skb)
                return NULL;
 
                                         struct net_device *orig_ndev)
 {
        struct stmmac_test_priv *tpriv = pt->af_packet_priv;
+       unsigned char *src = tpriv->packet->src;
+       unsigned char *dst = tpriv->packet->dst;
        struct stmmachdr *shdr;
        struct ethhdr *ehdr;
        struct udphdr *uhdr;
                goto out;
 
        ehdr = (struct ethhdr *)skb_mac_header(skb);
-       if (tpriv->packet->dst) {
-               if (!ether_addr_equal(ehdr->h_dest, tpriv->packet->dst))
+       if (dst) {
+               if (!ether_addr_equal_unaligned(ehdr->h_dest, dst))
                        goto out;
        }
        if (tpriv->packet->sarc) {
-               if (!ether_addr_equal(ehdr->h_source, ehdr->h_dest))
+               if (!ether_addr_equal_unaligned(ehdr->h_source, ehdr->h_dest))
                        goto out;
-       } else if (tpriv->packet->src) {
-               if (!ether_addr_equal(ehdr->h_source, tpriv->packet->src))
+       } else if (src) {
+               if (!ether_addr_equal_unaligned(ehdr->h_source, src))
                        goto out;
        }
 
        struct ethhdr *ehdr;
 
        ehdr = (struct ethhdr *)skb_mac_header(skb);
-       if (!ether_addr_equal(ehdr->h_source, orig_ndev->dev_addr))
+       if (!ether_addr_equal_unaligned(ehdr->h_source, orig_ndev->dev_addr))
                goto out;
        if (ehdr->h_proto != htons(ETH_P_PAUSE))
                goto out;
        }
 
        ehdr = (struct ethhdr *)skb_mac_header(skb);
-       if (!ether_addr_equal(ehdr->h_dest, tpriv->packet->dst))
+       if (!ether_addr_equal_unaligned(ehdr->h_dest, tpriv->packet->dst))
                goto out;
 
        ihdr = ip_hdr(skb);
        struct arphdr *ahdr;
 
        ehdr = (struct ethhdr *)skb_mac_header(skb);
-       if (!ether_addr_equal(ehdr->h_dest, tpriv->packet->src))
+       if (!ether_addr_equal_unaligned(ehdr->h_dest, tpriv->packet->src))
                goto out;
 
        ahdr = arp_hdr(skb);