NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Patch for the bug kern/57561: iwm device timeouts



Hi,


This is an issue with the iwm wireless driver (Intel Wireless AC and Centrino Wireless IEEE 802.11 wireless network driver)


Bug: kern/57561: iwm device timeouts
Description:
Every tens of minutes or sometimes after a few minutes, iwm interface times out resulting in loss of connectivity. 
This is an intermittent problem. It occurs at least once in an hour, and sometimes multiple times in an hour. I believe anyone using iwm interface should be experiementing these frustrating timeouts which result in loss of connectivity.

The workaround:
Execute the following twice:
doas ifconfig iwm0 down
doas ifconfig iwm0 up


Fix:

iwm driver has one watchdog timer for the aggregate Tx queue. And some Tx queues get stuck intermittently. When that happens, the watchdog timer handler resets the interface when the watchdog fires resulting in loss of connectivity.


The status register value 0x63 does not seem to indicate anything is wrong with the device.


Linux and OpenBSD handle this issue by creating a timer per Tx queue, and the reasoning is just because some Tx queues get stuck sometimes does not mean we should reset the interface. I don't know whether those stuck queues ever get unblocked. But, with this patch, I am not experiencing any loss of WiFi.


I modeled this patch on Stefan Sperling's patch in OpenBSD for the same issue:
https://www.mail-archive.com/tech%openbsd.org@localhost/msg66949.html


Please review the attached patch.


Best,
Salil


--
Sent with Tutanota, enjoy secure & ad-free emails.

Attachment: iwm-patch.diff
Description: Binary data



Home | Main Index | Thread Index | Old Index