On Tue, Apr 01, 2008 at 08:48:48AM +0200, Holger Schurig wrote: > > Won't this call block? You can't block in the get_wireless > > handler (it holds the rtnl lock). See wext_handle_ioctl. > > Yes, this blocks. > > So you mean that when I cannot get a current RSSI value at this > time I have to re-use some old value? All I mean is that get_wireless_stats should not schedule() because it holds the rtnl_lock. You get ugly hangs doing that. > The older code used this > schema: > > > when associated: > get rssi in-the-background and store it away > > when AdHoc network created: > get rssi in-the-background and store it away > > > in lbs_get_wireless_stats() > use stored away RSSI value > get rssi in-the-background and store it away > > > The problem with this scheme is that the "stored away RSSI" might > be an hour ago. So the first call to to get the wireless stats > gives you back a blatant lie. > > Do you see a way around this? Either live with the fact that you need to query the driver a few times for a reliable result or add a timer to periodically update RSSI. -- 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