"helper image\n", pci_name(priv->pdev));
                        return rc;
                }
-               msleep(5);
+               msleep(20);
 
                rc = mwl8k_feed_fw_image(priv, fw->data, fw->size);
        } else {
        /*
         * Make sure the packet header is in the DMA header format (4-address
         * without QoS), the necessary crypto padding between the header and the
-        * payload has already been provided by mac80211, but it doesn't add tail
-        * padding when HW crypto is enabled.
+        * payload has already been provided by mac80211, but it doesn't add
+        * tail padding when HW crypto is enabled.
         *
         * We have the following trailer padding requirements:
         * - WEP: 4 trailer bytes (ICV)
 
                if (timeout) {
                        WARN_ON(priv->pending_tx_pkts);
-                       if (retry) {
+                       if (retry)
                                wiphy_notice(hw->wiphy, "tx rings drained\n");
-                       }
                        break;
                }
 
                /* Rate control is happening in the firmware.
                 * Ensure no tx rate is being reported.
                 */
-                info->status.rates[0].idx = -1;
-                info->status.rates[0].count = 1;
+               info->status.rates[0].idx = -1;
+               info->status.rates[0].count = 1;
 
                if (MWL8K_TXD_SUCCESS(status))
                        info->flags |= IEEE80211_TX_STAT_ACK;
 }
 
 /* caller must hold priv->stream_lock when calling the stream functions */
-struct mwl8k_ampdu_stream *
+static struct mwl8k_ampdu_stream *
 mwl8k_add_stream(struct ieee80211_hw *hw, struct ieee80211_sta *sta, u8 tid)
 {
        struct mwl8k_ampdu_stream *stream;
        __le16 bw;
        __le16 sub_ch;
        __le16 power_level_list[MWL8K_TX_POWER_LEVEL_TOTAL];
-} __attribute__((packed));
+} __packed;
 
 static int mwl8k_cmd_tx_power(struct ieee80211_hw *hw,
                                     struct ieee80211_conf *conf,
 #define BASTREAM_FLAG_DIRECTION_UPSTREAM       0x00
 #define BASTREAM_FLAG_IMMEDIATE_TYPE           0x01
 
-enum {
+enum ba_stream_action_type {
        MWL8K_BA_CREATE,
        MWL8K_BA_UPDATE,
        MWL8K_BA_DESTROY,
        MWL8K_BA_FLUSH,
        MWL8K_BA_CHECK,
-} ba_stream_action_type;
+};
 
 
 struct mwl8k_create_ba_stream {
        __u8 mac_addr[6];
        __u8 encr_type;
 
-} __attribute__((packed));
+} __packed;
 
 struct mwl8k_cmd_set_key {
        struct mwl8k_cmd_pkt header;
        __le16 tkip_tsc_low;
        __le32 tkip_tsc_high;
        __u8 mac_addr[6];
-} __attribute__((packed));
+} __packed;
 
 enum {
        MWL8K_ENCR_ENABLE,
                           struct ieee80211_bss_conf *info, u32 changed)
 {
        struct mwl8k_priv *priv = hw->priv;
-       u32 ap_legacy_rates;
+       u32 ap_legacy_rates = 0;
        u8 ap_mcs_rates[16];
        int rc;