> + * > + * When hardware connection monitoring is enabled with > + * IEEE80211_HW_CONNECTION_MONITOR, this function will cause immediate change > + * to disassociated state, without connection recovery attempts. Tiny detail: putting a % in front of constants formats them nicer in the html output. > +static void ieee80211_beacon_loss_disassoc(struct ieee80211_sub_if_data *sdata) > +{ I can see where you're coming from, but maybe this should be more like ieee80211_driver_notify_disconnect() or something like that? > + printk(KERN_DEBUG "Beacon loss from AP %pM, " > + "disconnected.\n", bssid); printk lines are allowed to pass 80 chars to make grep easier. Also I really think this should be more like "Connection to AP %pM lost." or something like that? > void ieee80211_beacon_loss_work(struct work_struct *work) > { > struct ieee80211_sub_if_data *sdata = > container_of(work, struct ieee80211_sub_if_data, > u.mgd.beacon_loss_work); > > - ieee80211_mgd_probe_ap(sdata, true); > + if (sdata->local->hw.flags & IEEE80211_HW_CONNECTION_MONITOR) > + ieee80211_beacon_loss_disassoc(sdata); > + else > + ieee80211_mgd_probe_ap(sdata, true); > } And I'm actually wondering now if using the same API is a good idea. Yes, it makes some sense, but it's quite different yet? Maybe we should have something like this: static inline void ieee80211_beacon_loss(hw, vif) { WARN_ON(hw->flags & IEEE80211_HW_CONNECTION_MONITOR); __ieee80211_beacon_connection_loss(vif); } static inline void ieee80211_connection_loss(hw, vif) { WARN_ON(!(hw->flags & IEEE80211_HW_CONNECTION_MONITOR)); __ieee80211_beacon_connection_loss(vif); } to make at least the external API easier to understand? johannes -- 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