Bug 207539

Summary: Log flooding with ath9k_htc driver "Short RX data len, dropping"
Product: Drivers Reporter: Denis Chupau (den.srv+kernel)
Component: NetworkAssignee: drivers_network (drivers_network)
Status: RESOLVED IMPLEMENTED    
Severity: low CC: masashi.honma
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.19.97-v7+ armv7l, 5.3.0-46-generic x86_64 Subsystem:
Regression: No Bisected commit-id:

Description Denis Chupau 2020-05-01 19:43:46 UTC
I have a USB Wifi adapter TP-Link TL-WN722N.
I use it on a x86_64 machine and on a Raspberry Pi 2.

But the ath9k_htc driver, in my physical environment, flooding the logs (5-15 times/s), with this kind of message, on all computer I use it on:

kernel: ath: phy0: Short RX data len, dropping (dlen: 4)


It is working correclty with driver ath9k_htc (client, AP, client+AP).

kernel: usb 1-1.4: new high-speed USB device number 4 using dwc_otg
kernel: usb 1-1.4: New USB device found, idVendor=0cf3, idProduct=9271, bcdDevice= 1.08
kernel: usb 1-1.4: New USB device strings: Mfr=16, Product=32, SerialNumber=48
kernel: usb 1-1.4: Product: USB2.0 WLAN
kernel: usb 1-1.4: Manufacturer: ATHEROS
kernel: usb 1-1.4: SerialNumber: 12345
[...]
kernel: usb 1-1.4: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw requested
kernel: usbcore: registered new interface driver ath9k_htc
kernel: usb 1-1.4: ath9k_htc: Transferred FW: ath9k_htc/htc_9271-1.4.0.fw, size: 51008
kernel: ath9k_htc 1-1.4:1.0: ath9k_htc: HTC initialized with 33 credits
kernel: ath9k_htc 1-1.4:1.0: ath9k_htc: FW Version: 1.4
kernel: ath9k_htc 1-1.4:1.0: FW RMW support: On
kernel: ath: EEPROM regdomain: 0x809c
kernel: ath: EEPROM indicates we should expect a country code
kernel: ath: doing EEPROM country->regdmn map search
kernel: ath: country maps to regdmn code: 0x52
kernel: ath: Country alpha2 being used: CN
kernel: ath: Regpair used: 0x52
kernel: ieee80211 phy0: Atheros AR9271 Rev:1


This log was introduced in this kernel patch:
https://patchwork.kernel.org/patch/11163657/

+	if (unlikely(!rs_datalen || (rs_datalen < 10 && !is_phyerr))) {
+		ath_warn(common,
+			 "Short RX data len, dropping (dlen: %d)\n",
+			 rs_datalen);
 		goto rx_next;
 	}

- So, is it really mandatory to log this kind of thing (the Wifi adapter is working correctly as far as I now, with good speed 50+Mbps) ?
- Or can it be activated in some debug mode?
- or this ath_warn() completely removed?


For now, the solution I have for now (appart from modifying myself/recompiling the driver) is use a syslog filter to discard those lines and journald in memory only, otherwise it just fills the logs partition up.

Best regards,
Den
Comment 1 Masashi Honma 2020-05-02 02:16:01 UTC
Thank you for reporting.

This warning indicates that the device received an improperly sized frame.
This warning is useful to recognize that your device (Wi-Fi dongle or USB hub etc) is noisy.
Though now I understand by googling some devices output so many the warning like your device.

So I will send a patch to make this warning debug message.
Comment 3 Denis Chupau 2023-02-21 19:52:15 UTC
Hi, thanks for your fix!

Almost 2 years have past, this looks like fixed for me, and no activity on this since then.

Shall I close the bug?

Best regards
Den
Comment 4 Masashi Honma 2023-02-21 23:25:20 UTC
I think this could be closed.
Comment 5 Denis Chupau 2023-02-21 23:32:37 UTC
Ok, Let's close it.