|
@@ -163,7 +163,7 @@ int mesh_rmc_init(struct ieee80211_sub_if_data *sdata)
|
|
|
return -ENOMEM;
|
|
|
sdata->u.mesh.rmc->idx_mask = RMC_BUCKETS - 1;
|
|
|
for (i = 0; i < RMC_BUCKETS; i++)
|
|
|
- INIT_LIST_HEAD(&sdata->u.mesh.rmc->bucket[i].list);
|
|
|
+ INIT_LIST_HEAD(&sdata->u.mesh.rmc->bucket[i]);
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -177,7 +177,7 @@ void mesh_rmc_free(struct ieee80211_sub_if_data *sdata)
|
|
|
return;
|
|
|
|
|
|
for (i = 0; i < RMC_BUCKETS; i++)
|
|
|
- list_for_each_entry_safe(p, n, &rmc->bucket[i].list, list) {
|
|
|
+ list_for_each_entry_safe(p, n, &rmc->bucket[i], list) {
|
|
|
list_del(&p->list);
|
|
|
kmem_cache_free(rm_cache, p);
|
|
|
}
|
|
@@ -210,7 +210,7 @@ int mesh_rmc_check(u8 *sa, struct ieee80211s_hdr *mesh_hdr,
|
|
|
/* Don't care about endianness since only match matters */
|
|
|
memcpy(&seqnum, &mesh_hdr->seqnum, sizeof(mesh_hdr->seqnum));
|
|
|
idx = le32_to_cpu(mesh_hdr->seqnum) & rmc->idx_mask;
|
|
|
- list_for_each_entry_safe(p, n, &rmc->bucket[idx].list, list) {
|
|
|
+ list_for_each_entry_safe(p, n, &rmc->bucket[idx], list) {
|
|
|
++entries;
|
|
|
if (time_after(jiffies, p->exp_time) ||
|
|
|
(entries == RMC_QUEUE_MAX_LEN)) {
|
|
@@ -229,7 +229,7 @@ int mesh_rmc_check(u8 *sa, struct ieee80211s_hdr *mesh_hdr,
|
|
|
p->seqnum = seqnum;
|
|
|
p->exp_time = jiffies + RMC_TIMEOUT;
|
|
|
memcpy(p->sa, sa, ETH_ALEN);
|
|
|
- list_add(&p->list, &rmc->bucket[idx].list);
|
|
|
+ list_add(&p->list, &rmc->bucket[idx]);
|
|
|
return 0;
|
|
|
}
|
|
|
|