iwmc3200wifi: set cipher_suites before registering wiphy
authorZhu Yi <yi.zhu@intel.com>
Thu, 16 Jul 2009 09:34:08 +0000 (17:34 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 24 Jul 2009 19:05:20 +0000 (15:05 -0400)
We need to specify all the cipher suites we supported. Otherwise
cfg80211_validate_key_settings() will fail when we are setting
keys.

Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwmc3200wifi/cfg80211.c

index 54bebba..0aa3895 100644 (file)
@@ -558,6 +558,13 @@ static struct cfg80211_ops iwm_cfg80211_ops = {
        .set_power_mgmt = iwm_cfg80211_set_power_mgmt,
 };
 
+static const u32 cipher_suites[] = {
+       WLAN_CIPHER_SUITE_WEP40,
+       WLAN_CIPHER_SUITE_WEP104,
+       WLAN_CIPHER_SUITE_TKIP,
+       WLAN_CIPHER_SUITE_CCMP,
+};
+
 struct wireless_dev *iwm_wdev_alloc(int sizeof_bus, struct device *dev)
 {
        int ret = 0;
@@ -600,6 +607,9 @@ struct wireless_dev *iwm_wdev_alloc(int sizeof_bus, struct device *dev)
        wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &iwm_band_5ghz;
        wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
 
+       wdev->wiphy->cipher_suites = cipher_suites;
+       wdev->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
+
        ret = wiphy_register(wdev->wiphy);
        if (ret < 0) {
                dev_err(dev, "Couldn't register wiphy device\n");