Skip to content

Commit

Permalink
mac80211: remove fragmentation offload functionality
Browse files Browse the repository at this point in the history
There's no driver that actually does fragmentation on the
device, and the callback is buggy (when it returns an error,
mac80211's fragmentation status is changed so reading the
frag threshold from userspace reads the new value despite
the error). Let's just remove it, if we really find some
hardware supporting it we can add it back later.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Johannes Berg authored and John W. Linville committed Dec 12, 2008
1 parent e4f2a34 commit f546638
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 14 deletions.
5 changes: 0 additions & 5 deletions include/net/mac80211.h
Original file line number Diff line number Diff line change
Expand Up @@ -1258,10 +1258,6 @@ enum ieee80211_ampdu_mlme_action {
*
* @set_rts_threshold: Configuration of RTS threshold (if device needs it)
*
* @set_frag_threshold: Configuration of fragmentation threshold. Assign this if
* the device does fragmentation by itself; if this method is assigned then
* the stack will not do fragmentation.
*
* @sta_notify: Notifies low level driver about addition or removal of an
* associated station, AP, IBSS/WDS/mesh peer etc. Must be atomic.
*
Expand Down Expand Up @@ -1331,7 +1327,6 @@ struct ieee80211_ops {
void (*get_tkip_seq)(struct ieee80211_hw *hw, u8 hw_key_idx,
u32 *iv32, u16 *iv16);
int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value);
int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value);
void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
enum sta_notify_cmd, struct ieee80211_sta *sta);
void (*sta_notify_ps)(struct ieee80211_hw *hw,
Expand Down
1 change: 0 additions & 1 deletion net/mac80211/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -1001,7 +1001,6 @@ __ieee80211_tx_prepare(struct ieee80211_tx_data *tx,
if (tx->flags & IEEE80211_TX_FRAGMENTED) {
if ((tx->flags & IEEE80211_TX_UNICAST) &&
skb->len + FCS_LEN > local->fragmentation_threshold &&
!local->ops->set_frag_threshold &&
!(info->flags & IEEE80211_TX_CTL_AMPDU))
tx->flags |= IEEE80211_TX_FRAGMENTED;
else
Expand Down
8 changes: 0 additions & 8 deletions net/mac80211/wext.c
Original file line number Diff line number Diff line change
Expand Up @@ -639,14 +639,6 @@ static int ieee80211_ioctl_siwfrag(struct net_device *dev,
local->fragmentation_threshold = frag->value & ~0x1;
}

/* If the wlan card performs fragmentation in hardware/firmware,
* configure it here */

if (local->ops->set_frag_threshold)
return local->ops->set_frag_threshold(
local_to_hw(local),
local->fragmentation_threshold);

return 0;
}

Expand Down

0 comments on commit f546638

Please sign in to comment.