diff options
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.h | 2 |
3 files changed, 10 insertions, 11 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c index 486a8d3a1f0..828416881d6 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c | |||
@@ -2272,9 +2272,9 @@ void iwlagn_init_notification_wait(struct iwl_priv *priv, | |||
2272 | spin_unlock_bh(&priv->_agn.notif_wait_lock); | 2272 | spin_unlock_bh(&priv->_agn.notif_wait_lock); |
2273 | } | 2273 | } |
2274 | 2274 | ||
2275 | signed long iwlagn_wait_notification(struct iwl_priv *priv, | 2275 | int iwlagn_wait_notification(struct iwl_priv *priv, |
2276 | struct iwl_notification_wait *wait_entry, | 2276 | struct iwl_notification_wait *wait_entry, |
2277 | unsigned long timeout) | 2277 | unsigned long timeout) |
2278 | { | 2278 | { |
2279 | int ret; | 2279 | int ret; |
2280 | 2280 | ||
@@ -2286,7 +2286,10 @@ signed long iwlagn_wait_notification(struct iwl_priv *priv, | |||
2286 | list_del(&wait_entry->list); | 2286 | list_del(&wait_entry->list); |
2287 | spin_unlock_bh(&priv->_agn.notif_wait_lock); | 2287 | spin_unlock_bh(&priv->_agn.notif_wait_lock); |
2288 | 2288 | ||
2289 | return ret; | 2289 | /* return value is always >= 0 */ |
2290 | if (ret <= 0) | ||
2291 | return -ETIMEDOUT; | ||
2292 | return 0; | ||
2290 | } | 2293 | } |
2291 | 2294 | ||
2292 | void iwlagn_remove_notification(struct iwl_priv *priv, | 2295 | void iwlagn_remove_notification(struct iwl_priv *priv, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c index ee7c5ba9597..435dd2d6c0a 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | |||
@@ -73,13 +73,9 @@ static int iwlagn_disable_pan(struct iwl_priv *priv, | |||
73 | IWL_ERR(priv, "Error disabling PAN (%d)\n", ret); | 73 | IWL_ERR(priv, "Error disabling PAN (%d)\n", ret); |
74 | iwlagn_remove_notification(priv, &disable_wait); | 74 | iwlagn_remove_notification(priv, &disable_wait); |
75 | } else { | 75 | } else { |
76 | signed long wait_res; | 76 | ret = iwlagn_wait_notification(priv, &disable_wait, HZ); |
77 | 77 | if (ret) | |
78 | wait_res = iwlagn_wait_notification(priv, &disable_wait, HZ); | ||
79 | if (wait_res == 0) { | ||
80 | IWL_ERR(priv, "Timed out waiting for PAN disable\n"); | 78 | IWL_ERR(priv, "Timed out waiting for PAN disable\n"); |
81 | ret = -EIO; | ||
82 | } | ||
83 | } | 79 | } |
84 | 80 | ||
85 | return ret; | 81 | return ret; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.h b/drivers/net/wireless/iwlwifi/iwl-agn.h index b9871c4b3c1..ba90aa47477 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.h +++ b/drivers/net/wireless/iwlwifi/iwl-agn.h | |||
@@ -343,7 +343,7 @@ iwlagn_init_notification_wait(struct iwl_priv *priv, | |||
343 | struct iwl_rx_packet *pkt, | 343 | struct iwl_rx_packet *pkt, |
344 | void *data), | 344 | void *data), |
345 | void *fn_data); | 345 | void *fn_data); |
346 | signed long __releases(wait_entry) | 346 | int __must_check __releases(wait_entry) |
347 | iwlagn_wait_notification(struct iwl_priv *priv, | 347 | iwlagn_wait_notification(struct iwl_priv *priv, |
348 | struct iwl_notification_wait *wait_entry, | 348 | struct iwl_notification_wait *wait_entry, |
349 | unsigned long timeout); | 349 | unsigned long timeout); |