diff options
| -rw-r--r-- | drivers/net/wireless/ipw2x00/ipw2100.c | 5 | ||||
| -rw-r--r-- | drivers/net/wireless/ipw2x00/ipw2200.c | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/ipw2x00/libipw.h | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/ipw2x00/libipw_module.c | 14 |
4 files changed, 6 insertions, 16 deletions
diff --git a/drivers/net/wireless/ipw2x00/ipw2100.c b/drivers/net/wireless/ipw2x00/ipw2100.c index a741d37fd96f..240cff1e6979 100644 --- a/drivers/net/wireless/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/ipw2x00/ipw2100.c | |||
| @@ -6325,10 +6325,8 @@ static int ipw2100_pci_init_one(struct pci_dev *pci_dev, | |||
| 6325 | 6325 | ||
| 6326 | fail: | 6326 | fail: |
| 6327 | if (dev) { | 6327 | if (dev) { |
| 6328 | if (registered) { | 6328 | if (registered) |
| 6329 | unregister_ieee80211(priv->ieee); | ||
| 6330 | unregister_netdev(dev); | 6329 | unregister_netdev(dev); |
| 6331 | } | ||
| 6332 | 6330 | ||
| 6333 | ipw2100_hw_stop_adapter(priv); | 6331 | ipw2100_hw_stop_adapter(priv); |
| 6334 | 6332 | ||
| @@ -6385,7 +6383,6 @@ static void __devexit ipw2100_pci_remove_one(struct pci_dev *pci_dev) | |||
| 6385 | /* Unregister the device first - this results in close() | 6383 | /* Unregister the device first - this results in close() |
| 6386 | * being called if the device is open. If we free storage | 6384 | * being called if the device is open. If we free storage |
| 6387 | * first, then close() will crash. */ | 6385 | * first, then close() will crash. */ |
| 6388 | unregister_ieee80211(priv->ieee); | ||
| 6389 | unregister_netdev(dev); | 6386 | unregister_netdev(dev); |
| 6390 | 6387 | ||
| 6391 | /* ipw2100_down will ensure that there is no more pending work | 6388 | /* ipw2100_down will ensure that there is no more pending work |
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c index 04341a2a6193..8d58e6ed4e7d 100644 --- a/drivers/net/wireless/ipw2x00/ipw2200.c +++ b/drivers/net/wireless/ipw2x00/ipw2200.c | |||
| @@ -11821,7 +11821,6 @@ static int __devinit ipw_pci_probe(struct pci_dev *pdev, | |||
| 11821 | if (err) { | 11821 | if (err) { |
| 11822 | IPW_ERROR("Failed to register promiscuous network " | 11822 | IPW_ERROR("Failed to register promiscuous network " |
| 11823 | "device (error %d).\n", err); | 11823 | "device (error %d).\n", err); |
| 11824 | unregister_ieee80211(priv->ieee); | ||
| 11825 | unregister_netdev(priv->net_dev); | 11824 | unregister_netdev(priv->net_dev); |
| 11826 | goto out_remove_sysfs; | 11825 | goto out_remove_sysfs; |
| 11827 | } | 11826 | } |
| @@ -11872,7 +11871,6 @@ static void __devexit ipw_pci_remove(struct pci_dev *pdev) | |||
| 11872 | 11871 | ||
| 11873 | mutex_unlock(&priv->mutex); | 11872 | mutex_unlock(&priv->mutex); |
| 11874 | 11873 | ||
| 11875 | unregister_ieee80211(priv->ieee); | ||
| 11876 | unregister_netdev(priv->net_dev); | 11874 | unregister_netdev(priv->net_dev); |
| 11877 | 11875 | ||
| 11878 | if (priv->rxq) { | 11876 | if (priv->rxq) { |
diff --git a/drivers/net/wireless/ipw2x00/libipw.h b/drivers/net/wireless/ipw2x00/libipw.h index f42ade6c2d3e..bf45391172f3 100644 --- a/drivers/net/wireless/ipw2x00/libipw.h +++ b/drivers/net/wireless/ipw2x00/libipw.h | |||
| @@ -1020,7 +1020,6 @@ static inline int libipw_is_cck_rate(u8 rate) | |||
| 1020 | /* ieee80211.c */ | 1020 | /* ieee80211.c */ |
| 1021 | extern void free_ieee80211(struct net_device *dev, int monitor); | 1021 | extern void free_ieee80211(struct net_device *dev, int monitor); |
| 1022 | extern struct net_device *alloc_ieee80211(int sizeof_priv, int monitor); | 1022 | extern struct net_device *alloc_ieee80211(int sizeof_priv, int monitor); |
| 1023 | extern void unregister_ieee80211(struct libipw_device *ieee); | ||
| 1024 | extern int libipw_change_mtu(struct net_device *dev, int new_mtu); | 1023 | extern int libipw_change_mtu(struct net_device *dev, int new_mtu); |
| 1025 | 1024 | ||
| 1026 | extern void libipw_networks_age(struct libipw_device *ieee, | 1025 | extern void libipw_networks_age(struct libipw_device *ieee, |
diff --git a/drivers/net/wireless/ipw2x00/libipw_module.c b/drivers/net/wireless/ipw2x00/libipw_module.c index be5b809ec97a..a0e9f6aed7da 100644 --- a/drivers/net/wireless/ipw2x00/libipw_module.c +++ b/drivers/net/wireless/ipw2x00/libipw_module.c | |||
| @@ -235,19 +235,16 @@ void free_ieee80211(struct net_device *dev, int monitor) | |||
| 235 | libipw_networks_free(ieee); | 235 | libipw_networks_free(ieee); |
| 236 | 236 | ||
| 237 | /* free cfg80211 resources */ | 237 | /* free cfg80211 resources */ |
| 238 | if (!monitor) | 238 | if (!monitor) { |
| 239 | wiphy_unregister(ieee->wdev.wiphy); | ||
| 240 | kfree(ieee->a_band.channels); | ||
| 241 | kfree(ieee->bg_band.channels); | ||
| 239 | wiphy_free(ieee->wdev.wiphy); | 242 | wiphy_free(ieee->wdev.wiphy); |
| 243 | } | ||
| 240 | 244 | ||
| 241 | free_netdev(dev); | 245 | free_netdev(dev); |
| 242 | } | 246 | } |
| 243 | 247 | ||
| 244 | void unregister_ieee80211(struct libipw_device *ieee) | ||
| 245 | { | ||
| 246 | wiphy_unregister(ieee->wdev.wiphy); | ||
| 247 | kfree(ieee->a_band.channels); | ||
| 248 | kfree(ieee->bg_band.channels); | ||
| 249 | } | ||
| 250 | |||
| 251 | #ifdef CONFIG_LIBIPW_DEBUG | 248 | #ifdef CONFIG_LIBIPW_DEBUG |
| 252 | 249 | ||
| 253 | static int debug = 0; | 250 | static int debug = 0; |
| @@ -333,4 +330,3 @@ module_init(libipw_init); | |||
| 333 | 330 | ||
| 334 | EXPORT_SYMBOL(alloc_ieee80211); | 331 | EXPORT_SYMBOL(alloc_ieee80211); |
| 335 | EXPORT_SYMBOL(free_ieee80211); | 332 | EXPORT_SYMBOL(free_ieee80211); |
| 336 | EXPORT_SYMBOL(unregister_ieee80211); | ||
