Oops, i mistakenly sent as attachment, please see my comments below. On Mon, Jan 05, 2009 at 04:42:34PM +0530, Johannes Berg wrote: > > I think I'd prefer that to be written as > > if (!scanning && power_constr_level) > power = ... - ... > else > power = chan->max_power; > > Also, I don't understand the subtraction? And why are you checking > only > for sw scanning and not hw scanning? I think driver should handle in case of hw_scanning. > > + > > + if ((*pwr_constr_elem <= conf->channel->max_power) && > > + (*pwr_constr_elem != conf->power_constr_level)) { > > + conf->power_constr_level = *pwr_constr_elem; > > + ieee80211_hw_config(sdata->local, 0); > > That needs a changed flag, no? No, ieee80211_hw_config() will take care. >And how does the subtraction make sense > like this? The spec talks about the country element's max power, > and > then subtracting this, to get the local power, but if the local > power > was set lower than that then we shouldn't subtract even more, no? This is more concervative way of processing power constraint. Yeah, you are correct that we might be setting lower tx power than the allowed one when we subtract power constraint from already min power (of reg data base and 11d ie) instead of only power limit advertised in 11d ie, but this situation is uncommon. Vasanth -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html