Linux wireless drivers development
 help / color / mirror / Atom feed
* RE: [PATCH] mac80211: Update last_ack status for all except probing frames
From: Rajkumar Manoharan @ 2017-11-02 18:06 UTC (permalink / raw)
  To: Igor Mitsyanko, johannes@sipsolutions.net
  Cc: linux-wireless@vger.kernel.org, rmanohar@codeaurora.org
In-Reply-To: <46362ff1-acfb-701c-5f71-7d117d223e1a@quantenna.com>

PiBUbyBjbGFyaWZ5OiB3b3VsZG4ndCBpdCBicmVhayBob3N0YXBkJ3MgImluYWN0aXZpdHkgdGlt
ZW90IGtpY2stb3V0Ig0KPiBsb2dpYyBpbiBob3N0YXBkPyBBcyBob3N0YXBkIGdlbmVyYXRlcyBO
VUxMIGZyYW1lcyB0byBpZGxlIHN0YXRpb25zIHRvIHJlc2V0DQo+IHRoZWlyIGluYWN0aXZpdHkg
dGltZSwgb3RoZXJ3aXNlIGl0IHdpbGwgZGlzYXNzb2NpYXRlIGEgc3RhdGlvbiwgYWZ0ZXIgYW4N
Cj4gYXBfbWF4X2luYWN0aXZpdHkgcGVyaW9kLg0KDQpJZ29yLA0KDQpJIHZhbGlkYXRlZCBob3N0
cGFkIGluYWN0aXZpdHkgbW9uaXRvcmluZyB3aXRoIHRoaXMgY2hhbmdlIGFuZCBIb3N0YXBkIGlz
IHNlbmRpbmcNCk51bGxkYXRhIHBlcmlvZGljYWxseSBmb3IgaW5hY3RpdmUgc3RhdGlvbnMuIEhv
c3RhcGQgcmVzZXRzIHRpbWVyIGJhc2VkIG9uIHR4IGFjaw0Kc3RhdHVzIG9mIG51bGxkYXRhLiBT
byByZXRhaW5pbmcgYWN0dWFsIHN0YXRpb24gaW5hY3RpdmUgcGVyaW9kIHdpbGwgbm90IGJyZWFr
DQpob3N0YXBkIG1vbml0b3JpbmcuDQoNClBsZWFzZSByZXBvcnQgaWYgeW91IHNlZSBhbnkgaXNz
dWUgd2l0aCB0aGlzIGNoYW5nZS4gVGhhbmtzIGZvciB5b3VyIGZlZWRiYWNrLg0KDQotUmFqa3Vt
YXINCg0K

^ permalink raw reply

* Re: [PATCH] ath10k: fix recent bandwidth conversion bug
From: Christian Lamparter @ 2017-11-02 19:34 UTC (permalink / raw)
  To: Sebastian Gottschall; +Cc: linux-wireless, Kalle Valo
In-Reply-To: <224e2890-3775-967b-d4ce-4297574c0642@dd-wrt.com>

On Wednesday, November 1, 2017 9:37:53 PM CET Sebastian Gottschall wrote:
> a additional array bounds check would be good

Ah, about that:

the bw variable in ath10k_htt_rx_h_rates() is extracted from info2
in the following way [0]:
|	bw = info2 & 3;

the txrate.bw variable in ath10k_update_per_peer_tx_stats() is set by [1]:
|	txrate.bw = ATH10K_HW_BW(peer_stats->flags);

ATH10K_HW_BW is a macro defined as [2]:
|	#define ATH10K_HW_BW(flags)		(((flags) >> 3) & 0x3)

In both cases the bandwidth values already are limited to 0-3 by
the "and 3" operation.

[0] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/htt_rx.c#L646>

[1] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/htt_rx.c#L2254>
[2] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/wmi.h#L4810>


