Search Linux Wireless

Re: [PATCH v3 1/2] mac80211: use nullfunc instead of probe request for connection monitoring

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

 



A couple of issues here, I think.

On Fri, Nov 19, 2010 at 5:54 PM, Felix Fietkau <nbd@xxxxxxxxxxx> wrote:
> --- a/net/mac80211/mlme.c
> +++ b/net/mac80211/mlme.c
[...]
> +void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata,
> +                            struct ieee80211_hdr *hdr)
> +{
> +       if (!ieee80211_is_data(hdr->frame_control) &&
> +           !ieee80211_is_nullfunc(hdr->frame_control))
> +           return;
> +
> +       ieee80211_sta_reset_conn_monitor(sdata);
> +
> +       if (ieee80211_is_nullfunc(hdr->frame_control)) {

Could you also add a "&& sdata->u.mgd.probe_send_count = 0" condition
here, or the BEACON/CONNECTION poll test to reduce the number of times
we queue work here?  Or should this work be done on every ACKed
nullfunc?

> +               sdata->u.mgd.probe_send_count = 0;
> +               ieee80211_queue_work(&sdata->local->hw, &sdata->work);
> +       }
> +}
> +
>  static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata)
>  {
>        struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
> @@ -1882,6 +1916,10 @@ void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata)
>            ifmgd->associated) {
>                u8 bssid[ETH_ALEN];
>
> +               /* ACK received for nullfunc probing frame */
> +               if (!ifmgd->probe_send_count)
> +                       ieee80211_reset_ap_probe(sdata);
> +

Yeah, but then it looks like we'd end up falling through to the
"ifmgd->probe_send_count < IEEE80211_MAX_PROBE_TRIES" case later in
this block, and send another probe!  Not good.

>                memcpy(bssid, ifmgd->associated->bssid, ETH_ALEN);
>                if (time_is_after_jiffies(ifmgd->probe_timeout))
>                        run_again(ifmgd, ifmgd->probe_timeout);

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