[MAC80211]: Remove bitfields from struct ieee80211_sub_if_data

mac80211, remove bitfields from struct ieee80211_sub_if_data

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/mac80211/ieee80211_ioctl.c b/net/mac80211/ieee80211_ioctl.c
index ea2e0f9..9964f05 100644
--- a/net/mac80211/ieee80211_ioctl.c
+++ b/net/mac80211/ieee80211_ioctl.c
@@ -1063,8 +1063,12 @@
 
 	case PRISM2_PARAM_CTS_PROTECT_ERP_FRAMES:
 		if (sdata->type == IEEE80211_IF_TYPE_AP) {
-			sdata->use_protection = !!value;
-			ieee80211_erp_info_change_notify(dev, IEEE80211_ERP_CHANGE_PROTECTION);
+			if (value)
+				sdata->flags |= IEEE80211_SDATA_USE_PROTECTION;
+			else
+				sdata->flags &= ~IEEE80211_SDATA_USE_PROTECTION;
+			ieee80211_erp_info_change_notify(dev,
+					IEEE80211_ERP_CHANGE_PROTECTION);
 		} else {
 			ret = -ENOENT;
 		}
@@ -1072,8 +1076,12 @@
 
 	case PRISM2_PARAM_PREAMBLE:
 		if (sdata->type != IEEE80211_IF_TYPE_AP) {
-			sdata->short_preamble = !!value;
-			ieee80211_erp_info_change_notify(dev, IEEE80211_ERP_CHANGE_PREAMBLE);
+			if (value)
+				sdata->flags |= IEEE80211_SDATA_SHORT_PREAMBLE;
+			else
+				sdata->flags &= ~IEEE80211_SDATA_SHORT_PREAMBLE;
+			ieee80211_erp_info_change_notify(dev,
+					IEEE80211_ERP_CHANGE_PREAMBLE);
 		} else {
 			ret = -ENOENT;
 		}
@@ -1167,11 +1175,11 @@
 		break;
 
 	case PRISM2_PARAM_CTS_PROTECT_ERP_FRAMES:
-		*param = sdata->use_protection;
+		*param = !!(sdata->flags & IEEE80211_SDATA_USE_PROTECTION);
 		break;
 
 	case PRISM2_PARAM_PREAMBLE:
-		*param = sdata->short_preamble;
+		*param = !!(sdata->flags & IEEE80211_SDATA_SHORT_PREAMBLE);
 		break;
 
 	case PRISM2_PARAM_SHORT_SLOT_TIME: