diff options
Diffstat (limited to 'drivers/firewire')
-rw-r--r-- | drivers/firewire/net.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/firewire/net.c b/drivers/firewire/net.c index 82ba110d9d1a..bbabfca812bb 100644 --- a/drivers/firewire/net.c +++ b/drivers/firewire/net.c @@ -249,7 +249,11 @@ static int fwnet_header_cache(const struct neighbour *neigh, h = (struct fwnet_header *)((u8 *)hh->hh_data + HH_DATA_OFF(sizeof(*h))); h->h_proto = type; memcpy(h->h_dest, neigh->ha, net->addr_len); - hh->hh_len = FWNET_HLEN; + + /* Pairs with the READ_ONCE() in neigh_resolve_output(), + * neigh_hh_output() and neigh_update_hhs(). + */ + smp_store_release(&hh->hh_len, FWNET_HLEN); return 0; } |