Skip to content

Commit

Permalink
libertas: remove unused 11d code
Browse files Browse the repository at this point in the history
Most of the 11d code was protected with an "if (priv->enable11d)" clause.
But there was no code that anywhere that was able to set this
variable to true. So all 11d code was dead for almost a year and no one
complained. That's enought incentive to remove this code.

Besides removing old cruft, we gain back the 11d capability in a common way
when we merge the cfg80211 functionality.

Signed-off-by: Holger Schurig <hs4233@mail.mn-solutions.de>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Holger Schurig authored and John W. Linville committed Oct 27, 2009
1 parent 7f4013f commit d37b4fd
Show file tree
Hide file tree
Showing 10 changed files with 13 additions and 830 deletions.
697 changes: 0 additions & 697 deletions drivers/net/wireless/libertas/11d.c

This file was deleted.

23 changes: 0 additions & 23 deletions drivers/net/wireless/libertas/11d.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,27 +79,4 @@ struct region_code_mapping {
u8 code;
};

struct lbs_private;

u8 lbs_get_scan_type_11d(u8 chan,
struct parsed_region_chan_11d *parsed_region_chan);

u32 lbs_chan_2_freq(u8 chan);

void lbs_init_11d(struct lbs_private *priv);

int lbs_set_universaltable(struct lbs_private *priv, u8 band);

int lbs_cmd_802_11d_domain_info(struct lbs_private *priv,
struct cmd_ds_command *cmd, u16 cmdno,
u16 cmdOption);

int lbs_ret_802_11d_domain_info(struct cmd_ds_command *resp);

struct bss_descriptor;
int lbs_parse_dnld_countryinfo_11d(struct lbs_private *priv,
struct bss_descriptor * bss);

int lbs_create_dnld_countryinfo_11d(struct lbs_private *priv);

