Message ID | 1429479577-3977-1-git-send-email-mateusz.kulikowski@gmail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Date: Sun, 19 Apr 2015 23:39:37 +0200 > Some drivers require copying unaligned ethernet addresses. > Using memcpy() causes checkpatch warnings and may cause > regressions (someone will "fix" alignment of packed structure) > > Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> I'd rather see something like this submitted in a patch series alongside some actual uses. So I'm tossing this for now. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 20.04.2015 20:19, David Miller wrote: (...) > I'd rather see something like this submitted in a patch series alongside > some actual uses. > > So I'm tossing this for now. > Ok; I'll add it to a series where I need it (rtl8192e) Regards, Mateusz -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 606563e..681874f 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -244,6 +244,22 @@ static inline void ether_addr_copy(u8 *dst, const u8 *src) } /** + * ether_addr_copy_unaligned - Copy unaligned Ethernet address + * @dst: Pointer to a six-byte array Ethernet address destination + * @src: Pointer to a six-byte array Ethernet address source + * + * Please note: Use only when any Ethernet address may not be u16 aligned. + */ +static inline void ether_addr_copy_unaligned(u8 *dst, const u8 *src) +{ +#if defined(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) + ether_addr_copy(dst, src); +#else + memcpy(dst, src, ETH_ALEN); +#endif +} + +/** * eth_hw_addr_inherit - Copy dev_addr from another net_device * @dst: pointer to net_device to copy dev_addr to * @src: pointer to net_device to copy dev_addr from
Some drivers require copying unaligned ethernet addresses. Using memcpy() causes checkpatch warnings and may cause regressions (someone will "fix" alignment of packed structure) Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> --- include/linux/etherdevice.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)