From: stf_xl@wp.pl
To: linux-wireless@vger.kernel.org
Subject: [PATCH wireless-next v2 1/3] wifi: iwlegacy: remove configurable watchdog timeout
Date: Tue, 27 Oct 2026 17:36:09 +0100 [thread overview]
Message-ID: <20261027163611.5161-2-stf_xl@wp.pl> (raw)
In-Reply-To: <20261027163611.5161-1-stf_xl@wp.pl>
From: Stanislaw Gruszka <stf_xl@wp.pl>
Remove the debugfs file used to configure the TX queue watchdog timeout.
It was used to experiment with different timeout values to determine a
suitable default, which is no longer necessary.
Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
---
.../net/wireless/intel/iwlegacy/3945-mac.c | 2 +-
drivers/net/wireless/intel/iwlegacy/3945.c | 2 --
.../net/wireless/intel/iwlegacy/4965-mac.c | 2 +-
drivers/net/wireless/intel/iwlegacy/4965.c | 1 -
drivers/net/wireless/intel/iwlegacy/common.c | 31 ++-----------------
drivers/net/wireless/intel/iwlegacy/common.h | 9 +++---
drivers/net/wireless/intel/iwlegacy/debug.c | 26 ----------------
7 files changed, 8 insertions(+), 65 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
index cbaf250626c5..a3b81badabfc 100644
--- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c
+++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c
@@ -2132,7 +2132,7 @@ il3945_alive_start(struct il_priv *il)
set_bit(S_ALIVE, &il->status);
/* Enable watchdog to monitor the driver tx queues */
- il_setup_watchdog(il);
+ mod_timer(&il->watchdog, jiffies + msecs_to_jiffies(IL_WD_TICK));
if (il_is_rfkill(il))
return;
diff --git a/drivers/net/wireless/intel/iwlegacy/3945.c b/drivers/net/wireless/intel/iwlegacy/3945.c
index b0656b143f77..60506f7914a2 100644
--- a/drivers/net/wireless/intel/iwlegacy/3945.c
+++ b/drivers/net/wireless/intel/iwlegacy/3945.c
@@ -2670,7 +2670,6 @@ static const struct il_cfg il3945_bg_cfg = {
.set_l0s = false,
.use_bsm = true,
.led_compensation = 64,
- .wd_timeout = IL_DEF_WD_TIMEOUT,
.regulatory_bands = {
EEPROM_REGULATORY_BAND_1_CHANNELS,
@@ -2699,7 +2698,6 @@ static const struct il_cfg il3945_abg_cfg = {
.set_l0s = false,
.use_bsm = true,
.led_compensation = 64,
- .wd_timeout = IL_DEF_WD_TIMEOUT,
.regulatory_bands = {
EEPROM_REGULATORY_BAND_1_CHANNELS,
diff --git a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
index 18bb55682643..1a553ef0c04f 100644
--- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c
+++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c
@@ -5291,7 +5291,7 @@ il4965_alive_start(struct il_priv *il)
set_bit(S_ALIVE, &il->status);
/* Enable watchdog to monitor the driver tx queues */
- il_setup_watchdog(il);
+ mod_timer(&il->watchdog, jiffies + msecs_to_jiffies(IL_WD_TICK));
if (il_is_rfkill(il))
return;
diff --git a/drivers/net/wireless/intel/iwlegacy/4965.c b/drivers/net/wireless/intel/iwlegacy/4965.c
index b63e29590b04..3418fbb0e003 100644
--- a/drivers/net/wireless/intel/iwlegacy/4965.c
+++ b/drivers/net/wireless/intel/iwlegacy/4965.c
@@ -1913,7 +1913,6 @@ struct il_cfg il4965_cfg = {
.use_bsm = true,
.led_compensation = 61,
.chain_noise_num_beacons = IL4965_CAL_NUM_BEACONS,
- .wd_timeout = IL_DEF_WD_TIMEOUT,
.temperature_kelvin = true,
.ucode_tracing = true,
.sensitivity_calib_by_driver = true,
diff --git a/drivers/net/wireless/intel/iwlegacy/common.c b/drivers/net/wireless/intel/iwlegacy/common.c
index 0bb807ff8edf..c6a593e9cea0 100644
--- a/drivers/net/wireless/intel/iwlegacy/common.c
+++ b/drivers/net/wireless/intel/iwlegacy/common.c
@@ -4772,9 +4772,7 @@ il_check_stuck_queue(struct il_priv *il, int cnt)
return 0;
}
- timeout =
- txq->time_stamp +
- msecs_to_jiffies(il->cfg->wd_timeout);
+ timeout = txq->time_stamp + msecs_to_jiffies(IL_WD_TIMEOUT);
if (time_after(now, timeout)) {
IL_ERR("Queue %d stuck for %u ms.\n", q->id,
@@ -4786,12 +4784,6 @@ il_check_stuck_queue(struct il_priv *il, int cnt)
return 0;
}
-/*
- * Making watchdog tick be a quarter of timeout assure we will
- * discover the queue hung between timeout and 1.25*timeout
- */
-#define IL_WD_TICK(timeout) ((timeout) / 4)
-
/*
* Watchdog timer callback, we check each tx queue for stuck, if hung
* we reset the firmware. If everything is fine just rearm the timer.
@@ -4801,15 +4793,10 @@ il_bg_watchdog(struct timer_list *t)
{
struct il_priv *il = timer_container_of(il, t, watchdog);
int cnt;
- unsigned long timeout;
if (test_bit(S_EXIT_PENDING, &il->status))
return;
- timeout = il->cfg->wd_timeout;
- if (timeout == 0)
- return;
-
/* monitor and check for stuck cmd queue */
if (il_check_stuck_queue(il, il->cmd_queue))
return;
@@ -4823,24 +4810,10 @@ il_bg_watchdog(struct timer_list *t)
return;
}
- mod_timer(&il->watchdog,
- jiffies + msecs_to_jiffies(IL_WD_TICK(timeout)));
+ mod_timer(&il->watchdog, jiffies + msecs_to_jiffies(IL_WD_TICK));
}
EXPORT_SYMBOL(il_bg_watchdog);
-void
-il_setup_watchdog(struct il_priv *il)
-{
- unsigned int timeout = il->cfg->wd_timeout;
-
- if (timeout)
- mod_timer(&il->watchdog,
- jiffies + msecs_to_jiffies(IL_WD_TICK(timeout)));
- else
- timer_delete(&il->watchdog);
-}
-EXPORT_SYMBOL(il_setup_watchdog);
-
/*
* extended beacon time format
* time in usec will be changed into a 32-bit value in extended:internal format
diff --git a/drivers/net/wireless/intel/iwlegacy/common.h b/drivers/net/wireless/intel/iwlegacy/common.h
index 21f1c7702add..260e6b971d00 100644
--- a/drivers/net/wireless/intel/iwlegacy/common.h
+++ b/drivers/net/wireless/intel/iwlegacy/common.h
@@ -1085,9 +1085,9 @@ struct traffic_stats {
#define IL_DELAY_NEXT_FORCE_FW_RELOAD (HZ*5)
/* TX queue watchdog timeouts in mSecs */
-#define IL_DEF_WD_TIMEOUT (2000)
-#define IL_LONG_WD_TIMEOUT (10000)
-#define IL_MAX_WD_TIMEOUT (120000)
+#define IL_WD_TIMEOUT 2000
+/* Discover the queue hung between timeout and 1.25*timeout */
+#define IL_WD_TICK (IL_WD_TIMEOUT / 4)
struct il_force_reset {
int reset_request_count;
@@ -1683,7 +1683,6 @@ struct il_cfg {
u16 led_compensation;
int chain_noise_num_beacons;
- unsigned int wd_timeout;
bool temperature_kelvin;
const bool ucode_tracing;
const bool sensitivity_calib_by_driver;
@@ -1764,7 +1763,7 @@ int il_tx_queue_init(struct il_priv *il, u32 txq_id);
void il_tx_queue_reset(struct il_priv *il, u32 txq_id);
void il_tx_queue_unmap(struct il_priv *il, int txq_id);
void il_tx_queue_free(struct il_priv *il, int txq_id);
-void il_setup_watchdog(struct il_priv *il);
+
/*****************************************************
* TX power
****************************************************/
diff --git a/drivers/net/wireless/intel/iwlegacy/debug.c b/drivers/net/wireless/intel/iwlegacy/debug.c
index 8a9f79ff1c6e..a7db62f75d7a 100644
--- a/drivers/net/wireless/intel/iwlegacy/debug.c
+++ b/drivers/net/wireless/intel/iwlegacy/debug.c
@@ -1265,30 +1265,6 @@ il_dbgfs_force_reset_write(struct file *file, const char __user *user_buf,
return ret ? ret : count;
}
-static ssize_t
-il_dbgfs_wd_timeout_write(struct file *file, const char __user *user_buf,
- size_t count, loff_t *ppos)
-{
-
- struct il_priv *il = file->private_data;
- char buf[8];
- int buf_size;
- int timeout;
-
- memset(buf, 0, sizeof(buf));
- buf_size = min(count, sizeof(buf) - 1);
- if (copy_from_user(buf, user_buf, buf_size))
- return -EFAULT;
- if (sscanf(buf, "%d", &timeout) != 1)
- return -EINVAL;
- if (timeout < 0 || timeout > IL_MAX_WD_TIMEOUT)
- timeout = IL_DEF_WD_TIMEOUT;
-
- il->cfg->wd_timeout = timeout;
- il_setup_watchdog(il);
- return count;
-}
-
DEBUGFS_READ_FILE_OPS(rx_stats);
DEBUGFS_READ_FILE_OPS(tx_stats);
DEBUGFS_READ_FILE_OPS(rx_queue);
@@ -1306,7 +1282,6 @@ DEBUGFS_READ_WRITE_FILE_OPS(missed_beacon);
DEBUGFS_READ_WRITE_FILE_OPS(force_reset);
DEBUGFS_READ_FILE_OPS(rxon_flags);
DEBUGFS_READ_FILE_OPS(rxon_filter_flags);
-DEBUGFS_WRITE_FILE_OPS(wd_timeout);
/*
* Create the debugfs files and directories
@@ -1353,7 +1328,6 @@ il_dbgfs_register(struct il_priv *il, const char *name)
DEBUGFS_ADD_FILE(chain_noise, dir_debug, 0400);
DEBUGFS_ADD_FILE(rxon_flags, dir_debug, 0200);
DEBUGFS_ADD_FILE(rxon_filter_flags, dir_debug, 0200);
- DEBUGFS_ADD_FILE(wd_timeout, dir_debug, 0200);
if (il->cfg->sensitivity_calib_by_driver)
DEBUGFS_ADD_BOOL(disable_sensitivity, dir_rf,
&il->disable_sens_cal);
--
2.50.1
next prev parent reply other threads:[~2026-10-27 16:36 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-27 16:36 [PATCH wireless-next v2 0/3] small debugfs cleanups stf_xl
2026-10-27 16:36 ` stf_xl [this message]
2026-10-27 16:36 ` [PATCH wireless-next v2 2/3] wifi: iwlegacy: remove channels debugfs file stf_xl
2026-10-27 16:36 ` [PATCH wireless-next v2 3/3] wifi: iwlegacy: remove disable_ht40 " stf_xl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261027163611.5161-2-stf_xl@wp.pl \
--to=stf_xl@wp.pl \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox