>> + skb_push(skb, AQ_TX_HEADER_SIZE); >> + cpu_to_le64s(&tx_hdr); > > Is that portable? tx_hdr is a structure of 2x u32 bitfields. What > endian have you tested that one? > You are right, this is wrong for BE hardware. We don't have such a hardware to check unfortunately. Think its better to drop endianess conversions and declare the driver as little endian only. Do you think that'll be acceptable? Regards, Igor