Ath10k to read different board data file if specify in SMBIOS

Bug #1666742 reported by AceLan Kao
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Medium
Shrirang Bagul
linux (Ubuntu)
Fix Released
Medium
Shrirang Bagul
Xenial
Fix Released
Undecided
Unassigned
Yakkety
Won't Fix
Undecided
Unassigned
Zesty
Fix Released
Undecided
Unassigned

Bug Description

Board Data File (BDF) is loaded upon driver boot-up procedure. The right
board data file is identified, among others, by device and sybsystem ids.

The problem, however, can occur when the (default) board data file cannot
fulfill with the vendor requirements and it is necessary to use a different
board data file.

To solve the issue QCA uses SMBIOS type 0xF8 to store Board Data File Name
Extension to specify the extension/variant name. The driver will take the
extension suffix into consideration and will load the right (non-default)
board data file if necessary.

Revision history for this message
AceLan Kao (acelankao) wrote :

We need to backport this commit to xenial and yaketty
https://patchwork.kernel.org/patch/9521307/

Changed in hwe-next:
assignee: nobody → AceLan Kao (acelankao)
Changed in linux (Ubuntu):
importance: Undecided → Medium
Changed in hwe-next:
importance: Undecided → Medium
Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :

@Acelan,

The patch mentioned in comment#1 was reverted in the upstream tree (see https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v4.12&id=005c3490e9db23738d91e02788606c0fe4734723). Do we still want to backport this to xenial & yaketty?

Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :

Instead, it will be better to backport this patch (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1657b8f84ed9fc1d2a100671f1d42d6286f20073) which fixes possible regression issues.

Changed in linux (Ubuntu):
assignee: AceLan Kao (acelankao) → Shrirang Bagul (shrirang-bagul)
Changed in hwe-next:
assignee: AceLan Kao (acelankao) → Shrirang Bagul (shrirang-bagul)
Revision history for this message
Shrirang Bagul (shrirang-bagul) wrote :
Download full text (4.8 KiB)

On XPS-13-9360 (SMBIOS board variant BDF_RV_0520), ath10k falls back to default firmware. Partial log is below:

