Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 638af073 authored by Denis ChengRq's avatar Denis ChengRq Committed by John W. Linville
Browse files

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: default avatarDenis ChengRq <crquan@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent acaf908d
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -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);