Commit b4ebd28f authored by Johannes Berg's avatar Johannes Berg Committed by Wey-Yi Guy
Browse files

iwlagn: use huge command for beacon

When testing some new P2P code, Angie found that the
driver might crash because the beacon command ended
up being bigger than a regular command. This is quite
obvious -- a normal command is limited to roughly 360
bytes but a beacon may be much larger of course.

To fix this, use the huge command buffer.
Reported-by: default avatarAngie Chinchilla <>
Signed-off-by: default avatarJohannes Berg <>
Signed-off-by: default avatarWey-Yi Guy <>
parent 7b21f00e
...@@ -253,6 +253,10 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv) ...@@ -253,6 +253,10 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv)
struct iwl_frame *frame; struct iwl_frame *frame;
unsigned int frame_size; unsigned int frame_size;
int rc; int rc;
struct iwl_host_cmd cmd = {
.flags = CMD_SIZE_HUGE,
frame = iwl_get_free_frame(priv); frame = iwl_get_free_frame(priv);
if (!frame) { if (!frame) {
...@@ -268,8 +272,10 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv) ...@@ -268,8 +272,10 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv)
return -EINVAL; return -EINVAL;
} }
rc = iwl_send_cmd_pdu(priv, REPLY_TX_BEACON, frame_size, cmd.len = frame_size;
&frame->u.cmd[0]); = &frame->u.cmd[0];
rc = iwl_send_cmd_sync(priv, &cmd);
iwl_free_frame(priv, frame); iwl_free_frame(priv, frame);
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment