summaryrefslogtreecommitdiff
path: root/drivers/staging/vt6656/wcmd.c
diff options
context:
space:
mode:
authorMalcolm Priestley <tvboxspy@gmail.com>2014-02-19 19:34:18 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-24 16:55:41 -0800
commitedd20e964072e1bfccee06362e55148d6a1117b5 (patch)
tree1a85bb08bbd9842c57846bb40962156490713739 /drivers/staging/vt6656/wcmd.c
parentf764e00d16495800526fbfb4dc03160e64c9081a (diff)
staging: vt6656: Move device_set_multi code call to vRunCommand
device_set_multi is an atomic call, in order to reduce atomic area of driver move code to be called from vRunCommand. Later the atomic area of vRunCommand can be reduced. Change existing code in device_set_multi to new function vnt_configure_filter minus its locks. Change device_set_multi to call bScheduleCommand device_set_multi is nolonger called from device open. Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/vt6656/wcmd.c')
-rw-r--r--drivers/staging/vt6656/wcmd.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/staging/vt6656/wcmd.c b/drivers/staging/vt6656/wcmd.c
index 6b9522914634..8c702c379739 100644
--- a/drivers/staging/vt6656/wcmd.c
+++ b/drivers/staging/vt6656/wcmd.c
@@ -909,6 +909,10 @@ void vRunCommand(struct work_struct *work)
s_bCommandComplete(pDevice);
break;
+ case WLAN_CMD_CONFIGURE_FILTER_START:
+ vnt_configure_filter(pDevice);
+ s_bCommandComplete(pDevice);
+ break;
default:
s_bCommandComplete(pDevice);
break;
@@ -1009,6 +1013,11 @@ static int s_bCommandComplete(struct vnt_private *pDevice)
pDevice->eCommandState = WLAN_CMD_11H_CHSW_START;
break;
+ case WLAN_CMD_CONFIGURE_FILTER:
+ pDevice->eCommandState =
+ WLAN_CMD_CONFIGURE_FILTER_START;
+ break;
+
default:
break;
}