[PATCH] staging: vt6656: Use ether_addr_copy() in vnt_fill_ieee80211_rts.

Joe Perches joe at perches.com
Tue Dec 16 08:42:06 UTC 2014


On Tue, 2014-12-16 at 09:30 +0100, Krzysztof Adamski wrote:
> Both struct ieee80211_rts and struct ieee80211_hdr defined in
> linux/ieee80211.h are declared as __aligned(2) so it is safe to use
> ether_addr_copy() instead of memcpy().

Just fyi:

That the structure is declared __aligned(2) is not
the important bit.  What's necessary is that the
members in the struct are __aligned(2).

In this case, all of these members are.

> diff --git a/drivers/staging/vt6656/rxtx.c b/drivers/staging/vt6656/rxtx.c
[]
> @@ -392,8 +393,8 @@ static int vnt_fill_ieee80211_rts(struct vnt_usb_send_context *tx_context,
>   	rts->frame_control =
>   		cpu_to_le16(IEEE80211_FTYPE_CTL | IEEE80211_STYPE_RTS);
>   
> -	memcpy(rts->ra, hdr->addr1, ETH_ALEN);
> -	memcpy(rts->ta, hdr->addr2, ETH_ALEN);
> +	ether_addr_copy(rts->ra, hdr->addr1);
> +	ether_addr_copy(rts->ta, hdr->addr2);





More information about the devel mailing list