Re: [RFC PATCH 0/3] mac80211 dissasociation

Johannes Berg
2008-09-08T08:30:12Z

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

On Mon, 2008-09-08 at 11:18 +0300, Tomas Winkler wrote:
> On Mon, Sep 8, 2008 at 10:58 AM, Johannes Berg
> <johannes@sipsolutions.net> wrote:
> > On Mon, 2008-09-08 at 02:14 +0300, Tomas Winkler wrote:
> >
> >> why I'm hitting unathorized prot messag for subif_start_xmit.
> >> Shouldn't carrier_off(stada->dev) stop the queue? I haven't seen this
> >
> > and no, netif_carrier_off() doesn't immediately stop the queues, it just
> > schedules the link watch which will _eventually_ remove the qdiscs and
> > attach the noop qdisc.
>
> So what you are saying this is expected behavior?

Sort of, yes.

> Please remember I'm testing the disassociation
> 1. AP is should down
> 2. Switching to another AP -> Legacy <-> HT
> 3. WPA supplicnat (it uses ieee80211_ioctl_siwmlme)
> 4. The BA tear down will be unfortunately untested, for now

When you shut down the AP, it probably sends you a deauth. Frames we
want to send out for it might still be pending in our queue. Since
you're removing the sta_info for it right away and not stopping queues,
you get the "unauthorized port" message because there's no sta_info
struct.

The reason you haven't seen that before is that the sta_info wasn't
deleted, so we could still send out a few frames before
netif_carrier_down took effect.

To fix it, we probably want to simply stop the queue for that subif too.

johannes

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 836 bytes --]