qcacld-3.0: Integrate DSC (cfg80211)
As part of DSC integration, replace remaining cds_ssr_protect/unprotect with appropriate osif_sync op start/stop calls in cfg80211 callback handlers. Change-Id: Ie5c513e8ca51668d0ac7e2972e6db1556057f314 CRs-Fixed: 2410851
This commit is contained in:
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -222,13 +223,18 @@ int wlan_hdd_cfg80211_set_limit_offchan_param(struct wiphy *wiphy,
|
|||||||
const void *data, int data_len)
|
const void *data, int data_len)
|
||||||
|
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_set_limit_offchan_param(wiphy, wdev, data,
|
if (errno)
|
||||||
|
return errno;
|
||||||
|
|
||||||
|
errno = __wlan_hdd_cfg80211_set_limit_offchan_param(wiphy, wdev, data,
|
||||||
data_len);
|
data_len);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -259,13 +260,18 @@ int wlan_hdd_cfg80211_fetch_bss_transition_status(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_fetch_bss_transition_status(wiphy, wdev,
|
if (errno)
|
||||||
|
return errno;
|
||||||
|
|
||||||
|
errno = __wlan_hdd_cfg80211_fetch_bss_transition_status(wiphy, wdev,
|
||||||
data, data_len);
|
data, data_len);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2965,16 +2965,19 @@ void wlan_hdd_undo_acs(struct hdd_adapter *adapter)
|
|||||||
*
|
*
|
||||||
* Return: None
|
* Return: None
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void wlan_hdd_cfg80211_start_pending_acs(struct work_struct *work)
|
static void wlan_hdd_cfg80211_start_pending_acs(struct work_struct *work)
|
||||||
{
|
{
|
||||||
struct hdd_adapter *adapter = container_of(work, struct hdd_adapter,
|
struct hdd_adapter *adapter = container_of(work, struct hdd_adapter,
|
||||||
acs_pending_work.work);
|
acs_pending_work.work);
|
||||||
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
|
||||||
|
if (osif_vdev_sync_op_start(adapter->dev, &vdev_sync))
|
||||||
|
return;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
|
||||||
wlan_hdd_cfg80211_start_acs(adapter);
|
wlan_hdd_cfg80211_start_acs(adapter);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
clear_bit(ACS_PENDING, &adapter->event_flags);
|
clear_bit(ACS_PENDING, &adapter->event_flags);
|
||||||
|
|
||||||
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -132,13 +133,18 @@ int wlan_hdd_cfg80211_get_concurrency_matrix(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_psoc_sync *psoc_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_psoc_sync_op_start(wiphy_dev(wiphy), &psoc_sync);
|
||||||
ret = __wlan_hdd_cfg80211_get_concurrency_matrix(wiphy, wdev,
|
if (errno)
|
||||||
|
return errno;
|
||||||
|
|
||||||
|
errno = __wlan_hdd_cfg80211_get_concurrency_matrix(wiphy, wdev,
|
||||||
data, data_len);
|
data, data_len);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
osif_psoc_sync_op_stop(psoc_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -131,12 +132,17 @@ int wlan_hdd_cfg80211_set_ota_test(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_set_ota_test(wiphy, wdev, data, data_len);
|
if (errno)
|
||||||
cds_ssr_unprotect(__func__);
|
return errno;
|
||||||
|
|
||||||
return ret;
|
errno = __wlan_hdd_cfg80211_set_ota_test(wiphy, wdev, data, data_len);
|
||||||
|
|
||||||
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -250,14 +251,19 @@ int wlan_hdd_cfg80211_p2p_lo_start(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_p2p_lo_start(wiphy, wdev,
|
if (errno)
|
||||||
|
return errno;
|
||||||
|
|
||||||
|
errno = __wlan_hdd_cfg80211_p2p_lo_start(wiphy, wdev,
|
||||||
data, data_len);
|
data, data_len);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -335,13 +341,18 @@ int wlan_hdd_cfg80211_p2p_lo_stop(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_p2p_lo_stop(wiphy, wdev,
|
if (errno)
|
||||||
|
return errno;
|
||||||
|
|
||||||
|
errno = __wlan_hdd_cfg80211_p2p_lo_stop(wiphy, wdev,
|
||||||
data, data_len);
|
data, data_len);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -163,13 +164,18 @@ int
|
|||||||
wlan_hdd_cfg80211_monitor_rssi(struct wiphy *wiphy, struct wireless_dev *wdev,
|
wlan_hdd_cfg80211_monitor_rssi(struct wiphy *wiphy, struct wireless_dev *wdev,
|
||||||
const void *data, int data_len)
|
const void *data, int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_monitor_rssi(wiphy, wdev, data, data_len);
|
if (errno)
|
||||||
cds_ssr_unprotect(__func__);
|
return errno;
|
||||||
|
|
||||||
return ret;
|
errno = __wlan_hdd_cfg80211_monitor_rssi(wiphy, wdev, data, data_len);
|
||||||
|
|
||||||
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
void hdd_rssi_threshold_breached(hdd_handle_t hdd_handle,
|
void hdd_rssi_threshold_breached(hdd_handle_t hdd_handle,
|
||||||
|
@@ -541,13 +541,18 @@ int wlan_hdd_cfg80211_conditional_chan_switch(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_conditional_chan_switch(wiphy, wdev,
|
if (errno)
|
||||||
|
return errno;
|
||||||
|
|
||||||
|
errno = __wlan_hdd_cfg80211_conditional_chan_switch(wiphy, wdev,
|
||||||
data, data_len);
|
data, data_len);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -309,12 +310,17 @@ int wlan_hdd_cfg80211_get_sar_power_limits(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_psoc_sync *psoc_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_psoc_sync_op_start(wiphy_dev(wiphy), &psoc_sync);
|
||||||
ret = __wlan_hdd_get_sar_power_limits(wiphy, wdev, data, data_len);
|
if (errno)
|
||||||
cds_ssr_unprotect(__func__);
|
return errno;
|
||||||
|
|
||||||
return ret;
|
errno = __wlan_hdd_get_sar_power_limits(wiphy, wdev, data, data_len);
|
||||||
|
|
||||||
|
osif_psoc_sync_op_stop(psoc_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -1233,12 +1234,17 @@ int32_t hdd_cfg80211_get_station_cmd(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __hdd_cfg80211_get_station_cmd(wiphy, wdev, data, data_len);
|
if (errno)
|
||||||
cds_ssr_unprotect(__func__);
|
return errno;
|
||||||
|
|
||||||
return ret;
|
errno = __hdd_cfg80211_get_station_cmd(wiphy, wdev, data, data_len);
|
||||||
|
|
||||||
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1555,13 +1555,18 @@ int wlan_hdd_cfg80211_ll_stats_get(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_ll_stats_get(wiphy, wdev, data, data_len);
|
if (errno)
|
||||||
cds_ssr_unprotect(__func__);
|
return errno;
|
||||||
|
|
||||||
return ret;
|
errno = __wlan_hdd_cfg80211_ll_stats_get(wiphy, wdev, data, data_len);
|
||||||
|
|
||||||
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct
|
const struct
|
||||||
|
@@ -23,6 +23,7 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "osif_sync.h"
|
||||||
#include <wlan_hdd_includes.h>
|
#include <wlan_hdd_includes.h>
|
||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/skbuff.h>
|
#include <linux/skbuff.h>
|
||||||
@@ -102,14 +103,18 @@ int wlan_hdd_cfg80211_txpower_scale(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_txpower_scale(wiphy, wdev,
|
if (errno)
|
||||||
data, data_len);
|
return errno;
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
errno = __wlan_hdd_cfg80211_txpower_scale(wiphy, wdev, data, data_len);
|
||||||
|
|
||||||
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct nla_policy txpower_scale_decr_db_policy
|
static const struct nla_policy txpower_scale_decr_db_policy
|
||||||
@@ -180,13 +185,18 @@ int wlan_hdd_cfg80211_txpower_scale_decr_db(struct wiphy *wiphy,
|
|||||||
const void *data,
|
const void *data,
|
||||||
int data_len)
|
int data_len)
|
||||||
{
|
{
|
||||||
int ret;
|
struct osif_vdev_sync *vdev_sync;
|
||||||
|
int errno;
|
||||||
|
|
||||||
cds_ssr_protect(__func__);
|
errno = osif_vdev_sync_op_start(wdev->netdev, &vdev_sync);
|
||||||
ret = __wlan_hdd_cfg80211_txpower_scale_decr_db(wiphy, wdev,
|
if (errno)
|
||||||
|
return errno;
|
||||||
|
|
||||||
|
errno = __wlan_hdd_cfg80211_txpower_scale_decr_db(wiphy, wdev,
|
||||||
data, data_len);
|
data, data_len);
|
||||||
cds_ssr_unprotect(__func__);
|
|
||||||
|
|
||||||
return ret;
|
osif_vdev_sync_op_stop(vdev_sync);
|
||||||
|
|
||||||
|
return errno;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user