Skip to contentSkip to conversation

iwl3945: increase plcp check threshold

PATCH In review Stanislaw Gruszka 2 participants 5 messages Feb 8, 2011 – Feb 9, 2011 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 iwl3945: increase plcp check threshold

iwl3945: increase plcp check threshold

Patch fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=654599

Many users report very low speed problem on 3945 devices, this patch fixes problem, but only for some of them.

For unknown reason, sometimes after hw scanning, device is not able to receive frames at high rate. Since plcp health check may request hw scan to "reset radio", performance problem start to be observable after update kernel to .35, where plcp check was introduced.

Bug reporter confirmed that increase plcp check threshold fixed problem for him.

---
Patch is oneliner, but does not apply on older kernel versions, I will provide -stable patches when fix will land in mainline

drivers/net/wireless/iwlwifi/iwl-3945.c +1 -1
index 58213e7..27faa5e 100644
@@ -2775,7 +2775,7 @@ static struct iwl_base_params iwl3945_base_params = {
 	.use_isr_legacy = true,
 	.led_compensation = 64,
 	.broken_powersave = true,
-	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_LONG_THRESHOLD_DEF,
+	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_MAX,
 	.wd_timeout = IWL_DEF_WD_TIMEOUT,
 	.max_event_log_size = 512,
 	.tx_power_by_driver = true,
#1 lore raw

Stanislaw,

Quoted 28 lines · Stanislaw Gruszka

iwl3945: increase plcp check threshold

Patch fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=654599

Many users report very low speed problem on 3945 devices, this patch fixes problem, but only for some of them.

For unknown reason, sometimes after hw scanning, device is not able to receive frames at high rate. Since plcp health check may request hw scan to "reset radio", performance problem start to be observable after update kernel to .35, where plcp check was introduced.

Bug reporter confirmed that increase plcp check threshold fixed problem for him.

---
Patch is oneliner, but does not apply on older kernel versions, I will provide -stable patches when fix will land in mainline

drivers/net/wireless/iwlwifi/iwl-3945.c +0 -0
index 58213e7..27faa5e 100644

drivers/net/wireless/iwlwifi/iwl-3945.c static struct iwl_base_params iwl3945_base_params = { · line 2781

Quoted 8 lines
drivers/net/wireless/iwlwifi/iwl-3945.c +1 -1
@@ -2775,7 +2775,7 @@ static struct iwl_base_params iwl3945_base_params = {
 	.use_isr_legacy = true,
 	.led_compensation = 64,
 	.broken_powersave = true,
-	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_LONG_THRESHOLD_DEF,
+	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_MAX,
 	.wd_timeout = IWL_DEF_WD_TIMEOUT,
 	.max_event_log_size = 512,
 	.tx_power_by_driver = true,

Do you see any help for 3945 with plcp checking at all?

Wey

#2 lore raw
Quoted 24 lines · wwguy
Quoted 23 lines · Stanislaw Gruszka

iwl3945: increase plcp check threshold

Patch fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=654599

Many users report very low speed problem on 3945 devices, this patch fixes problem, but only for some of them.

For unknown reason, sometimes after hw scanning, device is not able to receive frames at high rate. Since plcp health check may request hw scan to "reset radio", performance problem start to be observable after update kernel to .35, where plcp check was introduced.

Bug reporter confirmed that increase plcp check threshold fixed problem for him.

---
Patch is oneliner, but does not apply on older kernel versions, I will provide -stable patches when fix will land in mainline

Quoted 15 lines

drivers/net/wireless/iwlwifi/iwl-3945.c static struct iwl_base_params iwl3945_base_params = { · line 2781

Quoted 13 lines
drivers/net/wireless/iwlwifi/iwl-3945.c +1 -1
index 58213e7..27faa5e 100644
@@ -2775,7 +2775,7 @@ static struct iwl_base_params iwl3945_base_params = {
 	.use_isr_legacy = true,
 	.led_compensation = 64,
 	.broken_powersave = true,
-	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_LONG_THRESHOLD_DEF,
+	.plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_MAX,
 	.wd_timeout = IWL_DEF_WD_TIMEOUT,
 	.max_event_log_size = 512,
 	.tx_power_by_driver = true,

Do you see any help for 3945 with plcp checking at all?

Not really, I see only demage :-)

Ok, if we argree to remove plcp check from 3945 at all, I will repost with slightly different patch for fix problem on stable.

Stanislaw

#3 lore raw

PATCH v2 1/1 iwl3945: remove plcp check

Patch fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=654599

Many users report very low speed problem on 3945 devices, this patch fixes problem, but only for some of them.

For unknown reason, sometimes after hw scanning, device is not able to receive frames at high rate. Since plcp health check may request hw scan to "reset radio", performance problem start to be observable after update kernel to .35, where plcp check was introduced.

Bug reporter confirmed that removing plcp check fixed problem for him.

---
v1 -> v2
Instead of tuning threshold remove the check completely

This is minimal fix, without any additional code removal (what introduce one compile warning). I will remove dead code after Intel push they current driver split work, to do not create merge problems now.

Patch also does not apply cleanly on 2.6.35, I will provide additional -stable patch when this one hit mainline.

drivers/net/wireless/iwlwifi/iwl-3945.c +0 -1
index 58213e7..5b6932c 100644
@@ -2734,7 +2734,6 @@ static struct iwl_lib_ops iwl3945_lib = {
 	.isr_ops = {
 		.isr = iwl_isr_legacy,
 	},
-	.check_plcp_health = iwl3945_good_plcp_health,
 
 	.debugfs_ops = {
 		.rx_stats_read = iwl3945_ucode_rx_stats_read,
Acked-by on v2 1/1
#4 lore raw

Re: [PATCH v2] iwl3945: remove plcp check

Quoted 11 lines · Stanislaw Gruszka

Patch fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=654599

Many users report very low speed problem on 3945 devices, this patch fixes problem, but only for some of them.

For unknown reason, sometimes after hw scanning, device is not able to receive frames at high rate. Since plcp health check may request hw scan to "reset radio", performance problem start to be observable after update kernel to .35, where plcp check was introduced.

Quoted 5 lines

Bug reporter confirmed that removing plcp check fixed problem for him.

Quoted 4 lines

---
v1 -> v2
Instead of tuning threshold remove the check completely

looks good for just minimal changes

Wey