Merge tag 'wireless-drivers-next-for-davem-2016-07-13' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
Kalle Valo says: ==================== wireless-drivers-next patches for 4.8 Major changes: iwlwifi * more work on the RX path for the 9000 device series * some more dynamic queue allocation work * SAR BIOS implementation * some work on debugging capabilities * added support for GCMP encryption * data path rework in preparation for new HW * some cleanup to remove transport dependency on mac80211 * support for MSIx in preparation for new HW * lots of work in preparation for HW support (9000 and a000 series) mwifiex * implement get_tx_power and get_antenna cfg80211 operation callbacks wl18xx * add support for 64bit clock rtl8xxxu * aggregation support (optional for now) Also wireless-drivers is merged to fix some conflicts. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1896,7 +1896,8 @@ mwifiex_active_scan_req_for_passive_chan(struct mwifiex_private *priv)
|
||||
u8 id = 0;
|
||||
struct mwifiex_user_scan_cfg *user_scan_cfg;
|
||||
|
||||
if (adapter->active_scan_triggered || !priv->scan_request) {
|
||||
if (adapter->active_scan_triggered || !priv->scan_request ||
|
||||
priv->scan_aborting) {
|
||||
adapter->active_scan_triggered = false;
|
||||
return 0;
|
||||
}
|
||||
@@ -1964,6 +1965,7 @@ static void mwifiex_check_next_scan_command(struct mwifiex_private *priv)
|
||||
"info: notifying scan done\n");
|
||||
cfg80211_scan_done(priv->scan_request, &info);
|
||||
priv->scan_request = NULL;
|
||||
priv->scan_aborting = false;
|
||||
} else {
|
||||
priv->scan_aborting = false;
|
||||
mwifiex_dbg(adapter, INFO,
|
||||
@@ -1989,6 +1991,7 @@ static void mwifiex_check_next_scan_command(struct mwifiex_private *priv)
|
||||
"info: aborting scan\n");
|
||||
cfg80211_scan_done(priv->scan_request, &info);
|
||||
priv->scan_request = NULL;
|
||||
priv->scan_aborting = false;
|
||||
} else {
|
||||
priv->scan_aborting = false;
|
||||
mwifiex_dbg(adapter, INFO,
|
||||
@@ -2009,6 +2012,37 @@ static void mwifiex_check_next_scan_command(struct mwifiex_private *priv)
|
||||
return;
|
||||
}
|
||||
|
||||
void mwifiex_cancel_scan(struct mwifiex_adapter *adapter)
|
||||
{
|
||||
struct mwifiex_private *priv;
|
||||
unsigned long cmd_flags;
|
||||
int i;
|
||||
|
||||
mwifiex_cancel_pending_scan_cmd(adapter);
|
||||
|
||||
if (adapter->scan_processing) {
|
||||
spin_lock_irqsave(&adapter->mwifiex_cmd_lock, cmd_flags);
|
||||
adapter->scan_processing = false;
|
||||
spin_unlock_irqrestore(&adapter->mwifiex_cmd_lock, cmd_flags);
|
||||
for (i = 0; i < adapter->priv_num; i++) {
|
||||
priv = adapter->priv[i];
|
||||
if (!priv)
|
||||
continue;
|
||||
if (priv->scan_request) {
|
||||
struct cfg80211_scan_info info = {
|
||||
.aborted = true,
|
||||
};
|
||||
|
||||
mwifiex_dbg(adapter, INFO,
|
||||
"info: aborting scan\n");
|
||||
cfg80211_scan_done(priv->scan_request, &info);
|
||||
priv->scan_request = NULL;
|
||||
priv->scan_aborting = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* This function handles the command response of scan.
|
||||
*
|
||||
|
Fai riferimento in un nuovo problema
Block a user