Search Linux Wireless

Re: [RFC] Handle Channel Switch Announcement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2008-12-17 at 20:25 +0530, Sujith wrote:

> + * @IEEE80211_CHAN_CSA_DISABLED: Disabled because a
> +	Channel Switch Announcement was received on this channel.

I agree with Jouni, this is probably not a good idea, especially since
this flag would be shared between hardware for those drivers that have
the channel structs allocated statically. We should probably just stick
a struct ieee80211_channel *switch_from; pointer somewhere into the
sdata struct or so.

> --- a/net/mac80211/rx.c
> +++ b/net/mac80211/rx.c
> @@ -1612,6 +1612,13 @@ ieee80211_rx_h_action(struct ieee80211_rx_data *rx)
>  				return RX_DROP_MONITOR;
>  			ieee80211_process_measurement_req(sdata, mgmt, len);
>  			break;
> +		case WLAN_ACTION_SPCT_CHL_SWITCH:
> +			if (len < (IEEE80211_MIN_ACTION_SIZE +
> +				   sizeof(mgmt->u.action.u.chan_switch)))
> +				return RX_DROP_MONITOR;
> +			ieee80211_process_chanswitch(sdata,
> +				     &mgmt->u.action.u.chan_switch.sw_elem);

I think I'd like to have them dropped to monitor for !station here,
instead of silently in the processing function.

> +
> +void ieee80211_chswitch_timer(unsigned long data)
> +{
> +	struct ieee80211_bss *bss;
> +	struct ieee80211_sub_if_data *sdata =
> +		(struct ieee80211_sub_if_data *) data;
> +	struct ieee80211_if_sta *ifsta = &sdata->u.sta;
> +
> +	printk("expire\n");

That should probably be removed or be more specific & protected by some
debug #ifdef.

> +void ieee80211_process_chanswitch(struct ieee80211_sub_if_data *sdata,
> +				  struct ieee80211_channel_sw_ie *sw_elem)


> +	} else {
> +		ieee80211_stop_queues(&sdata->local->hw);

Can you rebase this on top of Kalle's patch that adds the "stop reasons"
for each queue? As it is now, the driver could wake up the queues again
if one was full.

johannes

--
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

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux