Skip to content

Commit

Permalink
iwlagn: make iwlagn_wait_notification return error code
Browse files Browse the repository at this point in the history
We're unlikely to care about the actual time spent
waiting, so make the function return an error code
which is less error prone in coding new uses.

Also, while at it, mark __must_check.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
  • Loading branch information
Johannes Berg authored and Wey-Yi Guy committed Apr 22, 2011
1 parent 09f18af commit a8674a1
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 11 deletions.
11 changes: 7 additions & 4 deletions drivers/net/wireless/iwlwifi/iwl-agn-lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand All @@ -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,
Expand Down
8 changes: 2 additions & 6 deletions drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/iwlwifi/iwl-agn.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down

0 comments on commit a8674a1

Please sign in to comment.