iwlagn: check beacon frame size
authorJohannes Berg <johannes.berg@intel.com>
Thu, 7 Oct 2010 11:00:33 +0000 (04:00 -0700)
committerWey-Yi Guy <wey-yi.w.guy@intel.com>
Thu, 14 Oct 2010 16:47:35 +0000 (09:47 -0700)
When the beacon_skb is NULL, we might still
attempt to use it in this code path (if we
ever get here) -- make the code a bit more
defensive and check the return value of
iwl_fill_beacon_frame() against zero.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
drivers/net/wireless/iwlwifi/iwl-agn.c

index 7079efbe34eb1000e9589dbc1d38c61a859bc472..c2636a7ab9eed9840f1fe0ec0aa466ec610aee57 100644 (file)
@@ -385,6 +385,8 @@ static unsigned int iwl_hw_get_beacon_cmd(struct iwl_priv *priv,
                                sizeof(frame->u) - sizeof(*tx_beacon_cmd));
        if (WARN_ON_ONCE(frame_size > MAX_MPDU_SIZE))
                return 0;
+       if (!frame_size)
+               return 0;
 
        /* Set up TX command fields */
        tx_beacon_cmd->tx.len = cpu_to_le16((u16)frame_size);