[ 1151.458814] ath10k_pci 0000:3a:00.0: Hardware name qca6174 hw3.2 version 0x5030000
[ 1151.458844] ath10k_pci 0000:3a:00.0: Direct firmware load for ath10k/cal-pci-0000:3a:00.0.bin failed with error -2
[ 1151.458849] ath10k_pci 0000:3a:00.0: trying fw api 5
[ 1151.458865] ath10k_pci 0000:3a:00.0: Direct firmware load for ath10k/QCA6174/hw3.0/firmware-5.bin failed with error -2
[ 1151.458870] ath10k_pci 0000:3a:00.0: could not fetch firmware file 'ath10k/QCA6174/hw3.0/firmware-5.bin': -2
[ 1151.458873] ath10k_pci 0000:3a:00.0: trying fw api 4
[ 1151.459279] ath10k_pci 0000:3a:00.0: found fw version WLAN.RM.2.0-00180-QCARMSWPZ-1
[ 1151.459283] ath10k_pci 0000:3a:00.0: found fw timestamp 1438990954
[ 1151.459287] ath10k_pci 0000:3a:00.0: found otp image ie (23921 B)
[ 1151.459290] ath10k_pci 0000:3a:00.0: found fw image ie (709754 B)
[ 1151.459293] ath10k_pci 0000:3a:00.0: found firmware features ie (2 B)
[ 1151.459296] ath10k_pci 0000:3a:00.0: Enabling feature bit: 6
[ 1151.459299] ath10k_pci 0000:3a:00.0: Enabling feature bit: 7
[ 1151.459302] ath10k_pci 0000:3a:00.0: Enabling feature bit: 8
[ 1151.459305] ath10k_pci 0000:3a:00.0: features
[ 1151.459310] ath10k_pci 0000:3a:00.0: 00000000: c0 01 00 00 00 00 00 00 ........
[ 1151.459313] ath10k_pci 0000:3a:00.0: found fw ie wmi op version 4
[ 1151.459316] ath10k_pci 0000:3a:00.0: using fw api 4
[ 1151.459320] ath10k_pci 0000:3a:00.0: boot upload otp to 0x1234 len 23921 for board id
[ 1151.521485] ath10k_pci 0000:3a:00.0: boot get otp board id result 0x00000001 board_id 0 chip_id 0
[ 1151.521489] ath10k_pci 0000:3a:00.0: found and validated bdf variant smbios_type 0xf8 bdf BDF_RV_0520
[ 1151.521494] ath10k_pci 0000:3a:00.0: boot using board name 'bus=pci,vendor=168c,device=003e,subsystem-vendor=1a56,subsystem-device=1535,variant=RV_0520'
[ 1151.521579] ath10k_pci 0000:3a:00.0: board name
[ 1151.521580] ath10k_pci 0000:3a:00.0: 00000000: 62 75 73 3d 70 63 69 2c 76 65 6e 64 6f 72 3d 31 bus=pci,vendor=1
[ 1151.521581] ath10k_pci 0000:3a:00.0: 00000010: 36 38 63 2c 64 65 76 69 63 65 3d 30 30 33 65 2c 68c,device=003e,
[ 1151.521582] ath10k_pci 0000:3a:00.0: 00000020: 73 75 62 73 79 73 74 65 6d 2d 76 65 6e 64 6f 72 subsystem-vendor
[ 1151.521584] ath10k_pci 0000:3a:00.0: 00000030: 3d 31 36 38 63 2c 73 75 62 73 79 73 74 65 6d 2d =168c,subsystem-
[ 1151.521585] ath10k_pci 0000:3a:00.0: 00000040: 64 65 76 69 63 65 3d 33 33 34 65 device=334e
....
....
....
[ 1151.521749] ath10k_pci 0000:3a:00.0: board name
[ 1151.521750] ath10k_pci 0000:3a:00.0: 00000000: 62 75 73 3d 70 63 69 2c 76 65 6e 64 6f 72 3d 31 bus=pci,vendor=1
[ 1151.521751] ath10k_pci 0000:3a:00.0: 00000010: 36 38 63 2c 64 65 76 69 63 65 3d 30 30 33 65 2c 68c,device=003e,
[ 1151.521752] ath10k_pci 0000:3a:00.0: 00000020: 73 75 62 73 79 73 74 65 6d 2d 76 65 6e 64 6f 72 subsystem-vendor
[ 1151.521753] ath10k_pci 0000:3a:00.0: 00000030: 3d 31 61 35 36 2c 73 75 62 73 79 73 74 65 6d 2d =1a56,subsystem-
[ 1151.521754] ath10k_pci 0000:3a:00.0: 00000040: 64 65 76 69 63 65 3d 31 35 33 35 ...

Read more...

Changed in linux (Ubuntu Yakkety):
status: New → Won't Fix
Changed in linux (Ubuntu Yakkety):
status: Won't Fix → New
Changed in hwe-next:
status: New → In Progress
tags: added: originate-from-1641490
Changed in linux (Ubuntu Xenial):
status: New → Fix Committed
Changed in linux (Ubuntu Zesty):
status: New → Fix Committed
Changed in linux (Ubuntu Yakkety):
status: New → Fix Committed
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-zesty' to 'verification-done-zesty'. If the problem still exists, change the tag 'verification-needed-zesty' to 'verification-failed-zesty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-zesty
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-xenial
Revision history for this message
Andy Whitcroft (apw) wrote : Closing unsupported series nomination.

This bug was nominated against a series that is no longer supported, ie yakkety. The bug task representing the yakkety nomination is being closed as Won't Fix.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Won't Fix
Revision history for this message
Kleber Sacilotto de Souza (kleber-souza) wrote :

