Messages in this thread | | | Subject | Re: [PATCH] staging: vt6656: Use ether_addr_copy() in vnt_fill_ieee80211_rts. | From | Joe Perches <> | Date | Tue, 16 Dec 2014 00:42:06 -0800 |
| |
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);
| |