> > @@ -592,6 +592,9 @@ struct amsdu_subframe_hdr {
> >   
> >   #define GROUP_ID_IS_SU_MIMO(x) ((x) == 0 || (x) == 63)
> >   
> > +static const u8 ath10k_bw_to_mac80211[] = { RATE_INFO_BW_20, RATE_INFO_BW_40,
> > +	RATE_INFO_BW_80, RATE_INFO_BW_160 };
> > +
> >   static void ath10k_htt_rx_h_rates(struct ath10k *ar,
> >   				  struct ieee80211_rx_status *status,
> >   				  struct htt_rx_desc *rxd)
> > @@ -694,23 +697,7 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar,
> >   		if (sgi)
> >   			status->enc_flags |= RX_ENC_FLAG_SHORT_GI;
> >   
> > [...]
> > +		status->bw = ath10k_bw_to_mac80211[bw];
> >   		status->encoding = RX_ENC_VHT;
> >   		break;
> >   	default:
> > @@ -2297,7 +2284,7 @@ ath10k_update_per_peer_tx_stats(struct ath10k *ar,
> >   		arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
> >   
> >   	arsta->txrate.nss = txrate.nss;
> > -	arsta->txrate.bw = txrate.bw + RATE_INFO_BW_20;
> > +	arsta->txrate.bw = ath10k_bw_to_mac80211[txrate.bw];
> >   }
> >   
> >   static void ath10k_htt_fetch_peer_stats(struct ath10k *ar,

^ permalink raw reply

* Re: [PATCH] ath10k: fix recent bandwidth conversion bug
From: Sebastian Gottschall @ 2017-11-02 21:08 UTC (permalink / raw)
  To: Christian Lamparter; +Cc: linux-wireless, Kalle Valo
In-Reply-To: <1666282.PC3nhpCf9f@debian64>

i know. saw that later too. code should be safe

Am 02.11.2017 um 20:34 schrieb Christian Lamparter:
> On Wednesday, November 1, 2017 9:37:53 PM CET Sebastian Gottschall wrote:
>> a additional array bounds check would be good
> Ah, about that:
>
> the bw variable in ath10k_htt_rx_h_rates() is extracted from info2
> in the following way [0]:
> |	bw = info2 & 3;
>
> the txrate.bw variable in ath10k_update_per_peer_tx_stats() is set by [1]:
> |	txrate.bw = ATH10K_HW_BW(peer_stats->flags);
>
> ATH10K_HW_BW is a macro defined as [2]:
> |	#define ATH10K_HW_BW(flags)		(((flags) >> 3) & 0x3)
>
> In both cases the bandwidth values already are limited to 0-3 by
> the "and 3" operation.
>
> [0] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/htt_rx.c#L646>
>
> [1] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/htt_rx.c#L2254>
> [2] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/wmi.h#L4810>
>
>
>>> @@ -592,6 +592,9 @@ struct amsdu_subframe_hdr {
>>>    
>>>    #define GROUP_ID_IS_SU_MIMO(x) ((x) == 0 || (x) == 63)
>>>    
>>> +static const u8 ath10k_bw_to_mac80211[] = { RATE_INFO_BW_20, RATE_INFO_BW_40,
>>> +	RATE_INFO_BW_80, RATE_INFO_BW_160 };
>>> +
>>>    static void ath10k_htt_rx_h_rates(struct ath10k *ar,
>>>    				  struct ieee80211_rx_status *status,
>>>    				  struct htt_rx_desc *rxd)
>>> @@ -694,23 +697,7 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar,
>>>    		if (sgi)
>>>    			status->enc_flags |= RX_ENC_FLAG_SHORT_GI;
>>>    
>>> [...]
>>> +		status->bw = ath10k_bw_to_mac80211[bw];
>>>    		status->encoding = RX_ENC_VHT;
>>>    		break;
>>>    	default:
>>> @@ -2297,7 +2284,7 @@ ath10k_update_per_peer_tx_stats(struct ath10k *ar,
>>>    		arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
>>>    
>>>    	arsta->txrate.nss = txrate.nss;
>>> -	arsta->txrate.bw = txrate.bw + RATE_INFO_BW_20;
>>> +	arsta->txrate.bw = ath10k_bw_to_mac80211[txrate.bw];
>>>    }
>>>    
>>>    static void ath10k_htt_fetch_peer_stats(struct ath10k *ar,
>
>
>

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply

* ath9k disconnects in 4.13 with reason=4 locally_generated=1
From: Daniel Drake @ 2017-11-03  2:57 UTC (permalink / raw)
  To: linux-wireless, QCA ath9k Development; +Cc: Linux Upstreaming Team

Hi,

Endless OS recently upgraded from Linux 4.11 to Linux 4.13, and we now
have a few reports of issues with ath9k wireless becoming unusable.

In the logs we can see that it authenticates, associates and completes
the WPA 4 way handshake, before then being disconnected with:

 wlp2s0: CTRL-EVENT-DISCONNECTED bssid=74:26:ac:68:2f:c0 reason=4
locally_generated=1

The cycle then repeats with it connecting again before being swiftly
disconnected, etc.

More logs: https://gist.github.com/dsd/49f263c67c2859838ce168628ab043e0

At the same time that we upgraded the kernel, we also upgraded many
other components (e.g. NetworkManager and wpa_supplicant), however the
same problem has been reported on Arch Linux and a user there reports
that he narrowed it down to a kernel regression between 4.12 and 4.13:
https://bbs.archlinux.org/viewtopic.php?id=225199

Unfortunately we can not reproduce this in our office, so can't offer
much more info yet, but we are continuing to investigate. I have not
found any codepaths in userspace that generate disconnect reason 4, so
I think it must be something in the kernel causing the disconnection,
but I did not see any suspicious changes in recent commit history.

It would be good to hear from anyone who has heard of this or has any
ideas about causes or solutions.

Thanks
Daniel

^ permalink raw reply

* Re: [PATCH v6] brcmfmac: add CLM download support
From: Chung-Hsien Hsu @ 2017-11-03  8:27 UTC (permalink / raw)
  To: arend.vanspriel, franky.lin, hante.meuleman, kvalo, chi-hsien.lin,
	wright.feng
  Cc: linux-wireless, brcm80211-dev-list.pdl, stanley.hsu
In-Reply-To: <1507188678-24985-1-git-send-email-wright.feng@cypress.com>

On Thu, Oct 05, 2017 at 03:31:18PM +0800, Wright Feng wrote:
> From: Chung-Hsien Hsu <stanley.hsu@cypress.com>
> 
> The firmware for brcmfmac devices includes information regarding
> regulatory constraints. For certain devices this information is kept
> separately in a binary form that needs to be downloaded to the device.
> This patch adds support to download this so-called CLM blob file. It
> uses the same naming scheme as the other firmware files with extension
> of .clm_blob.
> 
> The CLM blob file is optional. If the file does not exist, the download
> process will be bypassed. It will not affect the driver loading.
> 
> Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
> ---
> v2: Revise commit message to describe in more detail
> v3: Add error handling in brcmf_c_get_clm_name function
> v4: Correct the length of dload_buf in brcmf_c_download function
> v5: Remove unnecessary cast and alignment
> v6: Add debug log for the case of no CLM file present
> ---
>  .../net/wireless/broadcom/brcm80211/brcmfmac/bus.h |  10 ++
>  .../wireless/broadcom/brcm80211/brcmfmac/common.c  | 162 +++++++++++++++++++++
>  .../wireless/broadcom/brcm80211/brcmfmac/core.c    |   2 +
>  .../wireless/broadcom/brcm80211/brcmfmac/core.h    |   2 +
>  .../broadcom/brcm80211/brcmfmac/fwil_types.h       |  31 ++++
>  .../wireless/broadcom/brcm80211/brcmfmac/pcie.c    |  19 +++
>  .../wireless/broadcom/brcm80211/brcmfmac/sdio.c    |  19 +++
>  .../net/wireless/broadcom/brcm80211/brcmfmac/usb.c |  18 +++
>  8 files changed, 263 insertions(+)

Any comments or feedback about this? I'm hoping to have it in v4.15.

Regards,
Chung-Hsien

^ permalink raw reply

* Re: [PATCH v6] brcmfmac: add CLM download support
From: Arend van Spriel @ 2017-11-03  9:20 UTC (permalink / raw)
  To: Chung-Hsien Hsu, franky.lin, hante.meuleman, kvalo, chi-hsien.lin,
	wright.feng
  Cc: linux-wireless, brcm80211-dev-list.pdl
In-Reply-To: <20171103082725.GB25372@aremote01.aus.cypress.com>

On 03-11-17 09:27, Chung-Hsien Hsu wrote:
> On Thu, Oct 05, 2017 at 03:31:18PM +0800, Wright Feng wrote:
>> From: Chung-Hsien Hsu <stanley.hsu@cypress.com>
>>
>> The firmware for brcmfmac devices includes information regarding
>> regulatory constraints. For certain devices this information is kept
>> separately in a binary form that needs to be downloaded to the device.
>> This patch adds support to download this so-called CLM blob file. It
>> uses the same naming scheme as the other firmware files with extension
>> of .clm_blob.
>>
>> The CLM blob file is optional. If the file does not exist, the download
>> process will be bypassed. It will not affect the driver loading.
>>
>> Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
>> ---
>> v2: Revise commit message to describe in more detail
>> v3: Add error handling in brcmf_c_get_clm_name function
>> v4: Correct the length of dload_buf in brcmf_c_download function
>> v5: Remove unnecessary cast and alignment
>> v6: Add debug log for the case of no CLM file present
>> ---
>>   .../net/wireless/broadcom/brcm80211/brcmfmac/bus.h |  10 ++
>>   .../wireless/broadcom/brcm80211/brcmfmac/common.c  | 162 +++++++++++++++++++++
>>   .../wireless/broadcom/brcm80211/brcmfmac/core.c    |   2 +
>>   .../wireless/broadcom/brcm80211/brcmfmac/core.h    |   2 +
>>   .../broadcom/brcm80211/brcmfmac/fwil_types.h       |  31 ++++
>>   .../wireless/broadcom/brcm80211/brcmfmac/pcie.c    |  19 +++
>>   .../wireless/broadcom/brcm80211/brcmfmac/sdio.c    |  19 +++
>>   .../net/wireless/broadcom/brcm80211/brcmfmac/usb.c |  18 +++
>>   8 files changed, 263 insertions(+)
> 
> Any comments or feedback about this? I'm hoping to have it in v4.15.

Hi Chung-Hsien,

Sorry for not following up. The change log for v6 made me wonder if all 
my comments on v5 were addressed. I just checked and it looks fine to 
me. Kalle has set this patch to Deferred state in patchwork maybe 
awaiting my response. I already gave my "Reviewed-by:" on v5 so you may 
add that for v6, but I am sure Kalle can do that.

Regards,
Arend

^ permalink raw reply

* Re: [PATCH v6] brcmfmac: add CLM download support
From: Chung-Hsien Hsu @ 2017-11-03  9:40 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: franky.lin, hante.meuleman, kvalo, chi-hsien.lin, wright.feng,
	linux-wireless, brcm80211-dev-list.pdl
In-Reply-To: <9773ee9a-90d3-a303-54b0-9893503190f9@broadcom.com>

On Fri, Nov 03, 2017 at 10:20:07AM +0100, Arend van Spriel wrote:
> On 03-11-17 09:27, Chung-Hsien Hsu wrote:
> >On Thu, Oct 05, 2017 at 03:31:18PM +0800, Wright Feng wrote:
> >>From: Chung-Hsien Hsu <stanley.hsu@cypress.com>
> >>
> >>The firmware for brcmfmac devices includes information regarding
> >>regulatory constraints. For certain devices this information is kept
> >>separately in a binary form that needs to be downloaded to the device.
> >>This patch adds support to download this so-called CLM blob file. It
> >>uses the same naming scheme as the other firmware files with extension
> >>of .clm_blob.
> >>
> >>The CLM blob file is optional. If the file does not exist, the download
> >>process will be bypassed. It will not affect the driver loading.
> >>
> >>Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
> >>---
> >>v2: Revise commit message to describe in more detail
> >>v3: Add error handling in brcmf_c_get_clm_name function
> >>v4: Correct the length of dload_buf in brcmf_c_download function
> >>v5: Remove unnecessary cast and alignment
> >>v6: Add debug log for the case of no CLM file present
> >>---
> >>  .../net/wireless/broadcom/brcm80211/brcmfmac/bus.h |  10 ++
> >>  .../wireless/broadcom/brcm80211/brcmfmac/common.c  | 162 +++++++++++++++++++++
> >>  .../wireless/broadcom/brcm80211/brcmfmac/core.c    |   2 +
> >>  .../wireless/broadcom/brcm80211/brcmfmac/core.h    |   2 +
> >>  .../broadcom/brcm80211/brcmfmac/fwil_types.h       |  31 ++++
> >>  .../wireless/broadcom/brcm80211/brcmfmac/pcie.c    |  19 +++
> >>  .../wireless/broadcom/brcm80211/brcmfmac/sdio.c    |  19 +++
> >>  .../net/wireless/broadcom/brcm80211/brcmfmac/usb.c |  18 +++
> >>  8 files changed, 263 insertions(+)
> >
> >Any comments or feedback about this? I'm hoping to have it in v4.15.
> 
> Hi Chung-Hsien,
> 
> Sorry for not following up. The change log for v6 made me wonder if
> all my comments on v5 were addressed. I just checked and it looks
> fine to me. Kalle has set this patch to Deferred state in patchwork
> maybe awaiting my response. I already gave my "Reviewed-by:" on v5
> so you may add that for v6, but I am sure Kalle can do that.
> 
> Regards,
> Arend

Hi Arend,

Thanks for the confirmation and quick reply. How can I know the state of
a patch, e.g., a patch is set to Deferred state?


Hi Kalle,

Could you please help to add Arend's "Reviewed-by:" on v6? Or should I
add it and resend v6?

Regards,
Chung-Hsien

^ permalink raw reply

* Re: ath9k disconnects in 4.13 with reason=4 locally_generated=1
From: Jouni Malinen @ 2017-11-03  9:51 UTC (permalink / raw)
  To: Daniel Drake
  Cc: linux-wireless@vger.kernel.org, ath9k-devel,
	Linux Upstreaming Team
In-Reply-To: <CAD8Lp47N8ENCPp0ELd5_H8efEna9FGemM-vvi0kf7=coG5tNXA@mail.gmail.com>

On Fri, Nov 03, 2017 at 10:57:11AM +0800, Daniel Drake wrote:
> Endless OS recently upgraded from Linux 4.11 to Linux 4.13, and we now
> have a few reports of issues with ath9k wireless becoming unusable.
>=20
> In the logs we can see that it authenticates, associates and completes
> the WPA 4 way handshake, before then being disconnected with:
>=20
>  wlp2s0: CTRL-EVENT-DISCONNECTED bssid=3D74:26:ac:68:2f:c0 reason=3D4
> locally_generated=3D1

reason=3D4 is WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY. I'd expect the most
likely source of this to be one of the mac80211 code paths in mlme.c
where disconnection is triggered if the current AP become unreachable.
Getting a debug log from mac80211 might help in figuring out what is
causing this (there seem to be number of mlme_dbg() calls before most,
but not necessarily all, places where
WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY is used).

--=20
Jouni Malinen                                            PGP id EFC895FA=

^ permalink raw reply

* pull-request: iwlwifi-next 2017-11-03
From: Luca Coelho @ 2017-11-03 10:02 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, linuxwifi

[-- Attachment #1: Type: text/plain, Size: 4368 bytes --]

Hi Kalle,

Here's the final set of patches intended for v4.15.  It's not too
important to get them into v4.15 if there is no time anymore.  There
are a few new PCI IDs that can be added in the rc series or stable
(they need to go to other stable releases anyway).  And there's also
one bugfix that I could also send to rc.  The rest are just cleanups,
improvements or related to the A000 series.  Let me know how it goes
and I'll adapt if needed.

I have sent this out before and kbuildbot reported success.

Please let me know if there are any issues.

Cheers,
Luca.


The following changes since commit e226fb5affccca98c405de80527180224d93d251:

  Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git (2017-11-02 19:48:25 +0200)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git tags/iwlwifi-next-for-kalle-2017-11-03

for you to fetch changes up to 57b36f7fcb39c5eae8c1f463699f747af69643ba:

  iwlwifi: add new cards for a000 series (2017-11-03 11:56:10 +0200)

----------------------------------------------------------------
iwlwifi updates

* Some new PCI IDs;
* A bunch of cleanups;
* The timers update by Kees;
* Add more register dump call-sites;
* A fix for a locking issue in the TX flush code;
* Actual implementation of the TX flush code for A000;
* An optimization to drop RX frames during restart to avoid BA issues;

----------------------------------------------------------------
Emmanuel Grumbach (3):
      iwlwifi: mvm: rs: remove the ANT C from the toogle antenna logic
      iwlwifi: remove dead code for internal devices only
      iwlwifi: remove host assisted paging

Ihab Zhaika (3):
      iwlwifi: add new cards for 8260 series
      iwlwifi: add new cards for 8265 series
      iwlwifi: add new cards for a000 series

Kees Cook (1):
      iwlwifi: mvm: Convert timers to use timer_setup()

Kirtika Ruchandani (1):
      iwlwifi: Add more call-sites for pcie reg dumper

Liad Kaufman (1):
      iwlwifi: mvm: reset seq num after restart

Luca Coelho (1):
      iwlwifi: mvm: hold mutex when flushing in iwl_mvm_flush_no_vif()

Sara Sharon (6):
      iwlwifi: mvm: use RS macro instead of duplicating the code
      iwlwifi: mvm: cleanup references to aggregation count limit
      iwlwifi: mvm: improve latency when there is a reorder timeout
      iwlwifi: fix multi queue notification for a000 devices
      iwlwifi: mvm: refactor iwl_mvm_flush_no_vif
      iwlwifi: mvm: add missing implementation of flush for a000 devices

Shahar S Matityahu (1):
      iwlwifi: drop RX frames during hardware restart

 drivers/net/wireless/intel/iwlwifi/cfg/8000.c      |  51 -------------------------------------------------
 drivers/net/wireless/intel/iwlwifi/fw/api/paging.h |  24 -----------------------
 drivers/net/wireless/intel/iwlwifi/fw/file.h       |   2 +-
 drivers/net/wireless/intel/iwlwifi/fw/img.h        |   8 --------
 drivers/net/wireless/intel/iwlwifi/fw/paging.c     | 103 ++++++++++++---------------------------------------------------------------------------------------
 drivers/net/wireless/intel/iwlwifi/iwl-config.h    |   3 ---
 drivers/net/wireless/intel/iwlwifi/iwl-csr.h       |   2 --
 drivers/net/wireless/intel/iwlwifi/iwl-drv.c       |   6 ------
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h     |  42 +++++++++++-----------------------------
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c        |  15 ---------------
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |  62 ++++++++++++++++++++++++++++++-----------------------------
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       |   4 ++--
 drivers/net/wireless/intel/iwlwifi/mvm/ops.c       |   1 -
 drivers/net/wireless/intel/iwlwifi/mvm/rs.c        |  10 +++-------
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c      |  23 ++++++++++++++++++++--
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c       |  50 ++++++++++++++++++++++++++++--------------------
 drivers/net/wireless/intel/iwlwifi/mvm/tx.c        |   3 +--
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c      |  10 ++++++++++
 drivers/net/wireless/intel/iwlwifi/pcie/trans.c    |   7 ++++---
 drivers/net/wireless/intel/iwlwifi/pcie/tx.c       |   1 +
 20 files changed, 127 insertions(+), 300 deletions(-)

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply

* Re: pull-request: iwlwifi firmwares update 2017-10-13
From: Luca Coelho @ 2017-11-03 10:14 UTC (permalink / raw)
  To: Kyle McMartin
  Cc: linux-wireless, linuxwifi, linux-firmware, Grumbach, Emmanuel
In-Reply-To: <1507895435.5497.18.camel@coelho.fi>

On Fri, 2017-10-13 at 14:50 +0300, Luca Coelho wrote:
> Hi Kyle,
> 
> I have updated the firmwares for the 3160, 3168, 7260, 7265D, 8000C
> and
> 8265 devices.
> 
> Please pull or let me know if there are any issues.

This is now deprecated and I'm going to send a new pull-request with
more new commits.

--
Cheers,
Luca.

^ permalink raw reply

* pull-request: iwlwifi firmwares update 2017-10-13
From: Luca Coelho @ 2017-11-03 10:19 UTC (permalink / raw)
  To: Kyle McMartin
  Cc: linux-wireless, linuxwifi, linux-firmware, Grumbach, Emmanuel

[-- Attachment #1: Type: text/plain, Size: 2374 bytes --]

Hi Kyle,

I have updated the firmwares for the 3160, 3168, 7260, 7265D, 8000C and
8265 devices and added new FW versions for 8000C, 8265 and the new 9000
series.

Please pull or let me know if there are any issues.

Cheers,
Luca.


The following changes since commit bf04291309d3169c0ad3b8db52564235bbd08e30:

  WHENCE: Add new qed firmware (2017-10-09 18:03:26 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git tags/iwlwifi-fw-2017-11-03

for you to fetch changes up to c4276b65390d32d33c8263a7e3c8be0db8cccad4:

  iwlwifi: add firmware version 33 for new 9000 series (2017-11-03 12:09:42 +0200)

----------------------------------------------------------------
iwlwifi: add new FW for 9000 series and update other ones

* Add FW version 33 for 9000 series;
* Add FW version 34 for 8000 and 8265;
* Update FW version 17 for 3160, 7260 and 7265;
* Update FW version 29 for 3168 and 7265D;

----------------------------------------------------------------
Luca Coelho (4):
      iwlwifi: update firmwares for 3160, 3168, 7265D, 8000C and 8265
      iwlwifi: update firmwares for 3160, 3168, 7260, 7265 and 7265D
      iwlwifi: add new firmware version 34 for 8000C and 8265
      iwlwifi: add firmware version 33 for new 9000 series

 WHENCE                            |  26 +++++++++++++++++++-------
 iwlwifi-3160-17.ucode             | Bin 918268 -> 918268 bytes
 iwlwifi-3168-29.ucode             | Bin 1036372 -> 1036372 bytes
 iwlwifi-7260-17.ucode             | Bin 1049340 -> 1049340 bytes
 iwlwifi-7265-17.ucode             | Bin 1180412 -> 1180412 bytes
 iwlwifi-7265D-29.ucode            | Bin 1036528 -> 1036528 bytes
 iwlwifi-8000C-31.ucode            | Bin 2309768 -> 2310116 bytes
 iwlwifi-8000C-34.ucode            | Bin 0 -> 2448976 bytes
 iwlwifi-8265-31.ucode             | Bin 2303024 -> 2307104 bytes
 iwlwifi-8265-34.ucode             | Bin 0 -> 2440780 bytes
 iwlwifi-9000-pu-b0-jf-b0-33.ucode | Bin 0 -> 2632620 bytes
 iwlwifi-9260-th-b0-jf-b0-33.ucode | Bin 0 -> 2637216 bytes
 12 files changed, 19 insertions(+), 7 deletions(-)
 create mode 100644 iwlwifi-8000C-34.ucode
 create mode 100644 iwlwifi-8265-34.ucode
 create mode 100644 iwlwifi-9000-pu-b0-jf-b0-33.ucode
 create mode 100644 iwlwifi-9260-th-b0-jf-b0-33.ucode

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply

* Re: [PATCH v6] brcmfmac: add CLM download support
From: Kalle Valo @ 2017-11-03 13:40 UTC (permalink / raw)
  To: Chung-Hsien Hsu
  Cc: Arend van Spriel, franky.lin, hante.meuleman, chi-hsien.lin,
	wright.feng, linux-wireless, brcm80211-dev-list.pdl
In-Reply-To: <20171103094016.GA51515@aremote01.aus.cypress.com>

Chung-Hsien Hsu <stanley.hsu@cypress.com> writes:

> On Fri, Nov 03, 2017 at 10:20:07AM +0100, Arend van Spriel wrote:
>> On 03-11-17 09:27, Chung-Hsien Hsu wrote:
>> >On Thu, Oct 05, 2017 at 03:31:18PM +0800, Wright Feng wrote:
>> >>From: Chung-Hsien Hsu <stanley.hsu@cypress.com>
>> >>
>> >>The firmware for brcmfmac devices includes information regarding
>> >>regulatory constraints. For certain devices this information is kept
>> >>separately in a binary form that needs to be downloaded to the device.
>> >>This patch adds support to download this so-called CLM blob file. It
>> >>uses the same naming scheme as the other firmware files with extension
>> >>of .clm_blob.
>> >>
>> >>The CLM blob file is optional. If the file does not exist, the download
>> >>process will be bypassed. It will not affect the driver loading.
>> >>
>> >>Signed-off-by: Chung-Hsien Hsu <stanley.hsu@cypress.com>
>> >>---
>> >>v2: Revise commit message to describe in more detail
>> >>v3: Add error handling in brcmf_c_get_clm_name function
>> >>v4: Correct the length of dload_buf in brcmf_c_download function
>> >>v5: Remove unnecessary cast and alignment
>> >>v6: Add debug log for the case of no CLM file present
>> >>---
>> >>  .../net/wireless/broadcom/brcm80211/brcmfmac/bus.h |  10 ++
>> >>  .../wireless/broadcom/brcm80211/brcmfmac/common.c  | 162 +++++++++++++++++++++
>> >>  .../wireless/broadcom/brcm80211/brcmfmac/core.c    |   2 +
>> >>  .../wireless/broadcom/brcm80211/brcmfmac/core.h    |   2 +
>> >>  .../broadcom/brcm80211/brcmfmac/fwil_types.h       |  31 ++++
>> >>  .../wireless/broadcom/brcm80211/brcmfmac/pcie.c    |  19 +++
>> >>  .../wireless/broadcom/brcm80211/brcmfmac/sdio.c    |  19 +++
>> >>  .../net/wireless/broadcom/brcm80211/brcmfmac/usb.c |  18 +++
>> >>  8 files changed, 263 insertions(+)
>> >
>> >Any comments or feedback about this? I'm hoping to have it in v4.15.

This might not necessary make it to v4.15, it depends if Linus releases
the final v4.14 on Sunday or not.

>> Sorry for not following up. The change log for v6 made me wonder if
>> all my comments on v5 were addressed. I just checked and it looks
>> fine to me. Kalle has set this patch to Deferred state in patchwork
>> maybe awaiting my response.

Yup, I was waiting your comments.

>> I already gave my "Reviewed-by:" on v5 so you may add that for v6,
>> but I am sure Kalle can do that.
>> 
>> Regards,
>> Arend
>
> Hi Arend,
>
> Thanks for the confirmation and quick reply. How can I know the state of
> a patch, e.g., a patch is set to Deferred state?

I have documented this in the wiki:

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches#checking_state_of_patches_from_patchwork

> Could you please help to add Arend's "Reviewed-by:" on v6? Or should I
> add it and resend v6?

Sure, I can add it. No need to resend.

And actually Arend should be able to add the tag automatically by
replying to the patch with his tag, patchwork would then pick it up and
add it when I apply the patch. To my knowledge patchwork supports
Acked-by, Reviewed-by and Tested-by tags.

-- 
Kalle Valo

^ permalink raw reply

* [PATCH] orinoco_usb: remove redundant pointer dev
From: Colin King @ 2017-11-03 13:45 UTC (permalink / raw)
  To: Kalle Valo, linux-wireless, netdev; +Cc: kernel-janitors, linux-kernel

From: Colin Ian King <colin.king@canonical.com>

The pointer dev is assigned but never read, hence it is redundant
and can be removed. Cleans up clang warning:

drivers/net/wireless/intersil/orinoco/orinoco_usb.c:1468:2: warning:
Value stored to 'dev' is never read

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/net/wireless/intersil/orinoco/orinoco_usb.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
index 56f6e3b71f48..501180584b4b 100644
--- a/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
+++ b/drivers/net/wireless/intersil/orinoco/orinoco_usb.c
@@ -1457,7 +1457,6 @@ static void ezusb_bulk_in_callback(struct urb *urb)
 
 static inline void ezusb_delete(struct ezusb_priv *upriv)
 {
-	struct net_device *dev;
 	struct list_head *item;
 	struct list_head *tmp_item;
 	unsigned long flags;
@@ -1465,7 +1464,6 @@ static inline void ezusb_delete(struct ezusb_priv *upriv)
 	BUG_ON(in_interrupt());
 	BUG_ON(!upriv);
 
-	dev = upriv->dev;
 	mutex_lock(&upriv->mtx);
 
 	upriv->udev = NULL;	/* No timer will be rearmed from here */
-- 
2.14.1

^ permalink raw reply related

* [PATCH] rtlwifi: remove redundant pointer tid_data
From: Colin King @ 2017-11-03 14:09 UTC (permalink / raw)
  To: Larry Finger, Chaoming Li, Kalle Valo, linux-wireless, netdev
  Cc: kernel-janitors, linux-kernel

From: Colin Ian King <colin.king@canonical.com>

tid_data is assigned but never read, hence it is redundant
and can be removed. Cleans up clang warning:

drivers/net/wireless/realtek/rtlwifi/base.c:1581:2: warning: Value
stored to 'tid_data' is never read

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/net/wireless/realtek/rtlwifi/base.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/base.c b/drivers/net/wireless/realtek/rtlwifi/base.c
index 7e3107f9e37f..cad2272ae21b 100644
--- a/drivers/net/wireless/realtek/rtlwifi/base.c
+++ b/drivers/net/wireless/realtek/rtlwifi/base.c
@@ -1630,7 +1630,6 @@ int rtl_tx_agg_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 		    struct ieee80211_sta *sta, u16 tid)
 {
 	struct rtl_priv *rtlpriv = rtl_priv(hw);
-	struct rtl_tid_data *tid_data;
 	struct rtl_sta_info *sta_entry = NULL;
 
 	if (sta == NULL)
@@ -1643,7 +1642,6 @@ int rtl_tx_agg_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 		return -EINVAL;
 
 	sta_entry = (struct rtl_sta_info *)sta->drv_priv;
-	tid_data = &sta_entry->tids[tid];
 	sta_entry->tids[tid].agg.agg_state = RTL_AGG_STOP;
 
 	ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid);
-- 
2.14.1

^ permalink raw reply related

* pull-request: wireless-drivers-next 2017-11-03
From: Kalle Valo @ 2017-11-03 14:11 UTC (permalink / raw)
  To: David Miller; +Cc: linux-wireless, netdev, linux-kernel

Hi Dave,

another pull request to net-next for v4.15. I'm at the airport on my way
to Netdev 2.2, so please pay extra attention if I made any stupid
mistakes. And as always, please let me know if there are any problems.

If Linus does not release final v4.14 on Sunday, and gives us one more
week before the merge window, I'll try to send one more pull request
next week.

Kalle

The following changes since commit aec72f3392b1d598a979e89c4fdb131965ae0ab3:

  net-tun: fix panics at dismantle time (2017-10-20 13:31:26 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next=
.git tags/wireless-drivers-next-for-davem-2017-11-03

for you to fetch changes up to e226fb5affccca98c405de80527180224d93d251:

  Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/a=
th.git (2017-11-02 19:48:25 +0200)

----------------------------------------------------------------
wireless-drivers-next patches for 4.15

Mostly fixes this time, but also few new features.

Major changes:

wil6210

* remove ssid debugfs file

rsi

* add WOWLAN support for suspend, hibernate and shutdown states

ath10k

* add support for CCMP-256, GCMP and GCMP-256 ciphers on hardware
  where it's supported (QCA99x0 and QCA4019)

----------------------------------------------------------------
Amitkumar Karwar (2):
      rsi: move rsi_sdio_reinit_device() out of CONFIG_PM
      rsi: fix kbuild reported build errors with CONFIG_PM off

Anilkumar Kolli (3):
      ath10k: move ath10k_mac_tdls_vif*() functions
      ath10k: block offchannel operations if TDLS session is active
      ath10k: fix sending wmi cmd during the tdls teardown

Arnd Bergmann (2):
      brcmsmac: split up wlc_phy_workarounds_nphy
      brcmsmac: reindent split functions

Ben Greear (1):
      ath10k: store coverage-class in case firmware is not booted

Beni Lev (1):
      iwlwifi: mvm: allow reading UMAC error data from SMEM in A000 devices

Bhumika Goyal (1):
      ath10k: make ath10k_hw_ce_regs const

Brian Norris (2):
      ath10k: fix core PCI suspend when WoWLAN is supported but disabled
      ath10k: fix build errors with !CONFIG_PM

Christos Gkekas (2):
      ath10k: spectral: remove redundant check in write_file_spectral_count=
()
      ath9k: debug: Remove redundant check

Colin Ian King (1):
      ath9k: make const array reg_hole_list static, reduces object code size

Ganapathi Bhat (1):
      mwifiex: do not transmit in 11N rates when connected in TKIP security

Himanshu Jha (1):
      ath9k: remove cast to void pointer

Igor Mitsyanko (1):
      qtnfmac: advertise support of inactivity timeout

Joe Perches (1):
      bcma: Use bcma_debug and not pr_cont in MIPS driver

Johannes Berg (6):
      iwlwifi: mvm: allocate reorder buffer according to need
      iwlwifi: mvm: pass baid_data to iwl_mvm_release_frames()
      iwlwifi: pcie: remove set but not used variable tcph
      wil6210: remove wil6210_uapi.h from MAINTAINERS
      wil6210: remove SSID debugfs
      libertas: don't write wdev->ssid/_len

Kalle Valo (3):
      Merge tag 'iwlwifi-next-for-kalle-2017-10-18' of git://git.kernel.org=
/.../iwlwifi/iwlwifi-next
      Merge ath-next from git://git.kernel.org/.../kvalo/ath.git
      Merge ath-next from git://git.kernel.org/.../kvalo/ath.git

Karun Eagalapati (3):
      rsi: sdio: add WOWLAN support for S3 suspend state
      rsi: sdio: Add WOWLAN support for S4 hibernate state
      rsi: sdio: Add WOWLAN support for S5 shutdown state

Kees Cook (9):
      rtlwifi: Convert timers to use timer_setup()
      qtnfmac: Convert timers to use timer_setup()
      iwlegacy: Convert timers to use timer_setup()
      atmel: Convert timers to use timer_setup()
      cw1200: Convert timers to use timer_setup()
      drivers/wireless: rsi: Convert timers to use timer_setup()
      mwifiex: Convert timers to use timer_setup()
      libertas: Convert timers to use timer_setup()
      ath: Convert timers to use timer_setup()

Liad Kaufman (1):
      iwlwifi: mvm: add missing lq_color

Loic Poulain (1):
      wcn36xx: Disable 5GHz for wcn3620

Luca Coelho (3):
      iwlwifi: mvm: move umac_error_event_table validity check to where it'=
s set
      iwlwifi: define minimum valid address for umac_error_event_table in c=
fg
      iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons

Miaoqing Pan (1):
      ath9k: fix tx99 potential info leak

Nik Nyby (1):
      rtlwifi: rtl8821ae: Fix typo in variable name

Ping-Ke Shih (1):
      rtlwifi: Remove seq_number from rtl_tid_data

Rajkumar Manoharan (1):
      ath10k: add new cipher suite support

Sara Sharon (1):
      iwlwifi: mvm: remove duplicated fields in mvm reorder buffer

Sergey Matyukevich (4):
      qtnfmac: modify full Tx queue error reporting
      qtnfmac: enable registration of more mgmt frames
      qtnfmac: drop nonexistent function declaration
      qtnfmac: modify full Tx queue recovery

Thomas Meyer (1):
      ath9k: Use ARRAY_SIZE macro

Venkateswara Naralasetty (1):
      ath10k: check power save support in STA mode through FW IE

Ville Syrj=C3=A4l=C3=A4 (1):
      ath9k: Avoid a potential deadlock

 MAINTAINERS                                        |    1 -
 drivers/bcma/driver_mips.c                         |   11 +-
 drivers/net/wireless/ath/ar5523/ar5523.c           |    7 +-
 drivers/net/wireless/ath/ath10k/core.c             |   13 +
 drivers/net/wireless/ath/ath10k/core.h             |    3 +
 drivers/net/wireless/ath/ath10k/htt_rx.c           |    6 +-
 drivers/net/wireless/ath/ath10k/hw.c               |   13 +-
 drivers/net/wireless/ath/ath10k/hw.h               |    7 +-
 drivers/net/wireless/ath/ath10k/mac.c              |  168 +-
 drivers/net/wireless/ath/ath10k/pci.c              |   46 +-
 drivers/net/wireless/ath/ath10k/pci.h              |    2 +-
 drivers/net/wireless/ath/ath10k/spectral.c         |    2 +-
 drivers/net/wireless/ath/ath10k/wmi.c              |    3 +-
 drivers/net/wireless/ath/ath10k/wmi.h              |    1 +
 drivers/net/wireless/ath/ath6kl/cfg80211.c         |    6 +-
 drivers/net/wireless/ath/ath6kl/core.h             |    2 +-
 drivers/net/wireless/ath/ath6kl/main.c             |    5 +-
 drivers/net/wireless/ath/ath6kl/txrx.c             |    6 +-
 drivers/net/wireless/ath/ath6kl/wmi.c              |    4 +-
 drivers/net/wireless/ath/ath6kl/wmi.h              |    2 +-
 drivers/net/wireless/ath/ath9k/ar9003_eeprom.c     |    5 +-
 drivers/net/wireless/ath/ath9k/ar9003_mac.c        |    4 +-
 drivers/net/wireless/ath/ath9k/ath9k.h             |    4 +-
 drivers/net/wireless/ath/ath9k/channel.c           |   19 +-
 drivers/net/wireless/ath/ath9k/debug.c             |    4 +-
 drivers/net/wireless/ath/ath9k/dfs.c               |    2 +-
 drivers/net/wireless/ath/ath9k/gpio.c              |   14 +-
 drivers/net/wireless/ath/ath9k/hif_usb.c           |    8 +-
 drivers/net/wireless/ath/ath9k/htc.h               |    2 +-
 drivers/net/wireless/ath/ath9k/htc_drv_beacon.c    |    2 +-
 drivers/net/wireless/ath/ath9k/htc_drv_init.c      |   27 +-
 drivers/net/wireless/ath/ath9k/htc_drv_main.c      |    2 +-
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c      |   10 +-
 drivers/net/wireless/ath/ath9k/init.c              |   12 +-
 drivers/net/wireless/ath/ath9k/link.c              |   10 +-
 drivers/net/wireless/ath/ath9k/main.c              |   22 +-
 drivers/net/wireless/ath/ath9k/mci.c               |    2 +-
 drivers/net/wireless/ath/ath9k/tx99.c              |    5 +
 drivers/net/wireless/ath/ath9k/wmi.c               |    4 +-
 drivers/net/wireless/ath/wcn36xx/main.c            |   12 +-
 drivers/net/wireless/ath/wcn36xx/wcn36xx.h         |    6 +
 drivers/net/wireless/ath/wil6210/debugfs.c         |   45 -
 drivers/net/wireless/ath/wil6210/main.c            |   15 +-
 drivers/net/wireless/ath/wil6210/p2p.c             |    4 +-
 drivers/net/wireless/ath/wil6210/wil6210.h         |    2 +-
 drivers/net/wireless/atmel/atmel.c                 |   10 +-
 .../broadcom/brcm80211/brcmsmac/phy/phy_n.c        | 1675 ++++++++++------=
----
 drivers/net/wireless/intel/iwlegacy/3945-mac.c     |    2 +-
 drivers/net/wireless/intel/iwlegacy/3945-rs.c      |   10 +-
 drivers/net/wireless/intel/iwlegacy/4965-mac.c     |    9 +-
 drivers/net/wireless/intel/iwlegacy/common.c       |    4 +-
 drivers/net/wireless/intel/iwlegacy/common.h       |    2 +-
 drivers/net/wireless/intel/iwlwifi/cfg/8000.c      |    3 +-
 drivers/net/wireless/intel/iwlwifi/cfg/9000.c      |    3 +-
 drivers/net/wireless/intel/iwlwifi/cfg/a000.c      |    3 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/tx.h     |    4 +-
 drivers/net/wireless/intel/iwlwifi/iwl-config.h    |    1 +
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c        |   20 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       |   43 +-
 drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c      |   49 +-
 drivers/net/wireless/intel/iwlwifi/mvm/sta.c       |   44 +-
 drivers/net/wireless/intel/iwlwifi/mvm/tx.c        |   10 +
 drivers/net/wireless/intel/iwlwifi/mvm/utils.c     |   17 +-
 drivers/net/wireless/intel/iwlwifi/pcie/drv.c      |   84 +-
 drivers/net/wireless/intel/iwlwifi/pcie/tx-gen2.c  |    5 +-
 drivers/net/wireless/marvell/libertas/cfg.c        |    3 -
 drivers/net/wireless/marvell/libertas/if_usb.c     |    6 +-
 drivers/net/wireless/marvell/libertas/main.c       |   21 +-
 drivers/net/wireless/marvell/libertas_tf/if_usb.c  |    6 +-
 drivers/net/wireless/marvell/libertas_tf/main.c    |    7 +-
 .../net/wireless/marvell/mwifiex/11n_rxreorder.c   |    7 +-
 drivers/net/wireless/marvell/mwifiex/cmdevt.c      |    5 +-
 drivers/net/wireless/marvell/mwifiex/fw.h          |    3 +-
 drivers/net/wireless/marvell/mwifiex/init.c        |    7 +-
 drivers/net/wireless/marvell/mwifiex/main.c        |    3 +-
 drivers/net/wireless/marvell/mwifiex/main.h        |    4 +-
 drivers/net/wireless/marvell/mwifiex/tdls.c        |    7 +-
 drivers/net/wireless/marvell/mwifiex/usb.c         |    9 +-
 drivers/net/wireless/quantenna/qtnfmac/cfg80211.c  |   24 +-
 drivers/net/wireless/quantenna/qtnfmac/commands.c  |    5 +-
 drivers/net/wireless/quantenna/qtnfmac/core.c      |   29 +-
 drivers/net/wireless/quantenna/qtnfmac/core.h      |    4 +-
 .../net/wireless/quantenna/qtnfmac/pearl/pcie.c    |   15 +-
 .../quantenna/qtnfmac/pearl/pcie_bus_priv.h        |    1 +
 drivers/net/wireless/quantenna/qtnfmac/qlink.h     |   11 +-
 drivers/net/wireless/realtek/rtlwifi/base.c        |   26 +-
 drivers/net/wireless/realtek/rtlwifi/base.h        |    4 +-
 drivers/net/wireless/realtek/rtlwifi/core.c        |    2 +-
 drivers/net/wireless/realtek/rtlwifi/pci.c         |   17 -
 drivers/net/wireless/realtek/rtlwifi/ps.c          |    2 +-
 .../net/wireless/realtek/rtlwifi/rtl8188ee/dm.c    |    6 +-
 .../net/wireless/realtek/rtlwifi/rtl8188ee/dm.h    |    2 +-
 .../net/wireless/realtek/rtlwifi/rtl8188ee/hw.c    |    7 +-
 .../net/wireless/realtek/rtlwifi/rtl8188ee/hw.h    |    2 +-
 .../net/wireless/realtek/rtlwifi/rtl8188ee/sw.c    |   12 +-
 .../net/wireless/realtek/rtlwifi/rtl8821ae/hw.c    |   10 +-
 drivers/net/wireless/realtek/rtlwifi/usb.c         |   17 -
 drivers/net/wireless/realtek/rtlwifi/wifi.h        |    1 -
 drivers/net/wireless/rsi/rsi_91x_core.c            |    8 +
 drivers/net/wireless/rsi/rsi_91x_hal.c             |    7 +-
 drivers/net/wireless/rsi/rsi_91x_mac80211.c        |  135 +-
 drivers/net/wireless/rsi/rsi_91x_main.c            |    5 +-
 drivers/net/wireless/rsi/rsi_91x_mgmt.c            |   69 +-
 drivers/net/wireless/rsi/rsi_91x_sdio.c            |  141 ++
 drivers/net/wireless/rsi/rsi_common.h              |    5 +-
 drivers/net/wireless/rsi/rsi_main.h                |   12 +-
 drivers/net/wireless/rsi/rsi_mgmt.h                |   33 +-
 drivers/net/wireless/st/cw1200/main.c              |    3 +-
 drivers/net/wireless/st/cw1200/queue.c             |    6 +-
 drivers/net/wireless/st/cw1200/sta.c               |    5 +-
 drivers/net/wireless/st/cw1200/sta.h               |    2 +-
 111 files changed, 1838 insertions(+), 1426 deletions(-)

--=20
Kalle Valo

^ permalink raw reply

* ath10k_pci / qca6174 firmware crash...
From: Thomas Backlund @ 2017-11-03 16:49 UTC (permalink / raw)
  To: linux-wireless


I have a Lenovo Yoga 720 running linux 4.13.10


Got a firmware crash, and a reboot was needed to get the wireless back.

is this known ?

kernel logs:
> [22881.494830] ath10k_pci 0000:3f:00.0: firmware crashed! (uuid n/a)
> [22881.494840] ath10k_pci 0000:3f:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 17aa:0827
> [22881.494842] ath10k_pci 0000:3f:00.0: kconfig debug 1 debugfs 0 tracing 0 dfs 0 testmode 0
> [22881.495227] ath10k_pci 0000:3f:00.0: firmware ver WLAN.RM.4.4.1-00051-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 c3fd4411
> [22881.495495] ath10k_pci 0000:3f:00.0: board_file api 2 bmi_id N/A crc32 0e26ef70
> [22881.495498] ath10k_pci 0000:3f:00.0: htt-ver 3.44 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
> [22881.507606] ath10k_pci 0000:3f:00.0: failed to get memcpy hi address for firmware address 4: -16
> [22881.507607] ath10k_pci 0000:3f:00.0: failed to read firmware dump area: -16
> [22881.507609] ath10k_pci 0000:3f:00.0: Copy Engine register dump:
> [22881.507625] ath10k_pci 0000:3f:00.0: [00]: 0x00034400   2   2   3   3
> [22881.507637] ath10k_pci 0000:3f:00.0: [01]: 0x00034800  24  24 357 358
> [22881.507644] ath10k_pci 0000:3f:00.0: [02]: 0x00034c00  35  35  97  99
> [22881.507655] ath10k_pci 0000:3f:00.0: [03]: 0x00035000   2   2   4   2
> [22881.507663] ath10k_pci 0000:3f:00.0: [04]: 0x00035400 847 847 233 169
> [22881.507672] ath10k_pci 0000:3f:00.0: [05]: 0x00035800   0   0  64   0
> [22881.507684] ath10k_pci 0000:3f:00.0: [06]: 0x00035c00  26  26  26  26
> [22881.507691] ath10k_pci 0000:3f:00.0: [07]: 0x00036000   1   1   1   1
> [22881.571157] ieee80211 phy0: Hardware restart was requested
> [22882.260322] ath10k_pci 0000:3f:00.0: Unknown eventid: 118809
> [22882.262835] ath10k_pci 0000:3f:00.0: Unknown eventid: 90118
> [22882.356074] ath10k_pci 0000:3f:00.0: device successfully recovered



At this point network is still broken.

Here I tried to disable/enable wireless to recover network access :
(sometimes it work, but not this time)

> [23596.617062] wlp63s0: deauthenticating from 18:8b:45:02:96:cf by local choice (Reason: 3=DEAUTH_LEAVING)
> [23602.583145] ath10k_pci 0000:3f:00.0: Unknown eventid: 118809
> [23602.585917] ath10k_pci 0000:3f:00.0: Unknown eventid: 90118
> [23602.642812] IPv6: ADDRCONF(NETDEV_UP): wlp63s0: link is not ready
> [23602.655518] IPv6: ADDRCONF(NETDEV_UP): wlp63s0: link is not ready
> [23609.249013] ath10k_pci 0000:3f:00.0: failed to receive control response completion, polling..
> [23609.281698] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x00000001 at 0x00034430: -110
> [23609.314384] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00034444: -110
> [23609.347066] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x0000001e at 0x00034430: -110
> [23609.379755] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x00000001 at 0x00034830: -110
> [23609.412449] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x00000001 at 0x00035430: -110
> [23609.445129] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00035444: -110
> [23609.477809] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x0000001e at 0x00035430: -110
> [23609.510497] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x0000001e at 0x00034830: -110
> [23609.543184] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x00000001 at 0x00034c30: -110
> [23610.977362] ath10k_pci 0000:3f:00.0: ctl_resp never came in (-110)
> [23610.977365] ath10k_pci 0000:3f:00.0: failed to connect to HTC: -110
> [23614.269213] ath10k_warn: 112 callbacks suppressed
> [23614.269215] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0xffff0800 at 0x00035010: -110
> [23614.301897] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00035010: -110
> [23614.334583] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0xfffeffff at 0x00035010: -110
> [23614.367258] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003504c: -110
> [23614.399936] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x0000ffff at 0x0003504c: -110
> [23614.432615] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003504c: -110
> [23614.465293] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0xffff0020 at 0x0003504c: -110
> [23614.497976] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00035444: -110
> [23614.530657] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003543c: -110
> [23614.563341] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x0d040000 at 0x00035400: -110
> [23618.745947] ath10k_pci 0000:3f:00.0: failed to read device register, device is gone
> [23619.277892] ath10k_warn: 143 callbacks suppressed
> [23619.277895] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0xfffeffff at 0x00034410: -110
> [23619.310205] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003444c: -110
> [23619.342469] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x0000ffff at 0x0003444c: -110
> [23619.375152] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003444c: -110
> [23619.407560] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0xffff0010 at 0x0003444c: -110
> [23619.440211] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00034848: -110
> [23619.472846] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00034840: -110
> [23619.505155] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x0d03e000 at 0x00034808: -110
> [23619.537721] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0x00000200 at 0x0003480c: -110
> [23619.570447] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00034810: -110
> [23624.291033] ath10k_warn: 144 callbacks suppressed
> [23624.291036] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.323722] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.356179] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.388309] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.420669] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.453327] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.485783] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.517940] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.550562] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.582722] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23624.745569] ath10k_pci 0000:3f:00.0: failed to read device register, device is gone
> [23626.469140] ath10k_pci 0000:3f:00.0: Could not init core: -110
> [23626.481714] IPv6: ADDRCONF(NETDEV_UP): wlp63s0: link is not ready
> [23650.593887] ath10k_warn: 59 callbacks suppressed
> [23650.593889] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x00080008: -110
> [23650.626577] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0xffffffff at 0x00080008: -110
> [23650.680865] ath10k_pci 0000:3f:00.0: failed to wake target for write32 of 0xfffffffe at 0x00080008: -110
> [23650.735049] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23650.767735] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23650.800425] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23650.833110] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23650.865796] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23650.898478] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23650.931164] ath10k_pci 0000:3f:00.0: failed to wake target for read32 at 0x0003a028: -110
> [23653.871963] ath10k_pci 0000:3f:00.0: failed to read device register, device is gone
> [23653.970010] ath10k_pci 0000:3f:00.0: firmware crashed! (uuid n/a)
> [23653.970013] ath10k_pci 0000:3f:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 17aa:0827
> [23653.970014] ath10k_pci 0000:3f:00.0: kconfig debug 1 debugfs 0 tracing 0 dfs 0 testmode 0
> [23653.970387] ath10k_pci 0000:3f:00.0: firmware ver WLAN.RM.4.4.1-00051-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 c3fd4411
> [23653.970644] ath10k_pci 0000:3f:00.0: board_file api 2 bmi_id N/A crc32 0e26ef70
> [23653.970645] ath10k_pci 0000:3f:00.0: htt-ver 3.44 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
> [23654.472884] ath10k_pci 0000:3f:00.0: failed to read firmware dump area: -16
> [23654.472886] ath10k_pci 0000:3f:00.0: Copy Engine register dump:
> [23654.603625] ath10k_pci 0000:3f:00.0: [00]: 0x00034400 4294967295 4294967295 4294967295 4294967295
> [23654.734356] ath10k_pci 0000:3f:00.0: [01]: 0x00034800 4294967295 4294967295 4294967295 4294967295
> [23654.865098] ath10k_pci 0000:3f:00.0: [02]: 0x00034c00 4294967295 4294967295 4294967295 4294967295
> [23654.995839] ath10k_pci 0000:3f:00.0: [03]: 0x00035000 4294967295 4294967295 4294967295 4294967295
> [23655.126570] ath10k_pci 0000:3f:00.0: [04]: 0x00035400 4294967295 4294967295 4294967295 4294967295
> [23655.257293] ath10k_pci 0000:3f:00.0: [05]: 0x00035800 4294967295 4294967295 4294967295 4294967295
> [23655.388016] ath10k_pci 0000:3f:00.0: [06]: 0x00035c00 4294967295 4294967295 4294967295 4294967295
> [23655.518515] ath10k_pci 0000:3f:00.0: [07]: 0x00036000 4294967295 4294967295 4294967295 4294967295
> [23655.518530] ath10k_pci 0000:3f:00.0: failed to reset chip: -5
> [23655.518531] ath10k_pci 0000:3f:00.0: Could not init hif: -5


