Bug 196195

Summary: iwlwifi: 8260: capa flags index 3 larger than supported by driver
Product: Drivers Reporter: Matt Berry (matthew.william.berry)
Component: network-wirelessAssignee: DO NOT USE - assign "network-wireless-intel" component instead (linuxwifi)
Status: CLOSED CODE_FIX    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: Linux 4.11.5-1-ARCH Subsystem:
Regression: No Bisected commit-id:
Attachments: Fix
Patch that was applied

Description Matt Berry 2017-06-27 04:51:17 UTC
A recent OS update (I can't be certain if it was the kernel, Linux firmware, or both) resulted in a new error in dmesg: 

[    8.258877] iwlwifi 0000:04:00.0: capa flags index 3 larger than supported by driver

I have not been experiencing any worse performance from the device than usual, but per [#194717](https://bugzilla.kernel.org/show_bug.cgi?id=194717) usual is pretty bad.

This appears to be the same bug as in https://bugzilla.redhat.com/show_bug.cgi?id=1452746


```
$ sudo lshw -C network -sanitize
  *-network                 
       description: Wireless interface
       product: Wireless 8260
       vendor: Intel Corporation
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: wlp4s0
       version: 3a
       serial: [REMOVED]
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=4.11.5-1-ARCH firmware=27.455470.0 ip=[REMOVED] latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:129 memory:f1000000-f1001fff
```

```
$ pacman -Qi linux-firmware 
Name            : linux-firmware
Version         : 20170422.ade8332-1
Description     : Firmware files for Linux
...
Build Date      : Thu 04 May 2017 11:32:30 PM PDT
```

```
$ uname -a
Linux slate 4.11.5-1-ARCH #1 SMP PREEMPT Wed Jun 14 16:19:27 CEST 2017 x86_64 GNU/Linux
```

```
$ dmesg | grep -C10 'iwlwifi'
[    8.231183] i801_smbus 0000:00:1f.4: SPD Write Disable is set
[    8.231253] i801_smbus 0000:00:1f.4: SMBus using PCI interrupt
[    8.232549] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    8.232848] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    8.236316] iTCO_vendor_support: vendor-support=0
[    8.236910] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
[    8.237038] iTCO_wdt: Found a Intel PCH TCO device (Version=4, TCOBASE=0x0400)
[    8.237208] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    8.250954] Intel(R) Wireless WiFi driver for Linux
[    8.250955] Copyright(c) 2003- 2015 Intel Corporation
[    8.251261] iwlwifi 0000:04:00.0: enabling device (0000 -> 0002)
[    8.253700] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-28.ucode failed with error -2
[    8.258877] iwlwifi 0000:04:00.0: capa flags index 3 larger than supported by driver
[    8.259349] iwlwifi 0000:04:00.0: loaded firmware version 27.455470.0 op_mode iwlmvm
[    8.277439] iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[    8.279208] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
[    8.280341] iwlwifi 0000:04:00.0: L1 Enabled - LTR Enabled
[    8.340278] psmouse serio1: synaptics: queried max coordinates: x [..5678], y [..4754]
[    8.370084] psmouse serio1: synaptics: queried min coordinates: x [1262..], y [1098..]
[    8.422820] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[    8.423064] (NULL device *): hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[    8.423087] thermal thermal_zone3: failed to read out thermal zone (-5)
[    8.424333] iwlwifi 0000:04:00.0 wlp4s0: renamed from wlan0
[    8.427995] psmouse serio1: synaptics: Touchpad model: 1, fw: 8.2, id: 0x1e2b1, caps: 0xf002a3/0x940300/0x12e800/0x0, board id: 3144, fw id: 2059155
[    8.427999] psmouse serio1: synaptics: serio: Synaptics pass-through port at isa0060/serio1/input0
[    8.447870] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
[    8.465060] input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input6
[    8.466297] mousedev: PS/2 mouse device common for all mice
[    8.529365] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 54:ee:75:bb:cb:8d
[    8.529372] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[    8.529433] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: 1000FF-0FF
[    8.530772] [drm] Memory usable by graphics device = 4096M
[    8.530775] checking generic (e0000000 e10000) vs hw (e0000000 10000000)
```
Comment 1 Emmanuel Grumbach 2017-06-29 13:23:18 UTC
Created attachment 257221 [details]
Fix

Please check with this.
Comment 2 Matt Berry 2017-06-30 04:42:58 UTC
Created attachment 257241 [details]
Patch that was applied
Comment 3 Matt Berry 2017-06-30 04:43:33 UTC
I couldn't locate the exact file from your patch, but I was able to formulate an equivalent one. For reference, this is the tree I'm working on:

```
slate% git remote show origin 
* remote origin
  Fetch URL: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
  Push  URL: https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git

slate% git show HEAD^ | head -n 3
commit 8f1a7f43d199ef47f466040c3d0160d1e610979f
Author: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Date:   Tue Jun 27 12:23:56 2017 +0300
```

I can confirm that this removes the error message on boot.

```
slate% dmesg | grep 'iwlwifi'         
[    7.755349] Loading modules backported from iwlwifi
[    7.755349] iwlwifi-stack-public:release/LinuxCore30:6324:fa7904b8
[    7.771272] iwlwifi 0000:04:00.0: enabling device (0000 -> 0002)
[    7.773934] iwlwifi 0000:04:00.0: Direct firmware load for iwl-dbg-cfg.ini failed with error -2
[    7.773947] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-33.ucode failed with error -2
[    7.773953] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-32.ucode failed with error -2
[    7.773959] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-31.ucode failed with error -2
[    7.773964] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-30.ucode failed with error -2
[    7.773970] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-29.ucode failed with error -2
[    7.773975] iwlwifi 0000:04:00.0: Direct firmware load for iwlwifi-8000C-28.ucode failed with error -2
[    7.779184] iwlwifi 0000:04:00.0: loaded firmware version 27.455470.0 op_mode iwlmvm
[    7.793490] iwlwifi 0000:04:00.0: Detected Intel(R) Dual Band Wireless AC 8260, REV=0x208
[    7.868771] iwlwifi 0000:04:00.0: base HW address: 34:f3:9a:XX:XX:XX
[    7.946488] iwlwifi 0000:04:00.0 wlp4s0: renamed from wlan0

```
Comment 4 Emmanuel Grumbach 2017-06-30 05:13:45 UTC
Yeah, so I had the patch for our backport tree, and then I changed it to apply on the kernel but since you had the backport tree, it didn't apply.

Anyway, closing the bug, the patch will make its way upstream.