aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2008-12-09 06:30:03 -0500
committerJohn W. Linville <linville@tuxdriver.com>2008-12-12 14:01:33 -0500
commitf546638c3f809fdacddc03fe765669c3042e0d9d (patch)
tree2f5936ca90d2774ce33c03f96065ef561443af51
parente4f2a3458f451d5fb6aa55aac6aaadcf220d0da1 (diff)
mac80211: remove fragmentation offload functionality
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>
-rw-r--r--include/net/mac80211.h5
-rw-r--r--net/mac80211/tx.c1
-rw-r--r--net/mac80211/wext.c8
3 files changed, 0 insertions, 14 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 346f373fb676..5ecc686c1f1a 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1258,10 +1258,6 @@ enum ieee80211_ampdu_mlme_action {
1258 * 1258 *
1259 * @set_rts_threshold: Configuration of RTS threshold (if device needs it) 1259 * @set_rts_threshold: Configuration of RTS threshold (if device needs it)
1260 * 1260 *
1261 * @set_frag_threshold: Configuration of fragmentation threshold. Assign this if
1262 * the device does fragmentation by itself; if this method is assigned then
1263 * the stack will not do fragmentation.
1264 *
1265 * @sta_notify: Notifies low level driver about addition or removal of an 1261 * @sta_notify: Notifies low level driver about addition or removal of an
1266 * associated station, AP, IBSS/WDS/mesh peer etc. Must be atomic. 1262 * associated station, AP, IBSS/WDS/mesh peer etc. Must be atomic.
1267 * 1263 *
@@ -1331,7 +1327,6 @@ struct ieee80211_ops {
1331 void (*get_tkip_seq)(struct ieee80211_hw *hw, u8 hw_key_idx, 1327 void (*get_tkip_seq)(struct ieee80211_hw *hw, u8 hw_key_idx,
1332 u32 *iv32, u16 *iv16); 1328 u32 *iv32, u16 *iv16);
1333 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value); 1329 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value);
1334 int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value);
1335 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, 1330 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
1336 enum sta_notify_cmd, struct ieee80211_sta *sta); 1331 enum sta_notify_cmd, struct ieee80211_sta *sta);
1337 void (*sta_notify_ps)(struct ieee80211_hw *hw, 1332 void (*sta_notify_ps)(struct ieee80211_hw *hw,
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index d7761e95e4cf..b098c58d216f 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1001,7 +1001,6 @@ __ieee80211_tx_prepare(struct ieee80211_tx_data *tx,
1001 if (tx->flags & IEEE80211_TX_FRAGMENTED) { 1001 if (tx->flags & IEEE80211_TX_FRAGMENTED) {
1002 if ((tx->flags & IEEE80211_TX_UNICAST) && 1002 if ((tx->flags & IEEE80211_TX_UNICAST) &&
1003 skb->len + FCS_LEN > local->fragmentation_threshold && 1003 skb->len + FCS_LEN > local->fragmentation_threshold &&
1004 !local->ops->set_frag_threshold &&
1005 !(info->flags & IEEE80211_TX_CTL_AMPDU)) 1004 !(info->flags & IEEE80211_TX_CTL_AMPDU))
1006 tx->flags |= IEEE80211_TX_FRAGMENTED; 1005 tx->flags |= IEEE80211_TX_FRAGMENTED;
1007 else 1006 else
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c
index 4e1fdcfacb0c..fbeb927c116b 100644
--- a/net/mac80211/wext.c
+++ b/net/mac80211/wext.c
@@ -639,14 +639,6 @@ static int ieee80211_ioctl_siwfrag(struct net_device *dev,
639 local->fragmentation_threshold = frag->value & ~0x1; 639 local->fragmentation_threshold = frag->value & ~0x1;
640 } 640 }
641 641
642 /* If the wlan card performs fragmentation in hardware/firmware,
643 * configure it here */
644
645 if (local->ops->set_frag_threshold)
646 return local->ops->set_frag_threshold(
647 local_to_hw(local),
648 local->fragmentation_threshold);
649
650 return 0; 642 return 0;
651} 643}
652 644