wlcore: modify version of conf.h

version of conf.h was increased to 3:

to reflect latest change done by commit
f8610ceb ("wlcore: use different dwell times in normal scan")

Signed-off-by: Yair Shapira <yair.shapira@ti.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
wlcore: Prevent interaction with HW after recovery is queued

When a function requests to recover, it would normally abort and will
not send any additional commands to the HW. However, other threads may
not be aware of the failure and could try to communicate with the HW
after a recovery was queued, but before the recovery work began.

Fix this by introducing an intermediate state which is set when recovery
is queued, and modify all state checks accordingly.

Signed-off-by: Ido Yariv <ido@wizery.com>
wlcore: add num tx desc parameter to alloc_hw

Add number of Tx descriptors as new paramter to wlcore_alloc_hw function.

Signed-off-by: Igal Chernobelsky <igalc@ti.com>
wlcore: gather information about firmware stability

It's sometimes useful to gather information about the firmware
stability in long test runs, especially to see if problems are
recurring frequently or not.  With this commit we count the number of
times a hardware recovery was issued and print it out during recovery
and in the driver_state in debugfs.

Signed-off-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Igal Chernobelsky <igalc@ti.com>
add blaze_defconfig (INTERNAL)
mac80211: add op to configure default key id to driver (INTERNAL)

When hw_accel is enabled and encryption type is set to WEP,
the driver should get the default key index from mac80211.

Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
wlcore: set default_wep_key when configured (INTERNAL)

When associating to an AP with WEP set the
default key upon association by implementing
the set_deafult_key_idx op.

Fixes auto-arp sent with wrong key_idx bug.

Signed-off-by: Yoni Divinsky <yoni.divinsky@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
wlcore: android: add wake_locks (INTERNAL)

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
wlcore: android: set "any" trigger by default (INTERNAL)

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
mac80211: don't stop beaconing when going offchannel (INTERNAL)

wl12xx manages the channel per-role, so there is no need
to explicitly stop beaconing when doing offchannel operations,
as the device will take care of it by itself.

This way we avoid redundant stop_ap/start_ap calls when
doing offchannel operations on another vif (e.g. auth)

NOTE: this patch shouldn't go upstream. we have to come up
with more generic multi-channel solution...

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
wlcore/wl18xx/wl12xx: add version and timestamp strings (INTERNAL)

In order to allow better version control, add version
and timestamp strings into the wl12xx module.

These strings will be printed on driver load, and when
reading the driver_state.

(this is not going to work well in compat, because it
copies all the files instead of compiling them in the
original tree, so the version of the compat tree will
appear as the driver version. we can workaround it
with the additional makefile hacks...)

NOTE: I couldn't find how to make one module recompile
when the .h file of another module was changed, so i
just duplicated it for now.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
wlcore: force recheck of version.h and use -dirty if needed (INTERNAL)

If the tree was changed and unstaged or if a new tag was added, we
were not regenerating the version.h file, so it would contain outdated
information.

To fix this, force the version.h file to be rechecked during make and
use __TIMESTAMP__ instead of using the shell's date command, so that
we don't regenerate it everytime.

Additionally, use --dirty in git describe to mark dirty trees as such.

Thanks Eliad for the help with this.

Cc: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>

wlcore/wl12xx/wl18xx: don't force version check everytime (SQUASH)

With compat-wireless, we shouldn't force the version.h file checks,
otherwise it will overwrite what we generated in compat-wireless
itself.  This was only needed for dirty trees anyway.  The side-effect
is that the version will not be regenerated when the tree becomes
dirty.

Should be squashed with c062da59.

Signed-off-by: Luciano Coelho <coelho@ti.com>
wlcore/wl12xx/wl18xx: add version.h to a new .gitignore file (INTERNAL)

This file is generated by the build process and we should not store it.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
nl80211: report stopped sched scan only after driver does (INTERNAL)

Report NL80211_CMD_SCHED_SCAN_STOPPED and change internal
states in cfg80211 only after the driver reports that
sched scan was actually stopped.

Signed-off-by: Luciano Coelho <coelho@ti.com>
nl80211/cfg80211: add 'scan_cancel' command (INTERNAL)

Mostly from an energy consumption and cpu load perspective,
it can be useful to stop a triggered scan earlier, when one
finds the desired scan results.
Adding the ability to stop a scan from user space by exposing
new NL80211_CMD_SCAN_CANCEL API.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
mac80211: add 'scan_cancel' command (INTERNAL)

Implementing the scan_cancel operation in the mac80211,
by calling existing ieee80211_scan_cancel() function.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
nl80211/cfg80211: add intermediate scan result event (INTERNAL)

Adding intermediate scan result event by exposing new
NL80211_CMD_IM_SCAN_RESULT event, which will contain
NL80211_BSS_BSSID to specify the BSSID of received scan result and
NL80211_BSS_SIGNAL_MBM to indicate signal strength.

This event might be optionally enabled during
NL80211_CMD_TRIGGER_SCAN, with NL80211_ATTR_IM_SCAN_RESULT
flag attribute.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
mac80211: add intermediate scan result event call (INTERNAL)

Adding "cfg80211_send_intermediate_result" call on reception
of new beacon/probe response.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
nl80211/cfg80211: add intermediate scan result filter (INTERNAL)

User might want to be notified with intermediate scan results only
above some minimal RSSI. Adding new NL80211_ATTR_IM_SCAN_RESULT_MIN_RSSI
u32 attribute for the intermediate scan results  RSSI filtering mechanism,
which will significantly reduce unnecessary Kernel-User traffic.
It might be optionally enabled during NL80211_CMD_TRIGGER_SCAN.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
nl80211/cfg80211: add new scan configurations attributes (INTERNAL)

To enhance scan abilities by being able to setup some low level
scan parameters dynamically during NL80211_CMD_TRIGGER_SCAN
command.

Exposing 3 new attributes:
  NL80211_ATTR_SCAN_MIN_DWELL: Minimum scan dwell time (in TUs), u32
	attribute to setup minimum time to wait on each channel, if received
	at least one probe response during this period will continue waiting
	%NL80211_ATTR_SCAN_MAX_DWELL, otherwise will move to next channel.
 	This is optional attribute, so if it's not set driver should
	use hardware default values.
  NL80211_ATTR_SCAN_MAX_DWELL: Maximum scan dwell time (in TUs), u32
	attribute to setup maximum time to wait on each channel.
	This is optional attribute, so if it's not set driver should
	use hardware default values.
  NL80211_ATTR_SCAN_NUM_PROBE:  Attribute (u8) to setup number of probe
 	requests to transmit on each active scan channel, used with
	NL80211_CMD_TRIGGER_SCAN command.

These attributes are also required for the beacon reports in the
802.11k standard.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>