--
Thomas

^ permalink raw reply

* Re: [PATCH v2] wireless-regdb: Add 5 Ghz rules for Kazakhstan (KZ)
From: Seth Forshee @ 2017-11-03 17:36 UTC (permalink / raw)
  To: wireless-regdb, linux-wireless
  Cc: Андрей Иванов
In-Reply-To: <20171020150651.32424-1-seth.forshee@canonical.com>

On Fri, Oct 20, 2017 at 10:06:51AM -0500, Seth Forshee wrote:
> Add rules for 5150-5250 MHz, 5250-5350 MHz, and 5470-5725 Mhz
> based on the documents at [1] and [2].
> 
> v2: Also add DFS region
> 
> [1] http://mic.gov.kz/sites/default/files/pages/pravila_prisvoeniya_polos_chastot_no34.pdf
> [2] http://adilet.zan.kz/rus/docs/P000001379_
> 
> Signed-off-by: Seth Forshee <seth.forshee@canonical.com>

Applied.

^ permalink raw reply

* [PATCH] ath9k: dfs: use swap macro in ath9k_check_chirping
From: Gustavo A. R. Silva @ 2017-11-03 20:14 UTC (permalink / raw)
  To: QCA ath9k Development, Kalle Valo
  Cc: linux-wireless, netdev, linux-kernel, Gustavo A. R. Silva

