mac80211: dynamic short slot time for MBSSs

The standard mandates mesh STAs to set the ERP Short Slot
Time capability info bit in beacons to 0. Even though this
is their way of disallowing short slot time for mesh STAs,
there should be no harm in enabling it if we determine all
STAs in the current MBSS support ERP rates.

Increases throughput about 20% for legacy rates when
enabled.

Signed-off-by: Thomas Pedersen <thomas@cozybit.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
cfg80211: add the new IBSS_STA event

In IBSS mode it could be the case that a station being added is not ready for
starting higher level routines (key exchange when IBSS/RSN is enabled). In
particular, this can happen when we are waiting for the AUTH response message.

This IBSS_STA event is triggered after the NEW_STA one and only when the upper
layer is allowed to start the authentication

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
mac80211: in AD-HOC mode wait for the AUTH response

To prevent race conditions between kernel state and
user-space application knowledge, it is better to wait for
a new peer to be completely authenticated before telling the
userspace that it is ready to start authorization
(IBSS/RSN).

Use the IBSS_STA event to tell userspace when a station is
authenticated and ready.

It could still be the case that the other node joining the
AD-HOC cell does not implement AUTH messages exchange,
therefore a fallback mechanism will authenticate the peer
after a timeout set for the purpose expires

Signed-off-by: Antonio Quartulli <ordex@autistici.org>