b43: use correct firmware for newer cores
authorRafał Miłecki <zajec5@gmail.com>
Tue, 21 Dec 2010 10:50:19 +0000 (11:50 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 22 Dec 2010 20:43:28 +0000 (15:43 -0500)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/main.c

index 1aec160..5fb0bc6 100644 (file)
@@ -2121,8 +2121,10 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
                filename = "ucode13";
        else if (rev == 14)
                filename = "ucode14";
-       else if (rev >= 15)
+       else if (rev == 15)
                filename = "ucode15";
+       else if ((rev >= 16) && (rev <= 20))
+               filename = "ucode16_mimo";
        else
                goto err_no_ucode;
        err = b43_do_request_fw(ctx, filename, &fw->ucode);
@@ -2165,7 +2167,9 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
                        goto err_no_initvals;
                break;
        case B43_PHYTYPE_N:
-               if ((rev >= 11) && (rev <= 12))
+               if (rev >= 16)
+                       filename = "n0initvals16";
+               else if ((rev >= 11) && (rev <= 12))
                        filename = "n0initvals11";
                else
                        goto err_no_initvals;
@@ -2209,7 +2213,9 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
                        goto err_no_initvals;
                break;
        case B43_PHYTYPE_N:
-               if ((rev >= 11) && (rev <= 12))
+               if (rev >= 16)
+                       filename = "n0bsinitvals16";
+               else if ((rev >= 11) && (rev <= 12))
                        filename = "n0bsinitvals11";
                else
                        goto err_no_initvals;