Make use of the swap macro and remove unnecessary variable temp.
This makes the code easier to read and maintain.

This code was detected with the help of Coccinelle.

Signed-off-by: Gustavo A. R. Silva <garsilva@embeddedor.com>
---
 drivers/net/wireless/ath/ath9k/dfs.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/dfs.c b/drivers/net/wireless/ath/ath9k/dfs.c
index 40a397f..6fee9a4 100644
--- a/drivers/net/wireless/ath/ath9k/dfs.c
+++ b/drivers/net/wireless/ath/ath9k/dfs.c
@@ -123,11 +123,9 @@ static bool ath9k_check_chirping(struct ath_softc *sc, u8 *data,
 			fft = (struct ath9k_dfs_fft_40 *) (data + 2);
 			ath_dbg(common, DFS, "fixing datalen by 2\n");
 		}
-		if (IS_CHAN_HT40MINUS(ah->curchan)) {
-			int temp = is_ctl;
-			is_ctl = is_ext;
-			is_ext = temp;
-		}
+		if (IS_CHAN_HT40MINUS(ah->curchan))
+			swap(is_ctl, is_ext);
+
 		for (i = 0; i < FFT_NUM_SAMPLES; i++)
 			max_bin[i] = ath9k_get_max_index_ht40(fft + i, is_ctl,
 							      is_ext);