#endif
1 change: 0 additions & 1 deletion drivers/net/wireless/libertas/Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
libertas-y += 11d.o
libertas-y += assoc.o
libertas-y += cfg.o
libertas-y += cmd.o
Expand Down
16 changes: 0 additions & 16 deletions drivers/net/wireless/libertas/assoc.c
Original file line number Diff line number Diff line change
Expand Up @@ -371,11 +371,6 @@ static int lbs_associate(struct lbs_private *priv,
/* update curbssparams */
priv->curbssparams.channel = bss->phy.ds.channel;

if (lbs_parse_dnld_countryinfo_11d(priv, bss)) {
ret = -1;
goto done;
}

ret = lbs_cmd_with_response(priv, command, &cmd);
if (ret == 0) {
ret = lbs_assoc_post(priv,
Expand Down Expand Up @@ -633,11 +628,6 @@ static int lbs_adhoc_join(struct lbs_private *priv,
}
}

if (lbs_parse_dnld_countryinfo_11d(priv, bss)) {
ret = -1;
goto out;
}

ret = lbs_cmd_with_response(priv, CMD_802_11_AD_HOC_JOIN, &cmd);
if (ret == 0) {
ret = lbs_adhoc_post(priv,
Expand Down Expand Up @@ -737,12 +727,6 @@ static int lbs_adhoc_start(struct lbs_private *priv,
lbs_deb_join("ADHOC_START: rates=%02x %02x %02x %02x\n",
cmd.rates[0], cmd.rates[1], cmd.rates[2], cmd.rates[3]);

if (lbs_create_dnld_countryinfo_11d(priv)) {
lbs_deb_join("ADHOC_START: dnld_countryinfo_11d failed\n");
ret = -1;
goto out;
}

lbs_deb_join("ADHOC_START: Starting Ad-Hoc BSS on channel %d, band %d\n",
assoc_req->channel, assoc_req->band);

Expand Down
10 changes: 0 additions & 10 deletions drivers/net/wireless/libertas/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -190,11 +190,6 @@ int lbs_update_hw_spec(struct lbs_private *priv)
goto out;
}

if (lbs_set_universaltable(priv, 0)) {
ret = -1;
goto out;
}

out:
lbs_deb_leave(LBS_DEB_CMD);
return ret;
Expand Down Expand Up @@ -1511,11 +1506,6 @@ int lbs_prepare_and_send_command(struct lbs_private *priv,
ret = 0;
goto done;

case CMD_802_11D_DOMAIN_INFO:
ret = lbs_cmd_802_11d_domain_info(priv, cmdptr,
cmd_no, cmd_action);
break;

case CMD_802_11_TPC_CFG:
cmdptr->command = cpu_to_le16(CMD_802_11_TPC_CFG);
cmdptr->size =
Expand Down
4 changes: 0 additions & 4 deletions drivers/net/wireless/libertas/cmdresp.c
Original file line number Diff line number Diff line change
Expand Up @@ -228,10 +228,6 @@ static inline int handle_cmd_response(struct lbs_private *priv,
ret = lbs_ret_802_11_rssi(priv, resp);
break;

case CMD_RET(CMD_802_11D_DOMAIN_INFO):
ret = lbs_ret_802_11d_domain_info(resp);
break;

case CMD_RET(CMD_802_11_TPC_CFG):
spin_lock_irqsave(&priv->driver_lock, flags);
memmove((void *)priv->cur_cmd->callback_arg, &resp->params.tpccfg,
Expand Down
9 changes: 0 additions & 9 deletions drivers/net/wireless/libertas/dev.h
Original file line number Diff line number Diff line change
Expand Up @@ -325,15 +325,6 @@ struct lbs_private {
/** region channel data */
struct region_channel region_channel[MAX_REGION_CHANNEL_NUM];

struct region_channel universal_channel[MAX_REGION_CHANNEL_NUM];

/** 11D and Domain Regulatory Data */
struct lbs_802_11d_domain_reg domainreg;
struct parsed_region_chan_11d parsed_region_chan;

/** FSM variable for 11d support */
u32 enable11d;

/** MISCELLANEOUS */
struct lbs_offset_value offsetvalue;

Expand Down
3 changes: 0 additions & 3 deletions drivers/net/wireless/libertas/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1408,9 +1408,6 @@ int lbs_start_card(struct lbs_private *priv)
if (ret)
goto done;

/* init 802.11d */
lbs_init_11d(priv);

if (lbs_cfg_register(priv)) {
lbs_pr_err("cannot register device\n");
goto done;
Expand Down
22 changes: 3 additions & 19 deletions drivers/net/wireless/libertas/scan.c
Original file line number Diff line number Diff line change
Expand Up @@ -161,31 +161,15 @@ static int lbs_scan_create_channel_list(struct lbs_private *priv,
scantype = CMD_SCAN_TYPE_ACTIVE;

for (rgnidx = 0; rgnidx < ARRAY_SIZE(priv->region_channel); rgnidx++) {
if (priv->enable11d && (priv->connect_status != LBS_CONNECTED)
&& (priv->mesh_connect_status != LBS_CONNECTED)) {
/* Scan all the supported chan for the first scan */
if (!priv->universal_channel[rgnidx].valid)
continue;
scanregion = &priv->universal_channel[rgnidx];

/* clear the parsed_region_chan for the first scan */
memset(&priv->parsed_region_chan, 0x00,
sizeof(priv->parsed_region_chan));
} else {
if (!priv->region_channel[rgnidx].valid)
continue;
scanregion = &priv->region_channel[rgnidx];
}
if (!priv->region_channel[rgnidx].valid)
continue;
scanregion = &priv->region_channel[rgnidx];

for (nextchan = 0; nextchan < scanregion->nrcfp; nextchan++, chanidx++) {
struct chanscanparamset *chan = &scanchanlist[chanidx];

cfp = scanregion->CFP + nextchan;

if (priv->enable11d)
scantype = lbs_get_scan_type_11d(cfp->channel,
&priv->parsed_region_chan);

if (scanregion->band == BAND_B || scanregion->band == BAND_G)
chan->radiotype = CMD_SCAN_RADIO_TYPE_BG;

Expand Down
58 changes: 10 additions & 48 deletions drivers/net/wireless/libertas/wext.c
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,6 @@ struct chan_freq_power *lbs_find_cfp_by_band_and_channel(
for (j = 0; !cfp && (j < ARRAY_SIZE(priv->region_channel)); j++) {
rc = &priv->region_channel[j];

if (priv->enable11d)
rc = &priv->universal_channel[j];
if (!rc->valid || !rc->CFP)
continue;
if (rc->band != band)
Expand Down Expand Up @@ -106,8 +104,6 @@ static struct chan_freq_power *find_cfp_by_band_and_freq(
for (j = 0; !cfp && (j < ARRAY_SIZE(priv->region_channel)); j++) {
rc = &priv->region_channel[j];

if (priv->enable11d)
rc = &priv->universal_channel[j];
if (!rc->valid || !rc->CFP)
continue;
if (rc->band != band)
Expand Down Expand Up @@ -546,8 +542,6 @@ static int lbs_get_range(struct net_device *dev, struct iw_request_info *info,
struct chan_freq_power *cfp;
u8 rates[MAX_RATES + 1];

u8 flag = 0;

lbs_deb_enter(LBS_DEB_WEXT);

dwrq->length = sizeof(struct iw_range);
Expand All @@ -569,52 +563,21 @@ static int lbs_get_range(struct net_device *dev, struct iw_request_info *info,

range->scan_capa = IW_SCAN_CAPA_ESSID;

if (priv->enable11d &&
(priv->connect_status == LBS_CONNECTED ||
priv->mesh_connect_status == LBS_CONNECTED)) {
u8 chan_no;
u8 band;

struct parsed_region_chan_11d *parsed_region_chan =
&priv->parsed_region_chan;

if (parsed_region_chan == NULL) {
lbs_deb_wext("11d: parsed_region_chan is NULL\n");
goto out;
}
band = parsed_region_chan->band;
lbs_deb_wext("band %d, nr_char %d\n", band,
parsed_region_chan->nr_chan);

for (j = 0; (range->num_frequency < IW_MAX_FREQUENCIES)
&& (j < ARRAY_SIZE(priv->region_channel)); j++) {
cfp = priv->region_channel[j].CFP;
for (i = 0; (range->num_frequency < IW_MAX_FREQUENCIES)
&& (i < parsed_region_chan->nr_chan); i++) {
chan_no = parsed_region_chan->chanpwr[i].chan;
lbs_deb_wext("chan_no %d\n", chan_no);
range->freq[range->num_frequency].i = (long)chan_no;
&& priv->region_channel[j].valid
&& cfp
&& (i < priv->region_channel[j].nrcfp); i++) {
range->freq[range->num_frequency].i =
(long)cfp->channel;
range->freq[range->num_frequency].m =
(long)lbs_chan_2_freq(chan_no) * 100000;
(long)cfp->freq * 100000;
range->freq[range->num_frequency].e = 1;
cfp++;
range->num_frequency++;
}
flag = 1;
}
if (!flag) {
for (j = 0; (range->num_frequency < IW_MAX_FREQUENCIES)
&& (j < ARRAY_SIZE(priv->region_channel)); j++) {
cfp = priv->region_channel[j].CFP;
for (i = 0; (range->num_frequency < IW_MAX_FREQUENCIES)
&& priv->region_channel[j].valid
&& cfp
&& (i < priv->region_channel[j].nrcfp); i++) {
range->freq[range->num_frequency].i =
(long)cfp->channel;
range->freq[range->num_frequency].m =
(long)cfp->freq * 100000;
range->freq[range->num_frequency].e = 1;
cfp++;
range->num_frequency++;
}
}
}

lbs_deb_wext("IW_MAX_FREQUENCIES %d, num_frequency %d\n",
Expand Down Expand Up @@ -699,7 +662,6 @@ static int lbs_get_range(struct net_device *dev, struct iw_request_info *info,
| IW_ENC_CAPA_CIPHER_CCMP;
}

out:
lbs_deb_leave(LBS_DEB_WEXT);
return 0;
}
Expand Down

0 comments on commit d37b4fd

Please sign in to comment.