On 2008?11?03? 06:45, James Carlson wrote:
> As part of investigating the troubles behind CR 6764186, Pengcheng
> Chen found that dladm_wlan_scan can wipe out a connected interface
> rather unexpectedly.
>
> The current dladm_wlan_scan() code does this before starting the scan:
>
> status = do_get_linkstatus(linkid, &wl_status, sizeof (wl_status));
>
> and then this after completion:
>
> if (wl_status != WL_CONNECTED) {
> status = do_get_linkstatus(linkid, &wl_status,
> sizeof (&wl_status));
> if (status != DLADM_STATUS_OK)
> goto done;
> if (wl_status == WL_CONNECTED)
> (void) do_disconnect(linkid, buf, sizeof (buf));
>
> Variations on this logic appear to have been in the code since the
> very first integration as part of PSARC 2007/140. The effect of this
> code is that if we become connected while the scan is running, we
> immediately disconnect after the scan is done.
>
> What isn't clear is why the code needs to do this. The questions this
> brings up are:
>
> - What was the original purpose of this code? Does anyone remember?
> I can't seem to find a CR related to this code.
>
> - Do (or should) the wireless drivers support running a scan at the
> same time that connect is requested? If not, then whose
> responsibility should it be to ensure serialization of these
> operations?
>
> Any hints or pointers welcome.
>
I don't know the reason behind this, but it seems the code like this the
first day when it is introduced by PSARC/2006/406. I am copying to Judy
and see whether see knows the answer.
Thanks
- Cathy
_______________________________________________
networking-discuss mailing list
[email protected]