Dan Williams wrote: > On Sun, 2008-11-16 at 10:01 +0000, Dave wrote: >> 2. Does the driver need to send a dissociation event (or something) to >> userspace on ifconfig down? > > If the association with the AP is no longer valid, then yes. Most of > the other drivers do this already, I think. I couldn't find in in mac80211, but a few (but not all) of the fullmac drivers seem to do it. Andrey: the attached patch may help, but given what you've written in your other email (which I'll respond to separately), I don't think it will fix things. Note that it's against wireless testing (+ private changes). Should apply cleanly to an older tree after you account for the file move. Regards, Dave. --- diff --git a/drivers/net/wireless/orinoco/orinoco.c b/drivers/net/wireless/orinoco/orinoco.c index f8db026..007d5b8 100644 --- a/drivers/net/wireless/orinoco/orinoco.c +++ b/drivers/net/wireless/orinoco/orinoco.c @@ -2319,7 +2319,21 @@ int __orinoco_down(struct net_device *dev) hermes_set_irqmask(hw, 0); hermes_write_regn(hw, EVACK, 0xffff); } - + + /* If associated, tell userspace we're dropping it */ + if ((priv->last_linkstatus == HERMES_LINKSTATUS_CONNECTED) || + (priv->last_linkstatus == HERMES_LINKSTATUS_AP_CHANGE) || + (priv->last_linkstatus == HERMES_LINKSTATUS_AP_IN_RANGE)) + { + union iwreq_data wrqu; + + wrqu.data.length = 0; + wrqu.data.flags = 0; + wrqu.ap_addr.sa_family = ARPHRD_ETHER; + memset(wrqu.ap_addr.sa_data, 0, ETH_ALEN); + wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL); + } + /* firmware will have to reassociate */ netif_carrier_off(dev); priv->last_linkstatus = 0xffff; -- 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