mac80211: remove unimplemented mesh vendor sync
There's no vendor-specific mesh sync implemented and there don't need to be dummy handlers that only print messages, so remove that code. While at it, also constify the mesh sync ops. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
3821b4247b
Коммит
8ba7acf376
|
@ -610,7 +610,7 @@ struct ieee80211_if_mesh {
|
|||
IEEE80211_MESH_SEC_SECURED = 0x2,
|
||||
} security;
|
||||
/* Extensible Synchronization Framework */
|
||||
struct ieee80211_mesh_sync_ops *sync_ops;
|
||||
const struct ieee80211_mesh_sync_ops *sync_ops;
|
||||
s64 sync_offset_clockdrift_max;
|
||||
spinlock_t sync_offset_lock;
|
||||
bool adjusting_tbtt;
|
||||
|
|
|
@ -256,7 +256,7 @@ void ieee80211_mesh_init_sdata(struct ieee80211_sub_if_data *sdata);
|
|||
void ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata);
|
||||
void ieee80211_stop_mesh(struct ieee80211_sub_if_data *sdata);
|
||||
void ieee80211_mesh_root_setup(struct ieee80211_if_mesh *ifmsh);
|
||||
struct ieee80211_mesh_sync_ops *ieee80211_mesh_sync_ops_get(u8 method);
|
||||
const struct ieee80211_mesh_sync_ops *ieee80211_mesh_sync_ops_get(u8 method);
|
||||
|
||||
/* Mesh paths */
|
||||
int mesh_nexthop_lookup(struct sk_buff *skb,
|
||||
|
|
|
@ -234,49 +234,7 @@ static void mesh_sync_offset_adjust_tbtt(struct ieee80211_sub_if_data *sdata)
|
|||
spin_unlock_bh(&ifmsh->sync_offset_lock);
|
||||
}
|
||||
|
||||
static const u8 *mesh_get_vendor_oui(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
|
||||
u8 offset;
|
||||
|
||||
if (!ifmsh->ie || !ifmsh->ie_len)
|
||||
return NULL;
|
||||
|
||||
offset = ieee80211_ie_split_vendor(ifmsh->ie,
|
||||
ifmsh->ie_len, 0);
|
||||
|
||||
if (!offset)
|
||||
return NULL;
|
||||
|
||||
return ifmsh->ie + offset + 2;
|
||||
}
|
||||
|
||||
static void mesh_sync_vendor_rx_bcn_presp(struct ieee80211_sub_if_data *sdata,
|
||||
u16 stype,
|
||||
struct ieee80211_mgmt *mgmt,
|
||||
struct ieee802_11_elems *elems,
|
||||
struct ieee80211_rx_status *rx_status)
|
||||
{
|
||||
const u8 *oui;
|
||||
|
||||
WARN_ON(sdata->u.mesh.mesh_sp_id != IEEE80211_SYNC_METHOD_VENDOR);
|
||||
msync_dbg(sdata, "called mesh_sync_vendor_rx_bcn_presp\n");
|
||||
oui = mesh_get_vendor_oui(sdata);
|
||||
/* here you would implement the vendor offset tracking for this oui */
|
||||
}
|
||||
|
||||
static void mesh_sync_vendor_adjust_tbtt(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
const u8 *oui;
|
||||
|
||||
WARN_ON(sdata->u.mesh.mesh_sp_id != IEEE80211_SYNC_METHOD_VENDOR);
|
||||
msync_dbg(sdata, "called mesh_sync_vendor_adjust_tbtt\n");
|
||||
oui = mesh_get_vendor_oui(sdata);
|
||||
/* here you would implement the vendor tsf adjustment for this oui */
|
||||
}
|
||||
|
||||
/* global variable */
|
||||
static struct sync_method sync_methods[] = {
|
||||
static const struct sync_method sync_methods[] = {
|
||||
{
|
||||
.method = IEEE80211_SYNC_METHOD_NEIGHBOR_OFFSET,
|
||||
.ops = {
|
||||
|
@ -284,18 +242,11 @@ static struct sync_method sync_methods[] = {
|
|||
.adjust_tbtt = &mesh_sync_offset_adjust_tbtt,
|
||||
}
|
||||
},
|
||||
{
|
||||
.method = IEEE80211_SYNC_METHOD_VENDOR,
|
||||
.ops = {
|
||||
.rx_bcn_presp = &mesh_sync_vendor_rx_bcn_presp,
|
||||
.adjust_tbtt = &mesh_sync_vendor_adjust_tbtt,
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
struct ieee80211_mesh_sync_ops *ieee80211_mesh_sync_ops_get(u8 method)
|
||||
const struct ieee80211_mesh_sync_ops *ieee80211_mesh_sync_ops_get(u8 method)
|
||||
{
|
||||
struct ieee80211_mesh_sync_ops *ops = NULL;
|
||||
const struct ieee80211_mesh_sync_ops *ops = NULL;
|
||||
u8 i;
|
||||
|
||||
for (i = 0 ; i < ARRAY_SIZE(sync_methods); ++i) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче