Search Linux Wireless

[PATCH 2/4] mac80211: remove test_mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Testing of a radio is a driver-specific debug feature and doesn't belong to
the stack. Drivers should implement it using debugfs.

Signed-off-by: Jiri Benc <jbenc@xxxxxxx>

---
 include/net/mac80211.h         |   28 ------------------
 net/mac80211/hostapd_ioctl.h   |    2 -
 net/mac80211/ieee80211_ioctl.c |   63 -----------------------------------------
 3 files changed, 93 deletions(-)

--- dscape.orig/include/net/mac80211.h
+++ dscape/include/net/mac80211.h
@@ -687,12 +687,6 @@ struct ieee80211_ops {
 	int (*get_stats)(struct ieee80211_hw *hw,
 			 struct ieee80211_low_level_stats *stats);
 
-	/* Enable/disable test modes; mode = IEEE80211_TEST_* */
-	int (*test_mode)(struct ieee80211_hw *hw, int mode);
-
-	/* Configuration of test parameters */
-	int (*test_param)(struct ieee80211_hw *hw, int param, int value);
-
 	/* For devices that generate their own beacons and probe response
 	 * or association responses this updates the state of privacy_invoked
 	 * returns 0 for success or an error number */
@@ -1056,28 +1050,6 @@ void ieee80211_scan_completed(struct iee
 int  ieee80211_radar_status(struct ieee80211_hw *hw, int channel,
 			    int radar, int radar_type);
 
-/* Test modes */
-enum {
-	IEEE80211_TEST_DISABLE = 0 /* terminate testing */,
-	IEEE80211_TEST_UNMASK_CHANNELS = 1 /* allow all channels to be used */,
-	IEEE80211_TEST_CONTINUOUS_TX = 2,
-};
-
-/* Test parameters */
-enum {
-	/* TX power in hardware specific raw value */
-	IEEE80211_TEST_PARAM_TX_POWER_RAW = 0,
-	/* TX rate in hardware specific raw value */
-	IEEE80211_TEST_PARAM_TX_RATE_RAW = 1,
-	/* Continuous TX pattern (32-bit) */
-	IEEE80211_TEST_PARAM_TX_PATTERN = 2,
-	/* TX power in 0.1 dBm, 100 = 10 dBm */
-	IEEE80211_TEST_PARAM_TX_POWER = 3,
-	/* TX rate in 100 kbps, 540 = 54 Mbps */
-	IEEE80211_TEST_PARAM_TX_RATE = 4,
-	IEEE80211_TEST_PARAM_TX_ANT_SEL_RAW = 5,
-};
-
 /* return a pointer to the source address (SA) */
 static inline u8 *ieee80211_get_SA(struct ieee80211_hdr *hdr)
 {
--- dscape.orig/net/mac80211/hostapd_ioctl.h
+++ dscape/net/mac80211/hostapd_ioctl.h
@@ -20,7 +20,6 @@
 #define PRISM2_IOCTL_PRISM2_PARAM (SIOCIWFIRSTPRIV + 0)
 #define PRISM2_IOCTL_GET_PRISM2_PARAM (SIOCIWFIRSTPRIV + 1)
 #define PRISM2_IOCTL_HOSTAPD (SIOCIWFIRSTPRIV + 3)
-#define PRISM2_IOCTL_TEST_PARAM (SIOCIWFIRSTPRIV + 4)
 
 /* PRISM2_IOCTL_PRISM2_PARAM ioctl() subtypes:
  * This table is no longer added to, the whole sub-ioctl
@@ -41,7 +40,6 @@ enum {
 	PRISM2_PARAM_DROP_UNENCRYPTED = 1002,
 	PRISM2_PARAM_PREAMBLE = 1003,
 	PRISM2_PARAM_SHORT_SLOT_TIME = 1006,
-	PRISM2_PARAM_TEST_MODE = 1007,
 	PRISM2_PARAM_NEXT_MODE = 1008,
 	PRISM2_PARAM_CLEAR_KEYS = 1009,
 	PRISM2_PARAM_RADIO_ENABLED = 1010,
--- dscape.orig/net/mac80211/ieee80211_ioctl.c
+++ dscape/net/mac80211/ieee80211_ioctl.c
@@ -2189,38 +2189,6 @@ static int ieee80211_ioctl_giwretry(stru
 	return 0;
 }
 
-
-static void ieee80211_ioctl_unmask_channels(struct ieee80211_local *local)
-{
-	struct ieee80211_hw_mode *mode;
-	int c;
-
-	list_for_each_entry(mode, &local->modes_list, list) {
-		for (c = 0; c < mode->num_channels; c++) {
-			struct ieee80211_channel *chan = &mode->channels[c];
-			chan->flag |= IEEE80211_CHAN_W_SCAN;
-		}
-	}
-}
-
-
-static int ieee80211_ioctl_test_mode(struct net_device *dev, int mode)
-{
-	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
-	int ret = -EOPNOTSUPP;
-
-	if (mode == IEEE80211_TEST_UNMASK_CHANNELS) {
-		ieee80211_ioctl_unmask_channels(local);
-		ret = 0;
-	}
-
-	if (local->ops->test_mode)
-		ret = local->ops->test_mode(local_to_hw(local), mode);
-
-	return ret;
-}
-
-
 static int ieee80211_ioctl_clear_keys(struct net_device *dev)
 {
 	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
@@ -2537,10 +2505,6 @@ static int ieee80211_ioctl_prism2_param(
 					local_to_hw(local), value);
 		break;
 
-	case PRISM2_PARAM_TEST_MODE:
-		ret = ieee80211_ioctl_test_mode(dev, value);
-		break;
-
 	case PRISM2_PARAM_NEXT_MODE:
 		local->next_mode = value;
 		break;
@@ -2871,27 +2835,6 @@ static int ieee80211_ioctl_get_prism2_pa
 	return ret;
 }
 
-
-static int ieee80211_ioctl_test_param(struct net_device *dev,
-				      struct iw_request_info *info,
-				      void *wrqu, char *extra)
-{
-	struct ieee80211_local *local = wdev_priv(dev->ieee80211_ptr);
-	int *i = (int *) extra;
-	int param = *i;
-	int value = *(i + 1);
-
-	if (!capable(CAP_NET_ADMIN))
-		return -EPERM;
-
-	if (local->ops->test_param)
-		return local->ops->test_param(local_to_hw(local),
-					     param, value);
-
-	return -EOPNOTSUPP;
-}
-
-
 static int ieee80211_ioctl_siwmlme(struct net_device *dev,
 				   struct iw_request_info *info,
 				   struct iw_point *data, char *extra)
@@ -3177,8 +3120,6 @@ static const struct iw_priv_args ieee802
 	{ PRISM2_IOCTL_GET_PRISM2_PARAM,
 	  IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1,
 	  IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 1, "get_param" },
-	{ PRISM2_IOCTL_TEST_PARAM,
-	  IW_PRIV_TYPE_INT | IW_PRIV_SIZE_FIXED | 2, 0, "test_param" },
 };
 
 
@@ -3190,10 +3131,6 @@ int ieee80211_ioctl(struct net_device *d
 	switch (cmd) {
 		/* Private ioctls (iwpriv) that have not yet been converted
 		 * into new wireless extensions API */
-	case PRISM2_IOCTL_TEST_PARAM:
-		ret = ieee80211_ioctl_test_param(dev, NULL, &wrq->u,
-						 (char *) &wrq->u);
-		break;
 	case PRISM2_IOCTL_HOSTAPD:
 		if (!capable(CAP_NET_ADMIN)) ret = -EPERM;
 		else ret = ieee80211_ioctl_priv_hostapd(dev, &wrq->u.data);
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux