From 1178dcd2f540daaf6bc5c0d5d43c001d05c277f6 Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 13 Apr 2011 03:14:48 -0700 Subject: [PATCH] --- yaml --- r: 247130 b: refs/heads/master c: a8674a1efca60d863d4caa47e102cc4d70d5ff9b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 11 +++++++---- trunk/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c | 8 ++------ trunk/drivers/net/wireless/iwlwifi/iwl-agn.h | 2 +- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 67b8a15f4ecf..fdc94ca3240e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 09f18afe766ea3f2c749e3af195bf65fde71b62e +refs/heads/master: a8674a1efca60d863d4caa47e102cc4d70d5ff9b diff --git a/trunk/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/trunk/drivers/net/wireless/iwlwifi/iwl-agn-lib.c index 486a8d3a1f0d..828416881d6f 100644 --- a/trunk/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ b/trunk/drivers/net/wireless/iwlwifi/iwl-agn-lib.c @@ -2272,9 +2272,9 @@ void iwlagn_init_notification_wait(struct iwl_priv *priv, spin_unlock_bh(&priv->_agn.notif_wait_lock); } -signed long iwlagn_wait_notification(struct iwl_priv *priv, - struct iwl_notification_wait *wait_entry, - unsigned long timeout) +int iwlagn_wait_notification(struct iwl_priv *priv, + struct iwl_notification_wait *wait_entry, + unsigned long timeout) { int ret; @@ -2286,7 +2286,10 @@ signed long iwlagn_wait_notification(struct iwl_priv *priv, list_del(&wait_entry->list); spin_unlock_bh(&priv->_agn.notif_wait_lock); - return ret; + /* return value is always >= 0 */ + if (ret <= 0) + return -ETIMEDOUT; + return 0; } void iwlagn_remove_notification(struct iwl_priv *priv, diff --git a/trunk/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c b/trunk/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c index ee7c5ba95971..435dd2d6c0ab 100644 --- a/trunk/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c +++ b/trunk/drivers/net/wireless/iwlwifi/iwl-agn-rxon.c @@ -73,13 +73,9 @@ static int iwlagn_disable_pan(struct iwl_priv *priv, IWL_ERR(priv, "Error disabling PAN (%d)\n", ret); iwlagn_remove_notification(priv, &disable_wait); } else { - signed long wait_res; - - wait_res = iwlagn_wait_notification(priv, &disable_wait, HZ); - if (wait_res == 0) { + ret = iwlagn_wait_notification(priv, &disable_wait, HZ); + if (ret) IWL_ERR(priv, "Timed out waiting for PAN disable\n"); - ret = -EIO; - } } return ret; diff --git a/trunk/drivers/net/wireless/iwlwifi/iwl-agn.h b/trunk/drivers/net/wireless/iwlwifi/iwl-agn.h index b9871c4b3c18..ba90aa474777 100644 --- a/trunk/drivers/net/wireless/iwlwifi/iwl-agn.h +++ b/trunk/drivers/net/wireless/iwlwifi/iwl-agn.h @@ -343,7 +343,7 @@ iwlagn_init_notification_wait(struct iwl_priv *priv, struct iwl_rx_packet *pkt, void *data), void *fn_data); -signed long __releases(wait_entry) +int __must_check __releases(wait_entry) iwlagn_wait_notification(struct iwl_priv *priv, struct iwl_notification_wait *wait_entry, unsigned long timeout);