-- 
2.7.4

^ permalink raw reply related

* [PATCH] staging: wilc1000: Fix bssid buffer offset in Txq
From: Aditya Shankar @ 2017-11-03  8:56 UTC (permalink / raw)
  To: linux-wireless
  Cc: ganesh.krishna, gregkh, devel, Aditya Shankar, stable,
	Aditya Shankar

Commit 46949b48568b ("staging: wilc1000: New cfg packet
format in handle_set_wfi_drv_handler") updated the frame
format sent from host to the firmware. The code to update
the bssid offset in the new frame was part of a second
patch in the series which did not make it in and thus
causes connection problems after associating to an AP.

This fix adds the proper offset of the bssid value in the
Tx queue buffer to fix the connection issues.

Fixes: Commit 46949b48568b ("staging: wilc1000: New cfg packet format in handle_set_wfi_drv_handler")
Cc: stable@vger.kernel.org
Signed-off-by: Aditya Shankar <Aditya.Shankar@microchip.com>
---
 drivers/staging/wilc1000/wilc_wlan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c
index 9addef1..f49dfa8 100644
--- a/drivers/staging/wilc1000/wilc_wlan.c
+++ b/drivers/staging/wilc1000/wilc_wlan.c
@@ -714,7 +714,7 @@ int wilc_wlan_handle_txq(struct net_device *dev, u32 *txq_count)
 					char *bssid = ((struct tx_complete_data *)(tqe->priv))->bssid;
 
 					buffer_offset = ETH_ETHERNET_HDR_OFFSET;
-					memcpy(&txb[offset + 4], bssid, 6);
+					memcpy(&txb[offset + 8], bssid, 6);
 				} else {
 					buffer_offset = HOST_HDR_OFFSET;
 				}
