Search Linux Wireless

Re: 答复: about Mac80211 scan issue

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

 



On Thu, Feb 10, 2011 at 03:03:57PM +0800, æææ wrote:
> > I'm not sure if I understand problem you described. Anyway, 
> > maybe is enaugh to implement ->flush() in rtlwifi to solve 
> > the problem?
> 
> I don't think drv_flush in ieee80211_start_sw_scan is needed, because
> there's no netif_tx_stop_all_queues before it.
> And on my test, all queues still send skb to driver in this drv_flush.

Hmm, there must be something wrong ... there is netif_tx_stop_all_queues
when interface is not MONITOR. Below are corresponding code snippets:

static void ieee80211_scan_state_leave_oper_channel(struct ieee80211_local *local,
                                                    unsigned long *next_delay)
{
        /* PS will already be in off-channel mode,
         * we do that once at the beginning of scanning.
         */
        ieee80211_offchannel_stop_vifs(local, false);

        /*
         * What if the nullfunc frames didn't arrive?
         */
        drv_flush(local, false);

....

void ieee80211_offchannel_stop_vifs(struct ieee80211_local *local,
                                    bool offchannel_ps_enable)
{
        struct ieee80211_sub_if_data *sdata;

        /*
         * notify the AP about us leaving the channel and stop all
         * STA interfaces.
         */
        mutex_lock(&local->iflist_mtx);
        list_for_each_entry(sdata, &local->interfaces, list) {
                if (!ieee80211_sdata_running(sdata))
                        continue;

                if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
                        set_bit(SDATA_STATE_OFFCHANNEL, &sdata->state);
...
                if (sdata->vif.type != NL80211_IFTYPE_MONITOR) {
                        netif_tx_stop_all_queues(sdata->dev);
              
--
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