Search Linux Wireless

Re: [PATCH] wl12xx: Add support for HW channel switch

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

 



On Thu, 2011-09-22 at 16:36 +0300, Luciano Coelho wrote: 
> On Thu, 2011-09-08 at 13:01 +0300, Shahar Levi wrote: 
> > WL12xx FW supports HW channel switch mechanism.
> > Add HW channel switch support via channel_switch ops.
> > 
> > Signed-off-by: Shahar Levi <shahar_levi@xxxxxx>
> > ---
> 
> [...]
> 
> > +static void wl12xx_op_channel_switch(struct ieee80211_hw *hw,
> > +				     struct ieee80211_channel_switch *ch_switch)
> > +{
> > +	struct wl1271 *wl = hw->priv;
> > +	int ret;
> > +
> > +	wl1271_debug(DEBUG_MAC80211, "mac80211 channel switch");
> > +
> > +	mutex_lock(&wl->mutex);
> > +
> > +	if (unlikely(wl->state == WL1271_STATE_OFF)) {
> > +		mutex_unlock(&wl->mutex);
> > +		ieee80211_chswitch_done(wl->vif, false);
> > +		return;
> > +	}
> > +
> > +	ret = wl1271_ps_elp_wakeup(wl);
> > +	if (ret < 0)
> > +		goto out;
> > +
> > +	/* send all pending packets */
> > +	wl1271_tx_work_locked(wl);
> 
> Is this really needed? Can anyone tell why?

I checked this a bit further and I don't see the point in sending all
packets here.  In fact, if block_tx is set, we can't even send any more
frames until the switch happens (or fails).  So we should at least check
this here.

I'm leaving this patch out for now until I understand this better.

-- 
Cheers,
Luca.

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