Loading drivers/staging/vt6656/wcmd.c +53 −55 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ * s_vProbeChannel - Active scan channel * s_MgrMakeProbeRequest - Make ProbeRequest packet * CommandTimer - Timer function to handle command * s_bCommandComplete - Command Complete function * vnt_cmd_complete - Command Complete function * bScheduleCommand - Push Command and wait Command Scheduler to do * vCommandTimer- Command call back functions * vCommandTimerWait- Call back timer Loading @@ -49,13 +49,61 @@ #include "rf.h" #include "channel.h" static int s_bCommandComplete(struct vnt_private *); static void vCommandTimerWait(struct vnt_private *priv, unsigned long msecs) { schedule_delayed_work(&priv->run_command_work, msecs_to_jiffies(msecs)); } static int vnt_cmd_complete(struct vnt_private *priv) { priv->command_state = WLAN_CMD_IDLE; if (priv->free_cmd_queue == CMD_Q_SIZE) { /* Command Queue Empty */ priv->cmd_running = false; return true; } priv->command = priv->cmd_queue[priv->cmd_dequeue_idx]; ADD_ONE_WITH_WRAP_AROUND(priv->cmd_dequeue_idx, CMD_Q_SIZE); priv->free_cmd_queue++; priv->cmd_running = true; switch (priv->command) { case WLAN_CMD_INIT_MAC80211: priv->command_state = WLAN_CMD_INIT_MAC80211_START; break; case WLAN_CMD_TBTT_WAKEUP: priv->command_state = WLAN_CMD_TBTT_WAKEUP_START; break; case WLAN_CMD_BECON_SEND: priv->command_state = WLAN_CMD_BECON_SEND_START; break; case WLAN_CMD_SETPOWER: priv->command_state = WLAN_CMD_SETPOWER_START; break; case WLAN_CMD_CHANGE_ANTENNA: priv->command_state = WLAN_CMD_CHANGE_ANTENNA_START; break; case WLAN_CMD_11H_CHSW: priv->command_state = WLAN_CMD_11H_CHSW_START; break; default: break; } vCommandTimerWait(priv, 0); return true; } void vRunCommand(struct work_struct *work) { struct vnt_private *priv = Loading Loading @@ -131,61 +179,11 @@ void vRunCommand(struct work_struct *work) break; } //switch s_bCommandComplete(priv); vnt_cmd_complete(priv); return; } static int s_bCommandComplete(struct vnt_private *priv) { priv->command_state = WLAN_CMD_IDLE; if (priv->free_cmd_queue == CMD_Q_SIZE) { /* Command Queue Empty */ priv->cmd_running = false; return true; } priv->command = priv->cmd_queue[priv->cmd_dequeue_idx]; ADD_ONE_WITH_WRAP_AROUND(priv->cmd_dequeue_idx, CMD_Q_SIZE); priv->free_cmd_queue++; priv->cmd_running = true; switch (priv->command) { case WLAN_CMD_INIT_MAC80211: priv->command_state = WLAN_CMD_INIT_MAC80211_START; break; case WLAN_CMD_TBTT_WAKEUP: priv->command_state = WLAN_CMD_TBTT_WAKEUP_START; break; case WLAN_CMD_BECON_SEND: priv->command_state = WLAN_CMD_BECON_SEND_START; break; case WLAN_CMD_SETPOWER: priv->command_state = WLAN_CMD_SETPOWER_START; break; case WLAN_CMD_CHANGE_ANTENNA: priv->command_state = WLAN_CMD_CHANGE_ANTENNA_START; break; case WLAN_CMD_11H_CHSW: priv->command_state = WLAN_CMD_11H_CHSW_START; break; default: break; } vCommandTimerWait(priv, 0); return true; } int bScheduleCommand(struct vnt_private *priv, enum vnt_cmd command, u8 *item0) { Loading @@ -198,7 +196,7 @@ int bScheduleCommand(struct vnt_private *priv, enum vnt_cmd command, u8 *item0) priv->free_cmd_queue--; if (priv->cmd_running == false) s_bCommandComplete(priv); vnt_cmd_complete(priv); return true; Loading Loading
drivers/staging/vt6656/wcmd.c +53 −55 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ * s_vProbeChannel - Active scan channel * s_MgrMakeProbeRequest - Make ProbeRequest packet * CommandTimer - Timer function to handle command * s_bCommandComplete - Command Complete function * vnt_cmd_complete - Command Complete function * bScheduleCommand - Push Command and wait Command Scheduler to do * vCommandTimer- Command call back functions * vCommandTimerWait- Call back timer Loading @@ -49,13 +49,61 @@ #include "rf.h" #include "channel.h" static int s_bCommandComplete(struct vnt_private *); static void vCommandTimerWait(struct vnt_private *priv, unsigned long msecs) { schedule_delayed_work(&priv->run_command_work, msecs_to_jiffies(msecs)); } static int vnt_cmd_complete(struct vnt_private *priv) { priv->command_state = WLAN_CMD_IDLE; if (priv->free_cmd_queue == CMD_Q_SIZE) { /* Command Queue Empty */ priv->cmd_running = false; return true; } priv->command = priv->cmd_queue[priv->cmd_dequeue_idx]; ADD_ONE_WITH_WRAP_AROUND(priv->cmd_dequeue_idx, CMD_Q_SIZE); priv->free_cmd_queue++; priv->cmd_running = true; switch (priv->command) { case WLAN_CMD_INIT_MAC80211: priv->command_state = WLAN_CMD_INIT_MAC80211_START; break; case WLAN_CMD_TBTT_WAKEUP: priv->command_state = WLAN_CMD_TBTT_WAKEUP_START; break; case WLAN_CMD_BECON_SEND: priv->command_state = WLAN_CMD_BECON_SEND_START; break; case WLAN_CMD_SETPOWER: priv->command_state = WLAN_CMD_SETPOWER_START; break; case WLAN_CMD_CHANGE_ANTENNA: priv->command_state = WLAN_CMD_CHANGE_ANTENNA_START; break; case WLAN_CMD_11H_CHSW: priv->command_state = WLAN_CMD_11H_CHSW_START; break; default: break; } vCommandTimerWait(priv, 0); return true; } void vRunCommand(struct work_struct *work) { struct vnt_private *priv = Loading Loading @@ -131,61 +179,11 @@ void vRunCommand(struct work_struct *work) break; } //switch s_bCommandComplete(priv); vnt_cmd_complete(priv); return; } static int s_bCommandComplete(struct vnt_private *priv) { priv->command_state = WLAN_CMD_IDLE; if (priv->free_cmd_queue == CMD_Q_SIZE) { /* Command Queue Empty */ priv->cmd_running = false; return true; } priv->command = priv->cmd_queue[priv->cmd_dequeue_idx]; ADD_ONE_WITH_WRAP_AROUND(priv->cmd_dequeue_idx, CMD_Q_SIZE); priv->free_cmd_queue++; priv->cmd_running = true; switch (priv->command) { case WLAN_CMD_INIT_MAC80211: priv->command_state = WLAN_CMD_INIT_MAC80211_START; break; case WLAN_CMD_TBTT_WAKEUP: priv->command_state = WLAN_CMD_TBTT_WAKEUP_START; break; case WLAN_CMD_BECON_SEND: priv->command_state = WLAN_CMD_BECON_SEND_START; break; case WLAN_CMD_SETPOWER: priv->command_state = WLAN_CMD_SETPOWER_START; break; case WLAN_CMD_CHANGE_ANTENNA: priv->command_state = WLAN_CMD_CHANGE_ANTENNA_START; break; case WLAN_CMD_11H_CHSW: priv->command_state = WLAN_CMD_11H_CHSW_START; break; default: break; } vCommandTimerWait(priv, 0); return true; } int bScheduleCommand(struct vnt_private *priv, enum vnt_cmd command, u8 *item0) { Loading @@ -198,7 +196,7 @@ int bScheduleCommand(struct vnt_private *priv, enum vnt_cmd command, u8 *item0) priv->free_cmd_queue--; if (priv->cmd_running == false) s_bCommandComplete(priv); vnt_cmd_complete(priv); return true; Loading