Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm...
[firefly-linux-kernel-4.4.55.git] / drivers / staging / rtl8192u / r819xU_firmware.c
index f66ad8a0dfe052e601cf23bed1206e3af2eb327e..c230be290ab61a9f4e19f452cc4004e90a99b355 100644 (file)
@@ -45,6 +45,7 @@ static bool fw_download_code(struct net_device *dev, u8 *code_virtual_address,
        unsigned char       *seg_ptr;
        cb_desc             *tcb_desc;
        u8                  bLastIniPkt;
+       u8                  index;
 
        firmware_init_param(dev);
        //Fragmentation might be required
@@ -78,18 +79,19 @@ static bool fw_download_code(struct net_device *dev, u8 *code_virtual_address,
                 * Transform from little endian to big endian
                 * and pending  zero
                 */
-               for (i=0; i < frag_length; i+=4) {
-                       *seg_ptr++ = ((i+0)<frag_length)?code_virtual_address[i+3]:0;
-                       *seg_ptr++ = ((i+1)<frag_length)?code_virtual_address[i+2]:0;
-                       *seg_ptr++ = ((i+2)<frag_length)?code_virtual_address[i+1]:0;
-                       *seg_ptr++ = ((i+3)<frag_length)?code_virtual_address[i+0]:0;
+               for (i = 0; i < frag_length; i += 4) {
+                       *seg_ptr++ = ((i+0) < frag_length)?code_virtual_address[i+3] : 0;
+                       *seg_ptr++ = ((i+1) < frag_length)?code_virtual_address[i+2] : 0;
+                       *seg_ptr++ = ((i+2) < frag_length)?code_virtual_address[i+1] : 0;
+                       *seg_ptr++ = ((i+3) < frag_length)?code_virtual_address[i+0] : 0;
                }
-               tcb_desc->txbuf_size= (u16)i;
+               tcb_desc->txbuf_size = (u16)i;
                skb_put(skb, i);
 
-               if (!priv->ieee80211->check_nic_enough_desc(dev,tcb_desc->queue_index)||
-                       (!skb_queue_empty(&priv->ieee80211->skb_waitQ[tcb_desc->queue_index]))||\
-                       (priv->ieee80211->queue_stop)) {
+               index = tcb_desc->queue_index;
+               if (!priv->ieee80211->check_nic_enough_desc(dev, index) ||
+                      (!skb_queue_empty(&priv->ieee80211->skb_waitQ[index])) ||
+                      (priv->ieee80211->queue_stop)) {
                        RT_TRACE(COMP_FIRMWARE,"=====================================================> tx full!\n");
                        skb_queue_tail(&priv->ieee80211->skb_waitQ[tcb_desc->queue_index], skb);
                } else {