Table of Contents

Go back –> ath10k

Submitting patches

Send patches to the mailing lists below. Kalle Valo reviews the patches within the next few days and, if they are ok, commits them to ath.git.

Preferably use ath.git master branch as the baseline for patches. Other trees can be used as well, but then the chances of conflicts are higher.

It's important that linux-wireless is CCed on the patches, otherwise it won't be in patchwork and the maintainer won't see it. You can follow the state of ath10k patch review from patchwork:

https://patchwork.kernel.org/project/linux-wireless/list/?state=*&q=ath10k

More info about submitting patches:

Guidelines

Guidelines for patches are:

The terminology is from http://www.ietf.org/rfc/rfc2119.txt

Answer to "Why?"

The commit log needs to describe the motivation behind the bug, in other words provide the background information why the patch is needed and why is it needed the way it is.

Ingo Molnar has written a nice description about what maintainers are looking from a commit log, read that to understand more about commit logs.

Hardware families

ath10k supports multiple hardware families:

For each of these families have their own firmware branch with different interfaces and possibly different functionality. So then writing a patch for ath10k it's not enough to think about just one family and instead all families need to be taken into account. Otherwise risk of regressions on other families increases significantly.

To speed up patch acceptance the commit log should explain what families are affected and what families are not, and why. If that is not done that task will be left for the driver mantainer to do and that will slow down the review significantly.

Tested-on tag

As there are so many different hardware families, to make it clear on what hardware and firmware the patch is tested on please use the Tested-on tag. It's similar as Fixes tag, just informing the testing information. The format is:

Tested-on: <hwname> <hwversion> <bus> <fwversion>

Add this information after the commit log text, but before the s-o-b lines, and adding an empty line between Tested-on and s-o-b tags. There can be (and is very much preferred!) to have multiple Tested-on tags, each tag for every hardware tested.

Few examples:

Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.1-01040-QCAHLSWMTPLZ-1
Tested-on: QCA6174 hw3.2 SDIO WLAN.RMH.4.4.1-00029
Tested-on: QCA6174 hw3.2 PCI WLAN.RM.4.4.1-00110-QCARMSWP-1
Tested-on: QCA9888 hw2.0 PCI 10.4-3.10-00047

Tested-on tag should be in every patch, as non-trivial patches should not be submitted without testing. For trivial patches it's ok to skip Tested-on tag but then it should say “Compile tested only”.

Patch flow

The ath10k patch flow is this:

As a rough estimate it takes 2-4 months for a patch to propagate from ath-next to an official Linux release.

To clarify the meaning with ath-current and ath-next let's take a concrete example: let's say that the latest release from Linux is v4.9-rc2. If a patch is applied to ath-current it will most like be in v4.9-rc4 or v4.9-rc5 (usually it takes a minimum of one week to get to Linus' tree, sometimes more). But if the patch is applied to ath-next the first release it will be in is v4.10-rc1.

See also ath10k sources and branches.