浏览代码

b43: read PHY info only when needed (for PHY-A)

We risk reading TMSHIGH register twice, but PHY-A are really rare and we
do not support them at the moment.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Rafał Miłecki 14 年之前
父节点
当前提交
755173291a
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/net/wireless/b43/main.c

+ 2 - 1
drivers/net/wireless/b43/main.c

@@ -2118,7 +2118,6 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 	int err;
 	int err;
 
 
 	/* Get microcode */
 	/* Get microcode */
-	tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH);
 	if ((rev >= 5) && (rev <= 10))
 	if ((rev >= 5) && (rev <= 10))
 		filename = "ucode5";
 		filename = "ucode5";
 	else if ((rev >= 11) && (rev <= 12))
 	else if ((rev >= 11) && (rev <= 12))
@@ -2157,6 +2156,7 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 	switch (dev->phy.type) {
 	switch (dev->phy.type) {
 	case B43_PHYTYPE_A:
 	case B43_PHYTYPE_A:
 		if ((rev >= 5) && (rev <= 10)) {
 		if ((rev >= 5) && (rev <= 10)) {
+			tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH);
 			if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY)
 			if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY)
 				filename = "a0g1initvals5";
 				filename = "a0g1initvals5";
 			else
 			else
@@ -2201,6 +2201,7 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
 	switch (dev->phy.type) {
 	switch (dev->phy.type) {
 	case B43_PHYTYPE_A:
 	case B43_PHYTYPE_A:
 		if ((rev >= 5) && (rev <= 10)) {
 		if ((rev >= 5) && (rev <= 10)) {
+			tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH);
 			if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY)
 			if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY)
 				filename = "a0g1bsinitvals5";
 				filename = "a0g1bsinitvals5";
 			else
 			else