-- 
2.7.4

^ permalink raw reply related

* Re: [PATCH] staging: wilc1000: Fix bssid buffer offset in Txq
From: Dan Carpenter @ 2017-11-04  6:20 UTC (permalink / raw)
  To: Aditya Shankar; +Cc: linux-wireless, devel, ganesh.krishna, stable, gregkh
In-Reply-To: <1509699387-6916-1-git-send-email-aditya.shankar@microchip.com>

This driver really needs proper structs and datatypes so this doesn't
happen again and so that you and Colin stop reverting each other's

	*pu8CurrByte++ = ((strHostIfSetMulti->enabled >> 8) & 0xFF);

assignments:

regards,
dan carpenter

^ permalink raw reply

* [PATCH] brcmfmac: add support for external 32khz clock
From: Simon Shields @ 2017-11-04 13:24 UTC (permalink / raw)
  To: linux-wireless, brcm80211-dev-list.pdl, brcm80211-dev-list
  Cc: Arend van Spriel, Franky Lin, Hante Meuleman, Chi-Hsien Lin,
	Wright Feng

Some boards use an external 32khz clock for low-power
mode timing. Make sure the clock is powered on while the chipset
is active.

Signed-off-by: Simon Shields <simon@lineageos.org>
---
 .../devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt     |  2 ++
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h      |  2 ++
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c          |  5 +++++
 drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c        | 10 ++++++++++
 4 files changed, 19 insertions(+)

