diff options
Diffstat (limited to 'drivers/net/wireless/ipw2200.c')
-rw-r--r-- | drivers/net/wireless/ipw2200.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c index 4c28e332ecc3..14beab4bc91c 100644 --- a/drivers/net/wireless/ipw2200.c +++ b/drivers/net/wireless/ipw2200.c | |||
@@ -2456,7 +2456,7 @@ static void ipw_eeprom_init_sram(struct ipw_priv *priv) | |||
2456 | copy. Otherwise let the firmware know to perform the operation | 2456 | copy. Otherwise let the firmware know to perform the operation |
2457 | on it's own | 2457 | on it's own |
2458 | */ | 2458 | */ |
2459 | if ((priv->eeprom + EEPROM_VERSION) != 0) { | 2459 | if (priv->eeprom[EEPROM_VERSION] != 0) { |
2460 | IPW_DEBUG_INFO("Writing EEPROM data into SRAM\n"); | 2460 | IPW_DEBUG_INFO("Writing EEPROM data into SRAM\n"); |
2461 | 2461 | ||
2462 | /* write the eeprom data to sram */ | 2462 | /* write the eeprom data to sram */ |
@@ -8012,6 +8012,10 @@ static int ipw_sw_reset(struct ipw_priv *priv, int init) | |||
8012 | else | 8012 | else |
8013 | IPW_DEBUG_INFO("Auto adhoc creation disabled.\n"); | 8013 | IPW_DEBUG_INFO("Auto adhoc creation disabled.\n"); |
8014 | 8014 | ||
8015 | priv->config &= ~CFG_STATIC_ESSID; | ||
8016 | priv->essid_len = 0; | ||
8017 | memset(priv->essid, 0, IW_ESSID_MAX_SIZE); | ||
8018 | |||
8015 | if (disable) { | 8019 | if (disable) { |
8016 | priv->status |= STATUS_RF_KILL_SW; | 8020 | priv->status |= STATUS_RF_KILL_SW; |
8017 | IPW_DEBUG_INFO("Radio disabled.\n"); | 8021 | IPW_DEBUG_INFO("Radio disabled.\n"); |
@@ -11035,7 +11039,6 @@ static int ipw_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
11035 | net_dev->set_multicast_list = ipw_net_set_multicast_list; | 11039 | net_dev->set_multicast_list = ipw_net_set_multicast_list; |
11036 | net_dev->set_mac_address = ipw_net_set_mac_address; | 11040 | net_dev->set_mac_address = ipw_net_set_mac_address; |
11037 | priv->wireless_data.spy_data = &priv->ieee->spy_data; | 11041 | priv->wireless_data.spy_data = &priv->ieee->spy_data; |
11038 | priv->wireless_data.ieee80211 = priv->ieee; | ||
11039 | net_dev->wireless_data = &priv->wireless_data; | 11042 | net_dev->wireless_data = &priv->wireless_data; |
11040 | net_dev->wireless_handlers = &ipw_wx_handler_def; | 11043 | net_dev->wireless_handlers = &ipw_wx_handler_def; |
11041 | net_dev->ethtool_ops = &ipw_ethtool_ops; | 11044 | net_dev->ethtool_ops = &ipw_ethtool_ops; |
@@ -11121,8 +11124,8 @@ static void ipw_pci_remove(struct pci_dev *pdev) | |||
11121 | /* Free MAC hash list for ADHOC */ | 11124 | /* Free MAC hash list for ADHOC */ |
11122 | for (i = 0; i < IPW_IBSS_MAC_HASH_SIZE; i++) { | 11125 | for (i = 0; i < IPW_IBSS_MAC_HASH_SIZE; i++) { |
11123 | list_for_each_safe(p, q, &priv->ibss_mac_hash[i]) { | 11126 | list_for_each_safe(p, q, &priv->ibss_mac_hash[i]) { |
11124 | kfree(list_entry(p, struct ipw_ibss_seq, list)); | ||
11125 | list_del(p); | 11127 | list_del(p); |
11128 | kfree(list_entry(p, struct ipw_ibss_seq, list)); | ||
11126 | } | 11129 | } |
11127 | } | 11130 | } |
11128 | 11131 | ||