summaryrefslogtreecommitdiffstats
path: root/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
diff options
context:
space:
mode:
authorAjay Singh2018-12-02 19:02:59 +0100
committerGreg Kroah-Hartman2018-12-05 09:49:45 +0100
commitdaf0483e1ca3ffc27b0024a815557bfa70120cb6 (patch)
treeb5f288f37fadb2d702c6db169d1629c62c55d115 /drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
parentstaging: wilc1000: refactor wilc_hif_set_cfg() to avoid deferred handling (diff)
downloadkernel-qcow2-linux-daf0483e1ca3ffc27b0024a815557bfa70120cb6.tar.gz
kernel-qcow2-linux-daf0483e1ca3ffc27b0024a815557bfa70120cb6.tar.xz
kernel-qcow2-linux-daf0483e1ca3ffc27b0024a815557bfa70120cb6.zip
staging: wilc1000: handle station dump cfg ops from cfg80211 context
Refactor code to handle dump_station() callback from cfg80211 context. Instead of deferring issue of wid command now send it directly from cfg context. Also making use of wilc_get_rssi() error status in case there is a failure to post the wid command to the firmware. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/wilc1000/wilc_wfi_cfgoperations.c')
-rw-r--r--drivers/staging/wilc1000/wilc_wfi_cfgoperations.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
index 18370eff7ecf..4802ce9c5428 100644
--- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
+++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c
@@ -1659,13 +1659,16 @@ static int dump_station(struct wiphy *wiphy, struct net_device *dev,
{
struct wilc_priv *priv = wiphy_priv(wiphy);
struct wilc_vif *vif = netdev_priv(priv->dev);
+ int ret;
if (idx != 0)
return -ENOENT;
sinfo->filled |= BIT_ULL(NL80211_STA_INFO_SIGNAL);
- wilc_get_rssi(vif, &sinfo->signal);
+ ret = wilc_get_rssi(vif, &sinfo->signal);
+ if (ret)
+ return ret;
memcpy(mac, priv->associated_bss, ETH_ALEN);
return 0;