diff --git a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
index b2bd4704f859..37add5e29272 100644
--- a/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
+++ b/Documentation/devicetree/bindings/net/wireless/brcm,bcm43xx-fmac.txt
@@ -17,6 +17,8 @@ Optional properties:
 	When not specified the device will use in-band SDIO interrupts.
  - interrupt-names : name of the out-of-band interrupt, which must be set
 	to "host-wake".
+ - clocks : external 32khz clock
+ - clock-names : name of the external 32khz clock, must be "32khz"
 
 Example:
 
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h
index a62f8e70b320..2e7fabae81d3 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.h
@@ -51,6 +51,7 @@ extern struct brcmf_mp_global_t brcmf_mp_global;
  * @roamoff: Firmware roaming off?
  * @ignore_probe_fail: Ignore probe failure.
  * @country_codes: If available, pointer to struct for translating country codes
+ * @clk: External 32khz clock, if present.
  * @bus: Bus specific platform data. Only SDIO at the mmoment.
  */
 struct brcmf_mp_device {
@@ -60,6 +61,7 @@ struct brcmf_mp_device {
 	bool		roamoff;
 	bool		ignore_probe_fail;
 	struct brcmfmac_pd_cc *country_codes;
+	struct clk *clk;
 	union {
 		struct brcmfmac_sdio_pd sdio;
 	} bus;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
index aee6e5937c41..46f42a2c3d2b 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c
@@ -13,6 +13,7 @@
  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+#include <linux/clk.h>
 #include <linux/init.h>
 #include <linux/of.h>
 #include <linux/of_irq.h>
@@ -39,6 +40,10 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
 	if (of_property_read_u32(np, "brcm,drive-strength", &val) == 0)
 		sdio->drive_strength = val;
 
+	settings->clk = devm_clk_get(dev, "32khz");
+	if (IS_ERR(settings->clk))
+		settings->clk = NULL;
+
 	/* make sure there are interrupts defined in the node */
 	if (!of_find_property(np, "interrupts", NULL))
 		return;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
index 613caca7dc02..f4ceca6dbe74 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c
@@ -14,6 +14,7 @@
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
+#include <linux/clk.h>
 #include <linux/types.h>
 #include <linux/atomic.h>
 #include <linux/kernel.h>
@@ -3853,6 +3854,11 @@ brcmf_sdio_probe_attach(struct brcmf_sdio *bus)
 		brcmf_err("Failed to get device parameters\n");
 		goto fail;
 	}
+
+	/* enable external 32khz clock, if present */
+	if (sdiodev->settings->clk)
+		clk_prepare_enable(sdiodev->settings->clk);
+
 	/* platform specific configuration:
 	 *   alignments must be at least 4 bytes for ADMA
 	 */
@@ -4270,6 +4276,10 @@ void brcmf_sdio_remove(struct brcmf_sdio *bus)
 			}
 			brcmf_chip_detach(bus->ci);
 		}
