wl12xx: 1281/1283 support - move IRQ polarity
authorShahar Levi <shahar_levi@ti.com>
Sun, 6 Mar 2011 14:32:06 +0000 (16:32 +0200)
committerLuciano Coelho <coelho@ti.com>
Tue, 19 Apr 2011 13:19:45 +0000 (16:19 +0300)
In order to prevent overran of IRQ polarity via FW the polarity setting move after
FW download and before IRQ enable.

Signed-off-by: Shahar Levi <shahar_levi@ti.com>
Reviewed-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/boot.c

index 6934dffd5174f93465d4e2f4f9d29126d49e527a..69fe8703be423f400ae02609d4ab5031eeed8a2b 100644 (file)
@@ -585,13 +585,6 @@ int wl1271_load_firmware(struct wl1271 *wl)
        /* 6. read the EEPROM parameters */
        tmp = wl1271_read32(wl, SCR_PAD2);
 
-       ret = wl1271_boot_write_irq_polarity(wl);
-       if (ret < 0)
-               goto out;
-
-       wl1271_write32(wl, ACX_REG_INTERRUPT_MASK,
-                      WL1271_ACX_ALL_EVENTS_VECTOR);
-
        /* WL1271: The reference driver skips steps 7 to 10 (jumps directly
         * to upload_fw) */
 
@@ -618,6 +611,13 @@ int wl1271_boot(struct wl1271 *wl)
        if (ret < 0)
                goto out;
 
+       ret = wl1271_boot_write_irq_polarity(wl);
+       if (ret < 0)
+               goto out;
+
+       wl1271_write32(wl, ACX_REG_INTERRUPT_MASK,
+                      WL1271_ACX_ALL_EVENTS_VECTOR);
+
        /* Enable firmware interrupts now */
        wl1271_boot_enable_interrupts(wl);