diff options
author | Zhu Yi <yi.zhu@intel.com> | 2009-06-15 15:36:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-06-19 11:50:16 -0400 |
commit | d7e057dca3f1b76ff44dd16fefcd493a52614aad (patch) | |
tree | edc3d4ff1a2ba516b3619a7d5fcdfd22820eb43d /drivers/net/wireless/iwmc3200wifi/iwm.h | |
parent | 8d96e7960b6b520eb52be6e1eb7c794da5db9555 (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.h | 2 |
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; | |||
315 | void *iwm_if_alloc(int sizeof_bus, struct device *dev, | 315 | void *iwm_if_alloc(int sizeof_bus, struct device *dev, |
316 | struct iwm_if_ops *if_ops); | 316 | struct iwm_if_ops *if_ops); |
317 | void iwm_if_free(struct iwm_priv *iwm); | 317 | void iwm_if_free(struct iwm_priv *iwm); |
318 | int iwm_if_add(struct iwm_priv *iwm); | ||
319 | void iwm_if_remove(struct iwm_priv *iwm); | ||
318 | int iwm_mode_to_nl80211_iftype(int mode); | 320 | int iwm_mode_to_nl80211_iftype(int mode); |
319 | int iwm_priv_init(struct iwm_priv *iwm); | 321 | int iwm_priv_init(struct iwm_priv *iwm); |
320 | void iwm_priv_deinit(struct iwm_priv *iwm); | 322 | void iwm_priv_deinit(struct iwm_priv *iwm); |