aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/main.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-07-06 11:41:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-07-08 11:11:21 -0400
commit6ff1e5cf70abbe04b261b4ccd9696e1ab6785086 (patch)
treee3830a4dbe6b98995a25dcc7b311c112828be602 /drivers/net/wireless/b43/main.c
parent74abacb6b5b91141eb8963faa2f22b3f1bd7c68d (diff)
b43: change selecting ucode for newer cores
Older cores had unique PHY. This is not true anymore for newer ones. For example core rev 16 can be LP, SSLPN or N (PHY). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/main.c')
-rw-r--r--drivers/net/wireless/b43/main.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index f0b9dd14ea2b..cddc5a87df7c 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -2160,20 +2160,28 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
2160 int err; 2160 int err;
2161 2161
2162 /* Get microcode */ 2162 /* Get microcode */
2163 if ((rev >= 5) && (rev <= 10)) 2163 if ((rev >= 5) && (rev <= 10)) {
2164 filename = "ucode5"; 2164 filename = "ucode5";
2165 else if ((rev >= 11) && (rev <= 12)) 2165 } else if ((rev >= 11) && (rev <= 12)) {
2166 filename = "ucode11"; 2166 filename = "ucode11";
2167 else if (rev == 13) 2167 } else if (rev == 13) {
2168 filename = "ucode13"; 2168 filename = "ucode13";
2169 else if (rev == 14) 2169 } else if (rev == 14) {
2170 filename = "ucode14"; 2170 filename = "ucode14";
2171 else if (rev == 15) 2171 } else if (rev == 15) {
2172 filename = "ucode15"; 2172 filename = "ucode15";
2173 else if ((rev >= 16) && (rev <= 20)) 2173 } else {
2174 filename = "ucode16_mimo"; 2174 switch (dev->phy.type) {
2175 else 2175 case B43_PHYTYPE_N:
2176 goto err_no_ucode; 2176 if (rev >= 16)
2177 filename = "ucode16_mimo";
2178 else
2179 goto err_no_ucode;
2180 break;
2181 default:
2182 goto err_no_ucode;
2183 }
2184 }
2177 err = b43_do_request_fw(ctx, filename, &fw->ucode); 2185 err = b43_do_request_fw(ctx, filename, &fw->ucode);
2178 if (err) 2186 if (err)
2179 goto err_load; 2187 goto err_load;