diff options
| author | Denis ChengRq <crquan@gmail.com> | 2008-09-23 02:35:37 +0800 | 
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2008-09-24 16:18:04 -0400 | 
| commit | 638af07386972861272ed9d0cff01cad528fdceb (patch) | |
| tree | 325176c8c46a7557531b571c1e897170d1073878 /net/wireless/core.c | |
| parent | acaf908d408ccd49f13aeb46cbd4428a4db174d1 (diff) | |
| download | olio-linux-3.10-638af07386972861272ed9d0cff01cad528fdceb.tar.xz olio-linux-3.10-638af07386972861272ed9d0cff01cad528fdceb.zip  | |
wireless: a global static to local static improvement
There are two improvements in this simple patch:
1. wiphy_counter is a static var only used in one function, so
   can use local static instead of global static;
2. wiphy_counter wrap handling killed one comparision;
Signed-off-by: Denis ChengRq <crquan@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/core.c')
| -rw-r--r-- | net/wireless/core.c | 16 | 
1 files changed, 7 insertions, 9 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index d6940085d59..5cadbeb76a1 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -34,7 +34,6 @@ MODULE_DESCRIPTION("wireless configuration support");   * often because we need to do it for each command */  LIST_HEAD(cfg80211_drv_list);  DEFINE_MUTEX(cfg80211_drv_mutex); -static int wiphy_counter;  /* for debugfs */  static struct dentry *ieee80211_debugfs_dir; @@ -206,6 +205,8 @@ out_unlock:  struct wiphy *wiphy_new(struct cfg80211_ops *ops, int sizeof_priv)  { +	static int wiphy_counter; +  	struct cfg80211_registered_device *drv;  	int alloc_size; @@ -222,21 +223,18 @@ struct wiphy *wiphy_new(struct cfg80211_ops *ops, int sizeof_priv)  	mutex_lock(&cfg80211_drv_mutex); -	drv->idx = wiphy_counter; - -	/* now increase counter for the next device unless -	 * it has wrapped previously */ -	if (wiphy_counter >= 0) -		wiphy_counter++; - -	mutex_unlock(&cfg80211_drv_mutex); +	drv->idx = wiphy_counter++;  	if (unlikely(drv->idx < 0)) { +		wiphy_counter--; +		mutex_unlock(&cfg80211_drv_mutex);  		/* ugh, wrapped! */  		kfree(drv);  		return NULL;  	} +	mutex_unlock(&cfg80211_drv_mutex); +  	/* give it a proper name */  	snprintf(drv->wiphy.dev.bus_id, BUS_ID_SIZE,  		 PHY_NAME "%d", drv->idx);  |