atomic_set(&skb->users, 1);
 
 #ifdef NET_SKBUFF_DATA_USES_OFFSET
-       skb->mac_header = ~0U;
+       skb->mac_header = (__u16) ~0U;
 #endif
 out:
        return skb;
        skb_reset_tail_pointer(skb);
        skb->end = skb->tail + size;
 #ifdef NET_SKBUFF_DATA_USES_OFFSET
-       skb->mac_header = ~0U;
-       skb->transport_header = ~0U;
+       skb->mac_header = (__u16) ~0U;
+       skb->transport_header = (__u16) ~0U;
 #endif
 
        /* make sure we initialize shinfo sequentially */
        skb_reset_tail_pointer(skb);
        skb->end = skb->tail + size;
 #ifdef NET_SKBUFF_DATA_USES_OFFSET
-       skb->mac_header = ~0U;
-       skb->transport_header = ~0U;
+       skb->mac_header = (__u16) ~0U;
+       skb->transport_header = (__u16) ~0U;
 #endif
 
        /* make sure we initialize shinfo sequentially */