--- e587e6819698cbe7485fb336cb70177e3bf98ca4 +++ e69625084481254a792512cb50ddf05fe332057a @@ -945,7 +945,10 @@ static void neigh_update_hhs(struct neig { struct hh_cache *hh; void (*update)(struct hh_cache*, const struct net_device*, const unsigned char *) - = neigh->dev->header_ops->cache_update; + = NULL; + + if (neigh->dev->header_ops) + update = neigh->dev->header_ops->cache_update; if (update) { for (hh = neigh->hh; hh; hh = hh->hh_next) {