<div class="gmail_quote">On Wed, Mar 10, 2010 at 1:25 PM, Jouni Malinen <span dir="ltr">&lt;<a href="mailto:j@w1.fi">j@w1.fi</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Mon, Mar 08, 2010 at 12:27:22PM -0800, Dmitry Shmidt wrote:<br>
<br>
&gt; Let&#39;s assume we are switching from one network (AP) to another.<br>
&gt; What I see that we got first DISCONNECT event, then ASSOCIATING, and then we<br>
&gt; may get another DISCONNECT event.<br>
&gt; It happens probably because single-threaded wpa_supplicant can process<br>
&gt; messages when it can.<br>
&gt; Network manager get first DISCONNECT event and schedules to do something.<br>
&gt; Then it gets another one (the same actually from network perspective) and<br>
&gt; schedules another &quot;disconnect&quot; procedure that may take place after we were<br>
&gt; already associated with another network.<br>
<br>
</div>Are you saying that the network manager would send new commands between<br>
the two DISCONNECT events to request a connection with another network?<br>
And the problem is with there not being enough information to be able to<br>
figure out which connection is being &quot;disconnected&quot;?<br></blockquote><div><br>Yes<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div class="im"><br>
&gt; So my point is that double-disconnect event doesn&#39;t help the system to be<br>
&gt; more robust. You may raise an objection that network manager should take<br>
&gt; care of it. But there is no way for network manager to know if it is &quot;old&quot;<br>
&gt; DISCONNECT or new one when we failed with new network.<br>
<br>
</div>This is different event than the one your proposed patch for trying to<br>
suppress.. I do not think I would support the proposed change (suppress<br>
the event in driver_wext.c), but I could consider a change to make sure<br>
the DISCONNECT ctrl_interface event (or D-Bus for that matter if<br>
applicable) is of more use to external programs.<br></blockquote><div><br>The problem is that WEXT distinguishes between EVENT_ASSOC and EVENT_DISASSOC if BSSID is set or 0.<br>So there is no easy way to understand if this is DISASSOC from &quot;old&quot; BSSID or new one<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<font color="#888888"><br>
--<br>
</font><div><div></div><div class="h5">Jouni Malinen                                            PGP id EFC895FA<br>
_______________________________________________<br>
HostAP mailing list<br>
<a href="mailto:HostAP@lists.shmoo.com">HostAP@lists.shmoo.com</a><br>
<a href="http://lists.shmoo.com/mailman/listinfo/hostap" target="_blank">http://lists.shmoo.com/mailman/listinfo/hostap</a><br>
</div></div></blockquote></div><br>