+
+		if (bus->sdiodev->settings->clk)
+			clk_disable_unprepare(bus->sdiodev->settings->clk);
+
 		if (bus->sdiodev->settings)
 			brcmf_release_module_param(bus->sdiodev->settings);
 
-- 
2.15.0

^ permalink raw reply related

* [PATCH] rtlwifi: remove redundant initialization to cfg_cmd
From: Colin King @ 2017-11-04 19:37 UTC (permalink / raw)
  To: Larry Finger, Chaoming Li, Kalle Valo, linux-wireless, netdev
  Cc: kernel-janitors, linux-kernel

From: Colin Ian King <colin.king@canonical.com>

cfg_cmd is initialized to zero and this value is never read, instead
it is over-written in the start of a do-while loop. Remove the
redundant initialization. Cleans up clang warning:

drivers/net/wireless/realtek/rtlwifi/core.c:1750:22: warning: Value
stored to 'cfg_cmd' during its initialization is never read

Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/net/wireless/realtek/rtlwifi/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
index 1147327e6f52..7a17cc20c57e 100644
--- a/drivers/net/wireless/realtek/rtlwifi/core.c
+++ b/drivers/net/wireless/realtek/rtlwifi/core.c
@@ -1748,7 +1748,7 @@ bool rtl_hal_pwrseqcmdparsing(struct rtl_priv *rtlpriv, u8 cut_version,
 			      u8 faversion, u8 interface_type,
 			      struct wlan_pwr_cfg pwrcfgcmd[])
 {
-	struct wlan_pwr_cfg cfg_cmd = {0};
+	struct wlan_pwr_cfg cfg_cmd;
 	bool polling_bit = false;
 	u32 ary_idx = 0;
 	u8 value = 0;
-- 
2.14.1

^ permalink raw reply related

* Re: [PATCH] rtlwifi: remove redundant initialization to cfg_cmd
From: Larry Finger @ 2017-11-04 20:26 UTC (permalink / raw)
  To: Colin King, Chaoming Li, Kalle Valo, linux-wireless, netdev
  Cc: kernel-janitors, linux-kernel
In-Reply-To: <20171104193759.919-1-colin.king@canonical.com>

On 11/04/2017 02:37 PM, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> cfg_cmd is initialized to zero and this value is never read, instead
> it is over-written in the start of a do-while loop. Remove the
> redundant initialization. Cleans up clang warning:
> 
> drivers/net/wireless/realtek/rtlwifi/core.c:1750:22: warning: Value
> stored to 'cfg_cmd' during its initialization is never read
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Looks OK to me.

Acked-by: Larry Finger <Larry.Finger@lwfinger.net>

Thanks,

Larry

> ---
>   drivers/net/wireless/realtek/rtlwifi/core.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtlwifi/core.c b/drivers/net/wireless/realtek/rtlwifi/core.c
> index 1147327e6f52..7a17cc20c57e 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/core.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/core.c
> @@ -1748,7 +1748,7 @@ bool rtl_hal_pwrseqcmdparsing(struct rtl_priv *rtlpriv, u8 cut_version,
>   			      u8 faversion, u8 interface_type,
>   			      struct wlan_pwr_cfg pwrcfgcmd[])
>   {
> -	struct wlan_pwr_cfg cfg_cmd = {0};
> +	struct wlan_pwr_cfg cfg_cmd;
>   	bool polling_bit = false;
>   	u32 ary_idx = 0;
>   	u8 value = 0;
> 

^ permalink raw reply

* rtl8821ae dbi read question
From: Nik Nyby @ 2017-11-04 23:27 UTC (permalink / raw)
  To: linux-wireless, pkshih, Larry.Finger

In drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c, we have this 
function:

  static u8 _rtl8821ae_dbi_read(struct rtl_priv *rtlpriv, u16 addr)
  {
      u16 read_addr = addr & 0xfffc;
      u8 tmp = 0, count = 0, ret = 0;

      rtl_write_word(rtlpriv, REG_DBI_ADDR, read_addr);
      rtl_write_byte(rtlpriv, REG_DBI_FLAG, 0x2);
      tmp = rtl_read_byte(rtlpriv, REG_DBI_FLAG);
      count = 0;
      while (tmp && count < 20) {
          udelay(10);
          tmp = rtl_read_byte(rtlpriv, REG_DBI_FLAG);
          count++;
      }
      if (0 == tmp) {
          read_addr = REG_DBI_RDATA + addr % 4;
          ret = rtl_read_word(rtlpriv, read_addr);
      }
      return ret;
  }

Near the end of the function, in this line:

   ret = rtl_read_word(rtlpriv, read_addr);

rtl_read_word() returns a u16, but "ret" is declared as a u8. Is that a 
problem, or is this code correct?

What's prompting this question is that I'm getting frequent disconnects 
from my access point with my rtl8821ae device. I've experienced this 
behavior both before and after the recent change to this function in 
commit b8b8b16352cd90c6083033fd4487f04fae935c18.

^ permalink raw reply

* Re: ath10k: Fix reported HT MCS rates with NSS > 1
From: Sebastian Gottschall @ 2017-11-05  9:22 UTC (permalink / raw)
  To: Kalle Valo, Sven Eckelmann; +Cc: ath10k, akolli, linux-wireless
In-Reply-To: <0a29ec25ec374a12adbc222af9a7dda1@euamsexm01a.eu.qualcomm.com>

the assumption made in this patch is obviously wrong (at least for more 
recent firmwares and 9984)
my log is flooded with messages like
[208802.803537] ath10k_pci 0001:03:00.0: Invalid VHT mcs 15 peer stats
[208805.108515] ath10k_pci 0001:03:00.0: Invalid VHT mcs 15 peer stats
[208821.747621] ath10k_pci 0001:03:00.0: Invalid VHT mcs 15 peer stats
[208822.516599] ath10k_pci 0001:03:00.0: Invalid VHT mcs 15 peer stats
[208841.257780] ath10k_pci 0001:03:00.0: Invalid VHT mcs 15 peer stats


i tested this with the 10.4.3.5-0038 firmware which isnt official 
published but made from athwlan.bin i got from qca chipcode

Am 23.05.2017 um 17:28 schrieb Kalle Valo:
> Sven Eckelmann <sven.eckelmann@openmesh.com> wrote:
>> The QCA4019 firmware 10.4-3.2.1-00050 reports only HT MCS rates between
>> 0-9. But 802.11n MCS rates can be larger than that. For example a 2x2
>> device can send with up to MCS 15.
>>
>> The firmware encodes the higher MCS rates using the NSS field. The actual
>> calculation is not documented by QCA but it seems like the NSS field can be
>> mapped for HT rates to following MCS offsets:
>>
>>   * NSS 1: 0
>>   * NSS 2: 8
>>   * NSS 3: 16
>>   * NSS 4: 24
>>
>> This offset therefore has to be added for HT rates before they are stored
>> in the rate_info struct.
>>
>> Fixes: cec17c382140 ("ath10k: add per peer htt tx stats support for 10.4")
>> Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
> Patch applied to ath-next branch of ath.git, thanks.
>
> c1dd8016ae02 ath10k: fix reported HT MCS rates with NSS > 1
>

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox