wlcore: ROC on AP channel before auth reply

Start a ROC on the AP channel beforing sending the authentication reply
to a connecting STA. This ROC is held up to 1 second via a timer. If the
station is authorized and added by mac80211, the ROC is extended until
the station is fully authorized.
We make sure not to ROC twice when several stations are connecting in
parallel and to only release the ROC when both the pending-reply timer
and the STA-state callbacks do not require it.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: cancel channel switch work on interface removal

Otherwise, if the work is pending, we might get a bad dereference after
the interface is removed.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: introduce "suspended" wlcore state

In the suspend handler, complete all pending works and move to the
new "suspended" state. Any time based (per vif) code operating in
this state will quit before accessing the FW. This prevents crashes
when the device is suspended.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
wlcore: hold jiffies in unsigned long

u32 can be incorrect (too small) for some architectures.

Signed-off-by: Arik Nemtsov <arik@wizery.com>