diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/dvm/sta.c')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/dvm/sta.c | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/sta.c b/drivers/net/wireless/iwlwifi/dvm/sta.c index b29b798f755..cd9b6de4273 100644 --- a/drivers/net/wireless/iwlwifi/dvm/sta.c +++ b/drivers/net/wireless/iwlwifi/dvm/sta.c @@ -128,10 +128,11 @@ int iwl_add_sta_callback(struct iwl_priv *priv, struct iwl_rx_cmd_buffer *rxb,  			       struct iwl_device_cmd *cmd)  {  	struct iwl_rx_packet *pkt = rxb_addr(rxb); -	struct iwl_addsta_cmd *addsta = -		(struct iwl_addsta_cmd *) cmd->payload; -	return iwl_process_add_sta_resp(priv, addsta, pkt); +	if (!cmd) +		return 0; + +	return iwl_process_add_sta_resp(priv, (void *)cmd->payload, pkt);  }  int iwl_send_add_sta(struct iwl_priv *priv, @@ -150,7 +151,7 @@ int iwl_send_add_sta(struct iwl_priv *priv,  		       sta_id, sta->sta.addr, flags & CMD_ASYNC ?  "a" : "");  	if (!(flags & CMD_ASYNC)) { -		cmd.flags |= CMD_WANT_SKB; +		cmd.flags |= CMD_WANT_SKB | CMD_WANT_HCMD;  		might_sleep();  	}  |