@AceLan and @Shrirang,

Could you please verify if the fix available on the kernels currently in -proposed fix the issue? Thanks!

tags: added: verification-done-xenial
removed: verification-needed-xenial
tags: added: verification-done-zesty
removed: verification-needed-zesty
Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Changed in hwe-next:
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.6 KiB)

This bug was fixed in the package linux - 4.10.0-30.34

---------------
linux (4.10.0-30.34) zesty; urgency=low

  * CVE-2017-7533
    - dentry name snapshots

linux (4.10.0-29.33) zesty; urgency=low

  * linux: 4.10.0-29.33 -proposed tracker (LP: #1704961)

  * Opal and POWER9 DD2 (LP: #1702159)
    - powerpc/powernv: Tell OPAL about our MMU mode on POWER9
    - powerpc/powernv: Fix boot on Power8 bare metal due to opal_configure_cores()

  * CVE-2017-1000364
    - mm/mmap.c: do not blow on PROT_NONE MAP_FIXED holes in the stack
    - mm/mmap.c: expand_downwards: don't require the gap if !vm_prev

  * [Xenial] nvme: Quirks for PM1725 controllers (LP: #1704435)
    - nvme: Quirks for PM1725 controllers

  * hns: under heavy load, NIC may fail and require reboot (LP: #1704146)
    - net: hns: Bugfix for Tx timeout handling in hns driver

  * New ACPI identifiers for ThunderX SMMU (LP: #1703437)
    - iommu/arm-smmu: Plumb in new ACPI identifiers

  * CVE-2017-7482
    - rxrpc: Fix several cases where a padded len isn't checked in ticket decode

  * CVE-2017-1000365
    - fs/exec.c: account for argv/envp pointers

  * CVE-2017-10810
    - drm/virtio: don't leak bo on drm_gem_object_init failure

  * Data corruption with hio driver (LP: #1701316)
    - SAUCE: hio: Fix incorrect use of enum req_opf values

  * arm64: fix crash reading /proc/kcore (LP: #1702749)
    - fs/proc: kcore: use kcore_list type to check for vmalloc/module address
    - arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT

  * cxlflash update request in the Xenial SRU stream (LP: #1702521)
    - scsi: cxlflash: Refactor context reset to share reset logic
    - scsi: cxlflash: Support SQ Command Mode
    - scsi: cxlflash: Cleanup prints
    - scsi: cxlflash: Cancel scheduled workers before stopping AFU
    - scsi: cxlflash: Enable PCI device ID for future IBM CXL Flash AFU
    - scsi: cxlflash: Separate RRQ processing from the RRQ interrupt handler
    - scsi: cxlflash: Serialize RRQ access and support offlevel processing
    - scsi: cxlflash: Implement IRQ polling for RRQ processing
    - scsi: cxlflash: Update sysfs helper routines to pass config structure
    - scsi: cxlflash: Support dynamic number of FC ports
    - scsi: cxlflash: Remove port configuration assumptions
    - scsi: cxlflash: Hide FC internals behind common access routine
    - scsi: cxlflash: SISlite updates to support 4 ports
    - scsi: cxlflash: Support up to 4 ports
    - scsi: cxlflash: Fence EEH during probe
    - scsi: cxlflash: Remove unnecessary DMA mapping
    - scsi: cxlflash: Fix power-of-two validations
    - scsi: cxlflash: Fix warnings/errors
    - scsi: cxlflash: Improve asynchronous interrupt processing
    - scsi: cxlflash: Support multiple hardware queues
    - scsi: cxlflash: Add hardware queues attribute
    - scsi: cxlflash: Introduce hardware queue steering
    - cxl: Enable PCI device IDs for future IBM CXL adapters
    - scsi: cxlflash: Select IRQ_POLL
    - scsi: cxlflash: Combine the send queue locks
    - scsi: cxlflash: Update cxlflash_afu_sync() to return errno
    - scsi: cxlflash: Reset hardware queue context via specified register
    - scsi: cxlflash: Schedule asynchronous res...

Read more...

Changed in linux (Ubuntu Zesty):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (12.0 KiB)

This bug was fixed in the package linux - 4.4.0-89.112

---------------
linux (4.4.0-89.112) xenial; urgency=low

  * CVE-2017-7533
    - dentry name snapshots

linux (4.4.0-88.111) xenial; urgency=low

  * linux: 4.4.0-88.111 -proposed tracker (LP: #1705270)

  * [Xenial] nvme: Quirks for PM1725 controllers (LP: #1704435)
    - nvme: Quirks for PM1725 controllers

  * Upgrade Redpine WLAN/BT driver to ver. 1.2 (production release)
    (LP: #1697829)
    - SAUCE: Redpine: Upgrade to ver. 1.2 production release

  * ubuntu/rsi driver has several issues as picked up by static analysis
    (LP: #1694733)
    - SAUCE: Redpine: Upgrade to ver. 1.2 production release

  * Redpine vendor driver - Switching to AP mode causes kernel panic
    (LP: #1700941)
    - SAUCE: Redpine: Upgrade to ver. 1.2 production release

  * CVE-2017-10810
    - drm/virtio: don't leak bo on drm_gem_object_init failure

  * Ath10k to read different board data file if specify in SMBIOS (LP: #1666742)
    - ath10k: search SMBIOS for OEM board file extension

  * make snap-pkg support (LP: #1700747)
    - SAUCE: make snap-pkg support

  * ISST-LTE: Briggs:Stratton:UbuntuKVM: ics_opal_set_affinity on host kernel
    log using Intel X710 (i40e driver) (LP: #1703663)
    - i40e: use valid online CPU on q_vector initialization

  * Update snapcraft.yaml (LP: #1700480)
    - snapcraft.yaml: various improvements

  * Xenial update to 4.4.76 stable release (LP: #1702863)
    - ipv6: release dst on error in ip6_dst_lookup_tail
    - net: don't call strlen on non-terminated string in dev_set_alias()
    - decnet: dn_rtmsg: Improve input length sanitization in
      dnrmg_receive_user_skb
    - net: Zero ifla_vf_info in rtnl_fill_vfinfo()
    - af_unix: Add sockaddr length checks before accessing sa_family in bind and
      connect handlers
    - Fix an intermittent pr_emerg warning about lo becoming free.
    - net: caif: Fix a sleep-in-atomic bug in cfpkt_create_pfx
    - igmp: acquire pmc lock for ip_mc_clear_src()
    - igmp: add a missing spin_lock_init()
    - ipv6: fix calling in6_ifa_hold incorrectly for dad work
    - net/mlx5: Wait for FW readiness before initializing command interface
    - decnet: always not take dst->__refcnt when inserting dst into hash table
    - net: 8021q: Fix one possible panic caused by BUG_ON in free_netdev
    - sfc: provide dummy definitions of vswitch functions
    - ipv6: Do not leak throw route references
    - rtnetlink: add IFLA_GROUP to ifla_policy
    - netfilter: xt_TCPMSS: add more sanity tests on tcph->doff
    - netfilter: synproxy: fix conntrackd interaction
    - NFSv4: fix a reference leak caused WARNING messages
    - drm/ast: Handle configuration without P2A bridge
    - mm, swap_cgroup: reschedule when neeed in swap_cgroup_swapoff()
    - MIPS: Avoid accidental raw backtrace
    - MIPS: pm-cps: Drop manual cache-line alignment of ready_count
    - MIPS: Fix IRQ tracing & lockdep when rescheduling
    - ALSA: hda - Fix endless loop of codec configure
    - ALSA: hda - set input_path bitmap to zero after moving it to new place
    - drm/vmwgfx: Free hash table allocated by cmdbuf managed res mgr
    - usb: gadget: f_fs: Fix possi...

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Changed in hwe-next:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.