aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwmc3200wifi/iwm.h
diff options
context:
space:
mode:
authorZhu Yi <yi.zhu@intel.com>2009-06-15 15:36:14 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-06-19 11:50:16 -0400
commitd7e057dca3f1b76ff44dd16fefcd493a52614aad (patch)
treeedc3d4ff1a2ba516b3619a7d5fcdfd22820eb43d /drivers/net/wireless/iwmc3200wifi/iwm.h
parent8d96e7960b6b520eb52be6e1eb7c794da5db9555 (diff)
iwmc3200wifi: add iwm_if_add and iwm_if_remove
We used to do alloc_netdev and register_netdev at the same time in iwm_if_alloc. But some bus related structures will only be initialized after iwm_priv is allocated. This caused a race condition that the netdev might be registered earlier. The patch adds iwm_if_add and iwm_if_remove so that the bus layer could register the device after all initialization is done. Signed-off-by: Zhu Yi <yi.zhu@intel.com> Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwmc3200wifi/iwm.h')
-rw-r--r--drivers/net/wireless/iwmc3200wifi/iwm.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwmc3200wifi/iwm.h b/drivers/net/wireless/iwmc3200wifi/iwm.h
index 2237448e0427..4aa0ad1932ff 100644
--- a/drivers/net/wireless/iwmc3200wifi/iwm.h
+++ b/drivers/net/wireless/iwmc3200wifi/iwm.h
@@ -315,6 +315,8 @@ extern const struct iw_handler_def iwm_iw_handler_def;
315void *iwm_if_alloc(int sizeof_bus, struct device *dev, 315void *iwm_if_alloc(int sizeof_bus, struct device *dev,
316 struct iwm_if_ops *if_ops); 316 struct iwm_if_ops *if_ops);
317void iwm_if_free(struct iwm_priv *iwm); 317void iwm_if_free(struct iwm_priv *iwm);
318int iwm_if_add(struct iwm_priv *iwm);
319void iwm_if_remove(struct iwm_priv *iwm);
318int iwm_mode_to_nl80211_iftype(int mode); 320int iwm_mode_to_nl80211_iftype(int mode);
319int iwm_priv_init(struct iwm_priv *iwm); 321int iwm_priv_init(struct iwm_priv *iwm);
320void iwm_priv_deinit(struct iwm_priv *iwm); 322void iwm_priv_deinit(struct iwm_priv *iwm);