Commit 06729387 authored by Stanislav Yakovlev's avatar Stanislav Yakovlev Committed by John W. Linville

net/wireless: ipw2200: introduce ipw_set_geo function

Move regulatory domain initialization code to a separate function.
Signed-off-by: default avatarStanislav Yakovlev <stas.yakovlev@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 2884561a
......@@ -11269,10 +11269,31 @@ static const struct libipw_geo ipw_geos[] = {
}
};
static void ipw_set_geo(struct ipw_priv *priv)
{
int j;
for (j = 0; j < ARRAY_SIZE(ipw_geos); j++) {
if (!memcmp(&priv->eeprom[EEPROM_COUNTRY_CODE],
ipw_geos[j].name, 3))
break;
}
if (j == ARRAY_SIZE(ipw_geos)) {
IPW_WARNING("SKU [%c%c%c] not recognized.\n",
priv->eeprom[EEPROM_COUNTRY_CODE + 0],
priv->eeprom[EEPROM_COUNTRY_CODE + 1],
priv->eeprom[EEPROM_COUNTRY_CODE + 2]);
j = 0;
}
libipw_set_geo(priv->ieee, &ipw_geos[j]);
}
#define MAX_HW_RESTARTS 5
static int ipw_up(struct ipw_priv *priv)
{
int rc, i, j;
int rc, i;
/* Age scan list entries found before suspend */
if (priv->suspend_time) {
......@@ -11310,19 +11331,7 @@ static int ipw_up(struct ipw_priv *priv)
memcpy(priv->net_dev->dev_addr, priv->mac_addr, ETH_ALEN);
memcpy(priv->net_dev->perm_addr, priv->mac_addr, ETH_ALEN);
for (j = 0; j < ARRAY_SIZE(ipw_geos); j++) {
if (!memcmp(&priv->eeprom[EEPROM_COUNTRY_CODE],
ipw_geos[j].name, 3))
break;
}
if (j == ARRAY_SIZE(ipw_geos)) {
IPW_WARNING("SKU [%c%c%c] not recognized.\n",
priv->eeprom[EEPROM_COUNTRY_CODE + 0],
priv->eeprom[EEPROM_COUNTRY_CODE + 1],
priv->eeprom[EEPROM_COUNTRY_CODE + 2]);
j = 0;
}
libipw_set_geo(priv->ieee, &ipw_geos[j]);
ipw_set_geo(priv);
if (priv->status & STATUS_RF_KILL_SW) {
IPW_WARNING("Radio disabled by module parameter.\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment