Linux wireless drivers development
 help / color / mirror / Atom feed
* Re: [Make-wifi-fast] [PATCH] mac80211: Dynamically set CoDel parameters per station.
From: Toke Høiland-Jørgensen @ 2016-09-10 20:09 UTC (permalink / raw)
  To: Jim Gettys; +Cc: make-wifi-fast, linux-wireless, Felix Fietkau
In-Reply-To: <CAGhGL2D8Hfed0VTsinnCbkK31dGTc=bYjzpPfrcLRnp+x6O3sA@mail.gmail.com>

Jim Gettys <jg@freedesktop.org> writes:

>> On Sat, Sep 10, 2016 at 3:33 PM, Toke H=C3=B8iland-J=C3=B8rgensen <toke@=
toke.dk> wrote:
>>
>>  CoDel can be too aggressive if a station sends at a very low rate,
>>  leading to starvation. This gets worse the more stations are present, as
>>  each station gets more bursty the longer the round-robin scheduling
>>  between stations takes.
>>
>>  This adds dynamic adjustment of CoDel parameters per station. It uses
>>  the rate selection information to estimate throughput and sets more
>>  lenient CoDel parameters if the estimated throughput is below a
>>  threshold. To not change parameters too often, a hysteresis of two
>>  seconds is added.
>
> =E2=80=8BWhere is this 2 second constant coming from? I'd expect it shoul=
d be
> of order the maximum RTT (or a small constant factor of that, which
> for intercontinental connections should be 200-300ms.

Well, in most cases a station is either going to be squarely below or
squarely above the threshold. The hysteresis is there to deal with the
exception to this, where a station's rate oscillates around the
threshold. I picked two seconds as something that is far enough above
the CoDel interval to hopefully let it do its thing.

> More interestingly, maybe the adjustment should be related to the # of
> active stations.

There is no doubt the algorithm can be improved. This is just a stopgap
measure to avoid starving slow stations. The CoDel parameters for slow
stations could be set smarter as well, or they could be scaled with the
rate instead of being threshold based. But since we have FQ, being
lenient can work without affecting latency too much.

> Basically, I'm pushing back about an arbitrary number apparently
> picked out of thin air... ;-).

You're very welcome to contribute to coming up with a better solution ;)

-Toke

^ permalink raw reply

* [PATCH] mac80211: Dynamically set CoDel parameters per station.
From: Toke Høiland-Jørgensen @ 2016-09-10 19:33 UTC (permalink / raw)
  To: make-wifi-fast, linux-wireless
  Cc: Toke Høiland-Jørgensen, Michal Kazior, Felix Fietkau

CoDel can be too aggressive if a station sends at a very low rate,
leading to starvation. This gets worse the more stations are present, as
each station gets more bursty the longer the round-robin scheduling
between stations takes.

This adds dynamic adjustment of CoDel parameters per station. It uses
the rate selection information to estimate throughput and sets more
lenient CoDel parameters if the estimated throughput is below a
threshold. To not change parameters too often, a hysteresis of two
seconds is added.

A new callback is added that drivers can use to notify mac80211 about
changes in expected throughput, so the same adjustment can be made for
cards that implement rate control in firmware. Drivers that don't use
this will just get the default parameters.

The threshold used and the CoDel parameters set for slow stations are
chosen to err on the side of caution. I.e. rather be too lenient than
too aggressive. A better algorithm can then be added later.

Cc: Michal Kazior <michal.kazior@tieto.com>
Cc: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen <toke@toke.dk>
---
 include/net/mac80211.h  | 17 +++++++++++++++++
 net/mac80211/rate.c     |  2 ++
 net/mac80211/sta_info.c | 35 +++++++++++++++++++++++++++++++++++
 net/mac80211/sta_info.h | 12 ++++++++++++
 net/mac80211/tx.c       |  9 ++++++++-
 5 files changed, 74 insertions(+), 1 deletion(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index cca510a..6e0cf85 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -4089,6 +4089,23 @@ void ieee80211_get_tx_rates(struct ieee80211_vif *=
vif,
 			    int max_rates);
=20
 /**
+ * ieee80211_sta_set_expected_throughput - set the expected throughput f=
or a
+ * station
+ *
+ * Call this function to notify mac80211 about a change in expected thro=
ughput
+ * to a station. A driver for a device that does rate control in firmwar=
e can
+ * call this function when the expected throughput estimate towards a st=
ation
+ * changes. The information is used to tune the CoDel AQM applied to tra=
ffic
+ * going towards that station (which can otherwise be too aggressive and=
 cause
+ * slow stations to starve).
+ *
+ * @sta: the station to set throughput for.
+ * @thr: the current expected throughput in kbps.
+ */
+void ieee80211_sta_set_expected_throughput(struct ieee80211_sta *pubsta,
+					   u32 thr);
+
+/**
  * ieee80211_tx_status - transmit status callback
  *
  * Call this function for all transmitted frames after they have been
diff --git a/net/mac80211/rate.c b/net/mac80211/rate.c
index 206698b..5370f5c 100644
--- a/net/mac80211/rate.c
+++ b/net/mac80211/rate.c
@@ -890,6 +890,8 @@ int rate_control_set_rates(struct ieee80211_hw *hw,
=20
 	drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta);
=20
+	sta_update_codel_params(sta, sta_get_expected_throughput(sta));
+
 	return 0;
 }
 EXPORT_SYMBOL(rate_control_set_rates);
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index 19f14c9..6deda4a 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -20,6 +20,7 @@
 #include <linux/timer.h>
 #include <linux/rtnetlink.h>
=20
+#include <net/codel.h>
 #include <net/mac80211.h>
 #include "ieee80211_i.h"
 #include "driver-ops.h"
@@ -419,6 +420,8 @@ struct sta_info *sta_info_alloc(struct ieee80211_sub_=
if_data *sdata,
=20
 	sta->sta.max_rc_amsdu_len =3D IEEE80211_MAX_MPDU_LEN_HT_BA;
=20
+	sta_update_codel_params(sta, 0);
+
 	sta_dbg(sdata, "Allocated STA %pM\n", sta->sta.addr);
=20
 	return sta;
@@ -2306,6 +2309,15 @@ u32 sta_get_expected_throughput(struct sta_info *s=
ta)
 	return thr;
 }
=20
+void ieee80211_sta_set_expected_throughput(struct ieee80211_sta *pubsta,
+					   u32 thr)
+{
+	struct sta_info *sta =3D container_of(pubsta, struct sta_info, sta);
+
+	sta_update_codel_params(sta, thr);
+}
+EXPORT_SYMBOL(ieee80211_sta_set_expected_throughput);
+
 unsigned long ieee80211_sta_last_active(struct sta_info *sta)
 {
 	struct ieee80211_sta_rx_stats *stats =3D sta_get_last_rx_stats(sta);
@@ -2314,3 +2326,26 @@ unsigned long ieee80211_sta_last_active(struct sta=
_info *sta)
 		return stats->last_rx;
 	return sta->status_stats.last_ack;
 }
+
+void sta_update_codel_params(struct sta_info *sta, u32 thr)
+{
+	u64 now =3D ktime_get_ns();
+
+	if (!sta->sdata->local->ops->wake_tx_queue)
+		return;
+
+	if (now - sta->cparams.update_time < STA_CPARAMS_HYSTERESIS)
+		return;
+
+	if (thr && thr < STA_SLOW_THRESHOLD) {
+		sta->cparams.params.target =3D MS2TIME(50);
+		sta->cparams.params.interval =3D MS2TIME(300);
+		sta->cparams.params.ecn =3D false;
+	} else {
+		sta->cparams.params.target =3D MS2TIME(20);
+		sta->cparams.params.interval =3D MS2TIME(100);
+		sta->cparams.params.ecn =3D true;
+	}
+	sta->cparams.params.ce_threshold =3D CODEL_DISABLED_THRESHOLD;
+	sta->cparams.update_time =3D now;
+}
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 0556be3..ad088ff 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -384,6 +384,14 @@ struct ieee80211_sta_rx_stats {
 	u64 msdu[IEEE80211_NUM_TIDS + 1];
 };
=20
+#define STA_CPARAMS_HYSTERESIS (2L * NSEC_PER_SEC)
+#define STA_SLOW_THRESHOLD     8000 /* 8 Mbps */
+
+struct sta_codel_params {
+	struct codel_params params;
+	u64 update_time;
+};
+
 /**
  * struct sta_info - STA information
  *
@@ -437,6 +445,7 @@ struct ieee80211_sta_rx_stats {
  * @known_smps_mode: the smps_mode the client thinks we are in. Relevant=
 for
  *	AP only.
  * @cipher_scheme: optional cipher scheme for this station
+ * @cparams: CoDel parameters for this station.
  * @reserved_tid: reserved TID (if any, otherwise IEEE80211_TID_UNRESERV=
ED)
  * @fast_tx: TX fastpath information
  * @fast_rx: RX fastpath information
@@ -540,6 +549,8 @@ struct sta_info {
 	enum ieee80211_smps_mode known_smps_mode;
 	const struct ieee80211_cipher_scheme *cipher_scheme;
=20
+	struct sta_codel_params cparams;
+
 	u8 reserved_tid;
=20
 	struct cfg80211_chan_def tdls_chandef;
@@ -713,6 +724,7 @@ void sta_set_rate_info_tx(struct sta_info *sta,
 void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo);
=20
 u32 sta_get_expected_throughput(struct sta_info *sta);
+void sta_update_codel_params(struct sta_info *sta, u32 thr);
=20
 void ieee80211_sta_expire(struct ieee80211_sub_if_data *sdata,
 			  unsigned long exp_time);
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index efc38e7..ec60ac1 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1342,9 +1342,16 @@ static struct sk_buff *fq_tin_dequeue_func(struct =
fq *fq,
=20
 	local =3D container_of(fq, struct ieee80211_local, fq);
 	txqi =3D container_of(tin, struct txq_info, tin);
-	cparams =3D &local->cparams;
 	cstats =3D &local->cstats;
=20
+	if (txqi->txq.sta) {
+		struct sta_info *sta =3D container_of(txqi->txq.sta,
+						    struct sta_info, sta);
+		cparams =3D &sta->cparams.params;
+	} else {
+		cparams =3D &local->cparams;
+	}
+
 	if (flow =3D=3D &txqi->def_flow)
 		cvars =3D &txqi->def_cvars;
 	else
--=20
2.9.3

base-commit: abc3750c31320f36e230f88b235a90e0a35f7032

^ permalink raw reply related

* Re: [PATCH - FYI - do not apply] staging: Remove rtl8723au driver
From: Greg KH @ 2016-09-10 13:24 UTC (permalink / raw)
  To: Jes.Sorensen; +Cc: devel, linux-wireless, Larry.Finger
In-Reply-To: <1473510333-26497-1-git-send-email-Jes.Sorensen@redhat.com>

On Sat, Sep 10, 2016 at 08:25:33AM -0400, Jes.Sorensen@redhat.com wrote:
> From: Jes Sorensen <Jes.Sorensen@redhat.com>
> 
> Hi,
> 
> I sent Greg the full version of this patch, removing the old rtl8723au
> driver. I didn't want to spam the list with a 2M+ patch so this is the
> summary version. 
> 
> Cheers,
> Jes
> 
> This driver is superseded by rtl8xxxu and has been marked as scheduled
> for deletion since 4.6

I've now applied this to the staging tree, thanks.

greg k-h

^ permalink raw reply

* [PATCH - FYI - do not apply] staging: Remove rtl8723au driver
From: Jes.Sorensen @ 2016-09-10 12:25 UTC (permalink / raw)
  To: gregkh; +Cc: devel, Larry.Finger, linux-wireless, Jes Sorensen

From: Jes Sorensen <Jes.Sorensen@redhat.com>

Hi,

I sent Greg the full version of this patch, removing the old rtl8723au
driver. I didn't want to spam the list with a 2M+ patch so this is the
summary version. 

Cheers,
Jes

This driver is superseded by rtl8xxxu and has been marked as scheduled
for deletion since 4.6

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
 MAINTAINERS                                        |     7 -
 drivers/staging/Kconfig                            |     2 -
 drivers/staging/Makefile                           |     1 -
 drivers/staging/rtl8723au/Kconfig                  |    33 -
 drivers/staging/rtl8723au/Makefile                 |    53 -
 drivers/staging/rtl8723au/TODO                     |    16 -
 drivers/staging/rtl8723au/core/rtw_ap.c            |  1738 ---
 drivers/staging/rtl8723au/core/rtw_cmd.c           |  1470 ---
 drivers/staging/rtl8723au/core/rtw_efuse.c         |   538 -
 drivers/staging/rtl8723au/core/rtw_ieee80211.c     |   855 --
 drivers/staging/rtl8723au/core/rtw_mlme.c          |  2314 ----
 drivers/staging/rtl8723au/core/rtw_mlme_ext.c      |  6187 ----------
 drivers/staging/rtl8723au/core/rtw_pwrctrl.c       |   607 -
 drivers/staging/rtl8723au/core/rtw_recv.c          |  2204 ----
 drivers/staging/rtl8723au/core/rtw_security.c      |  1630 ---
 drivers/staging/rtl8723au/core/rtw_sreset.c        |   214 -
 drivers/staging/rtl8723au/core/rtw_sta_mgt.c       |   439 -
 drivers/staging/rtl8723au/core/rtw_wlan_util.c     |  1537 ---
 drivers/staging/rtl8723au/core/rtw_xmit.c          |  2337 ----
 drivers/staging/rtl8723au/hal/Hal8723PwrSeq.c      |    80 -
 drivers/staging/rtl8723au/hal/Hal8723UHWImg_CE.c   |   136 -
 .../staging/rtl8723au/hal/HalDMOutSrc8723A_CE.c    |  1097 --
 drivers/staging/rtl8723au/hal/HalHWImg8723A_BB.c   |   565 -
 drivers/staging/rtl8723au/hal/HalHWImg8723A_MAC.c  |   187 -
 drivers/staging/rtl8723au/hal/HalHWImg8723A_RF.c   |   259 -
 drivers/staging/rtl8723au/hal/HalPwrSeqCmd.c       |   156 -
 drivers/staging/rtl8723au/hal/hal_com.c            |   853 --
 drivers/staging/rtl8723au/hal/hal_intf.c           |    42 -
 drivers/staging/rtl8723au/hal/odm.c                |  1732 ---
 drivers/staging/rtl8723au/hal/odm_HWConfig.c       |   396 -
 drivers/staging/rtl8723au/hal/odm_RegConfig8723A.c |    88 -
 drivers/staging/rtl8723au/hal/odm_debug.c          |    39 -
 drivers/staging/rtl8723au/hal/odm_interface.c      |    49 -
 .../staging/rtl8723au/hal/rtl8723a_bt-coexist.c    | 11265 -------------------
 drivers/staging/rtl8723au/hal/rtl8723a_cmd.c       |   755 --
 drivers/staging/rtl8723au/hal/rtl8723a_dm.c        |   194 -
 drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c  |  2076 ----
 drivers/staging/rtl8723au/hal/rtl8723a_phycfg.c    |   961 --
 drivers/staging/rtl8723au/hal/rtl8723a_rf6052.c    |   503 -
 drivers/staging/rtl8723au/hal/rtl8723a_rxdesc.c    |    69 -
 drivers/staging/rtl8723au/hal/rtl8723a_sreset.c    |    55 -
 drivers/staging/rtl8723au/hal/rtl8723au_recv.c     |   267 -
 drivers/staging/rtl8723au/hal/rtl8723au_xmit.c     |   520 -
 drivers/staging/rtl8723au/hal/usb_halinit.c        |  1269 ---
 drivers/staging/rtl8723au/hal/usb_ops_linux.c      |   690 --
 drivers/staging/rtl8723au/include/Hal8723APhyCfg.h |   162 -
 drivers/staging/rtl8723au/include/Hal8723APhyReg.h |  1078 --
 drivers/staging/rtl8723au/include/Hal8723PwrSeq.h  |   126 -
 .../staging/rtl8723au/include/Hal8723UHWImg_CE.h   |    29 -
 .../staging/rtl8723au/include/HalDMOutSrc8723A.h   |    64 -
 .../staging/rtl8723au/include/HalHWImg8723A_BB.h   |    38 -
 .../staging/rtl8723au/include/HalHWImg8723A_FW.h   |    28 -
 .../staging/rtl8723au/include/HalHWImg8723A_MAC.h  |    26 -
 .../staging/rtl8723au/include/HalHWImg8723A_RF.h   |    25 -
 drivers/staging/rtl8723au/include/HalPwrSeqCmd.h   |   130 -
 drivers/staging/rtl8723au/include/HalVerDef.h      |   114 -
 drivers/staging/rtl8723au/include/drv_types.h      |   274 -
 drivers/staging/rtl8723au/include/hal_com.h        |   182 -
 drivers/staging/rtl8723au/include/hal_intf.h       |   115 -
 drivers/staging/rtl8723au/include/ieee80211.h      |   341 -
 drivers/staging/rtl8723au/include/ioctl_cfg80211.h |    66 -
 drivers/staging/rtl8723au/include/mlme_osdep.h     |    24 -
 drivers/staging/rtl8723au/include/odm.h            |   860 --
 drivers/staging/rtl8723au/include/odm_HWConfig.h   |   153 -
 .../staging/rtl8723au/include/odm_RegConfig8723A.h |    27 -
 .../staging/rtl8723au/include/odm_RegDefine11N.h   |   165 -
 drivers/staging/rtl8723au/include/odm_debug.h      |   117 -
 drivers/staging/rtl8723au/include/odm_interface.h  |    62 -
 drivers/staging/rtl8723au/include/odm_precomp.h    |    49 -
 drivers/staging/rtl8723au/include/odm_reg.h        |   111 -
 drivers/staging/rtl8723au/include/osdep_intf.h     |    45 -
 drivers/staging/rtl8723au/include/osdep_service.h  |    87 -
 drivers/staging/rtl8723au/include/recv_osdep.h     |    36 -
 .../rtl8723au/include/rtl8723a_bt-coexist.h        |  1627 ---
 .../staging/rtl8723au/include/rtl8723a_bt_intf.h   |    69 -
 drivers/staging/rtl8723au/include/rtl8723a_cmd.h   |   158 -
 drivers/staging/rtl8723au/include/rtl8723a_dm.h    |   137 -
 drivers/staging/rtl8723au/include/rtl8723a_hal.h   |   538 -
 drivers/staging/rtl8723au/include/rtl8723a_pg.h    |    98 -
 drivers/staging/rtl8723au/include/rtl8723a_recv.h  |    65 -
 drivers/staging/rtl8723au/include/rtl8723a_rf.h    |    58 -
 drivers/staging/rtl8723au/include/rtl8723a_spec.h  |  2148 ----
 .../staging/rtl8723au/include/rtl8723a_sreset.h    |    24 -
 drivers/staging/rtl8723au/include/rtl8723a_xmit.h  |   225 -
 drivers/staging/rtl8723au/include/rtw_ap.h         |    51 -
 drivers/staging/rtl8723au/include/rtw_cmd.h        |   815 --
 drivers/staging/rtl8723au/include/rtw_debug.h      |   191 -
 drivers/staging/rtl8723au/include/rtw_eeprom.h     |   135 -
 drivers/staging/rtl8723au/include/rtw_efuse.h      |   109 -
 drivers/staging/rtl8723au/include/rtw_event.h      |    74 -
 drivers/staging/rtl8723au/include/rtw_ht.h         |    42 -
 drivers/staging/rtl8723au/include/rtw_io.h         |   235 -
 drivers/staging/rtl8723au/include/rtw_mlme.h       |   340 -
 drivers/staging/rtl8723au/include/rtw_mlme_ext.h   |   683 --
 drivers/staging/rtl8723au/include/rtw_pwrctrl.h    |   242 -
 drivers/staging/rtl8723au/include/rtw_recv.h       |   305 -
 drivers/staging/rtl8723au/include/rtw_rf.h         |   102 -
 drivers/staging/rtl8723au/include/rtw_security.h   |   331 -
 drivers/staging/rtl8723au/include/rtw_sreset.h     |    36 -
 drivers/staging/rtl8723au/include/rtw_version.h    |     1 -
 drivers/staging/rtl8723au/include/rtw_xmit.h       |   380 -
 drivers/staging/rtl8723au/include/sta_info.h       |   373 -
 drivers/staging/rtl8723au/include/usb_ops.h        |    68 -
 drivers/staging/rtl8723au/include/usb_ops_linux.h  |    41 -
 drivers/staging/rtl8723au/include/wifi.h           |    84 -
 drivers/staging/rtl8723au/include/wlan_bssdef.h    |   123 -
 drivers/staging/rtl8723au/include/xmit_osdep.h     |    38 -
 drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c  |  3348 ------
 drivers/staging/rtl8723au/os_dep/mlme_linux.c      |    81 -
 drivers/staging/rtl8723au/os_dep/os_intfs.c        |   852 --
 drivers/staging/rtl8723au/os_dep/recv_linux.c      |   165 -
 drivers/staging/rtl8723au/os_dep/usb_intf.c        |   628 --
 drivers/staging/rtl8723au/os_dep/usb_ops_linux.c   |   233 -
 drivers/staging/rtl8723au/os_dep/xmit_linux.c      |   154 -
 114 files changed, 66426 deletions(-)
 delete mode 100644 drivers/staging/rtl8723au/Kconfig
 delete mode 100644 drivers/staging/rtl8723au/Makefile
 delete mode 100644 drivers/staging/rtl8723au/TODO
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_ap.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_cmd.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_efuse.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_ieee80211.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_mlme.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_mlme_ext.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_pwrctrl.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_recv.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_security.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_sreset.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_sta_mgt.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_wlan_util.c
 delete mode 100644 drivers/staging/rtl8723au/core/rtw_xmit.c
 delete mode 100644 drivers/staging/rtl8723au/hal/Hal8723PwrSeq.c
 delete mode 100644 drivers/staging/rtl8723au/hal/Hal8723UHWImg_CE.c
 delete mode 100644 drivers/staging/rtl8723au/hal/HalDMOutSrc8723A_CE.c
 delete mode 100644 drivers/staging/rtl8723au/hal/HalHWImg8723A_BB.c
 delete mode 100644 drivers/staging/rtl8723au/hal/HalHWImg8723A_MAC.c
 delete mode 100644 drivers/staging/rtl8723au/hal/HalHWImg8723A_RF.c
 delete mode 100644 drivers/staging/rtl8723au/hal/HalPwrSeqCmd.c
 delete mode 100644 drivers/staging/rtl8723au/hal/hal_com.c
 delete mode 100644 drivers/staging/rtl8723au/hal/hal_intf.c
 delete mode 100644 drivers/staging/rtl8723au/hal/odm.c
 delete mode 100644 drivers/staging/rtl8723au/hal/odm_HWConfig.c
 delete mode 100644 drivers/staging/rtl8723au/hal/odm_RegConfig8723A.c
 delete mode 100644 drivers/staging/rtl8723au/hal/odm_debug.c
 delete mode 100644 drivers/staging/rtl8723au/hal/odm_interface.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_bt-coexist.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_dm.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_phycfg.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_rf6052.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_rxdesc.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723au_recv.c
 delete mode 100644 drivers/staging/rtl8723au/hal/rtl8723au_xmit.c
 delete mode 100644 drivers/staging/rtl8723au/hal/usb_halinit.c
 delete mode 100644 drivers/staging/rtl8723au/hal/usb_ops_linux.c
 delete mode 100644 drivers/staging/rtl8723au/include/Hal8723APhyCfg.h
 delete mode 100644 drivers/staging/rtl8723au/include/Hal8723APhyReg.h
 delete mode 100644 drivers/staging/rtl8723au/include/Hal8723PwrSeq.h
 delete mode 100644 drivers/staging/rtl8723au/include/Hal8723UHWImg_CE.h
 delete mode 100644 drivers/staging/rtl8723au/include/HalDMOutSrc8723A.h
 delete mode 100644 drivers/staging/rtl8723au/include/HalHWImg8723A_BB.h
 delete mode 100644 drivers/staging/rtl8723au/include/HalHWImg8723A_FW.h
 delete mode 100644 drivers/staging/rtl8723au/include/HalHWImg8723A_MAC.h
 delete mode 100644 drivers/staging/rtl8723au/include/HalHWImg8723A_RF.h
 delete mode 100644 drivers/staging/rtl8723au/include/HalPwrSeqCmd.h
 delete mode 100644 drivers/staging/rtl8723au/include/HalVerDef.h
 delete mode 100644 drivers/staging/rtl8723au/include/drv_types.h
 delete mode 100644 drivers/staging/rtl8723au/include/hal_com.h
 delete mode 100644 drivers/staging/rtl8723au/include/hal_intf.h
 delete mode 100644 drivers/staging/rtl8723au/include/ieee80211.h
 delete mode 100644 drivers/staging/rtl8723au/include/ioctl_cfg80211.h
 delete mode 100644 drivers/staging/rtl8723au/include/mlme_osdep.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm_HWConfig.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm_RegConfig8723A.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm_RegDefine11N.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm_debug.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm_interface.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm_precomp.h
 delete mode 100644 drivers/staging/rtl8723au/include/odm_reg.h
 delete mode 100644 drivers/staging/rtl8723au/include/osdep_intf.h
 delete mode 100644 drivers/staging/rtl8723au/include/osdep_service.h
 delete mode 100644 drivers/staging/rtl8723au/include/recv_osdep.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_bt-coexist.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_bt_intf.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_cmd.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_dm.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_hal.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_pg.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_recv.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_rf.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_spec.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_sreset.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtl8723a_xmit.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_ap.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_cmd.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_debug.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_eeprom.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_efuse.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_event.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_ht.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_io.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_mlme.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_mlme_ext.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_pwrctrl.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_recv.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_rf.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_security.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_sreset.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_version.h
 delete mode 100644 drivers/staging/rtl8723au/include/rtw_xmit.h
 delete mode 100644 drivers/staging/rtl8723au/include/sta_info.h
 delete mode 100644 drivers/staging/rtl8723au/include/usb_ops.h
 delete mode 100644 drivers/staging/rtl8723au/include/usb_ops_linux.h
 delete mode 100644 drivers/staging/rtl8723au/include/wifi.h
 delete mode 100644 drivers/staging/rtl8723au/include/wlan_bssdef.h
 delete mode 100644 drivers/staging/rtl8723au/include/xmit_osdep.h
 delete mode 100644 drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
 delete mode 100644 drivers/staging/rtl8723au/os_dep/mlme_linux.c
 delete mode 100644 drivers/staging/rtl8723au/os_dep/os_intfs.c
 delete mode 100644 drivers/staging/rtl8723au/os_dep/recv_linux.c
 delete mode 100644 drivers/staging/rtl8723au/os_dep/usb_intf.c
 delete mode 100644 drivers/staging/rtl8723au/os_dep/usb_ops_linux.c
 delete mode 100644 drivers/staging/rtl8723au/os_dep/xmit_linux.c

diff --git a/MAINTAINERS b/MAINTAINERS
index b53c828..0c554b5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -11210,13 +11210,6 @@ M:	Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
 S:	Odd Fixes
 F:	drivers/staging/rtl8712/
 
-STAGING - REALTEK RTL8723U WIRELESS DRIVER
-M:	Larry Finger <Larry.Finger@lwfinger.net>
-M:	Jes Sorensen <Jes.Sorensen@redhat.com>
-L:	linux-wireless@vger.kernel.org
-S:	Maintained
-F:	drivers/staging/rtl8723au/
-
 STAGING - SILICON MOTION SM750 FRAME BUFFER DRIVER
 M:	Sudip Mukherjee <sudipm.mukherjee@gmail.com>
 M:	Teddy Wang <teddy.wang@siliconmotion.com>
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index af94764..5ebaf00 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -40,8 +40,6 @@ source "drivers/staging/rtl8712/Kconfig"
 
 source "drivers/staging/rtl8188eu/Kconfig"
 
-source "drivers/staging/rtl8723au/Kconfig"
-
 source "drivers/staging/rts5208/Kconfig"
 
 source "drivers/staging/octeon/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 9f6009d..29a1672 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -9,7 +9,6 @@ obj-$(CONFIG_RTL8192U)		+= rtl8192u/
 obj-$(CONFIG_RTL8192E)		+= rtl8192e/
 obj-$(CONFIG_R8712U)		+= rtl8712/
 obj-$(CONFIG_R8188EU)		+= rtl8188eu/
-obj-$(CONFIG_R8723AU)		+= rtl8723au/
 obj-$(CONFIG_RTS5208)		+= rts5208/
 obj-$(CONFIG_NETLOGIC_XLR_NET)	+= netlogic/
 obj-$(CONFIG_OCTEON_ETHERNET)	+= octeon/
diff --git a/drivers/staging/rtl8723au/Kconfig b/drivers/staging/rtl8723au/Kconfig
deleted file mode 100644
index 277c1ab..0000000
diff --git a/drivers/staging/rtl8723au/Makefile b/drivers/staging/rtl8723au/Makefile
deleted file mode 100644
index 3e89890..0000000
diff --git a/drivers/staging/rtl8723au/TODO b/drivers/staging/rtl8723au/TODO
deleted file mode 100644
index 42b86e4..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_ap.c b/drivers/staging/rtl8723au/core/rtw_ap.c
deleted file mode 100644
index aad686d..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_cmd.c b/drivers/staging/rtl8723au/core/rtw_cmd.c
deleted file mode 100644
index cd4e0f0..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_efuse.c b/drivers/staging/rtl8723au/core/rtw_efuse.c
deleted file mode 100644
index 359ef41..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_ieee80211.c b/drivers/staging/rtl8723au/core/rtw_ieee80211.c
deleted file mode 100644
index 9fa0ef1..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_mlme.c b/drivers/staging/rtl8723au/core/rtw_mlme.c
deleted file mode 100644
index a786fc4..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_mlme_ext.c b/drivers/staging/rtl8723au/core/rtw_mlme_ext.c
deleted file mode 100644
index 7dd1540..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_pwrctrl.c b/drivers/staging/rtl8723au/core/rtw_pwrctrl.c
deleted file mode 100644
index 2d43958..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_recv.c b/drivers/staging/rtl8723au/core/rtw_recv.c
deleted file mode 100644
index 150dabc..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_security.c b/drivers/staging/rtl8723au/core/rtw_security.c
deleted file mode 100644
index 5a4cfdf..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_sreset.c b/drivers/staging/rtl8723au/core/rtw_sreset.c
deleted file mode 100644
index 29a29d9..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_sta_mgt.c b/drivers/staging/rtl8723au/core/rtw_sta_mgt.c
deleted file mode 100644
index a9b778c..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_wlan_util.c b/drivers/staging/rtl8723au/core/rtw_wlan_util.c
deleted file mode 100644
index 694cf17..0000000
diff --git a/drivers/staging/rtl8723au/core/rtw_xmit.c b/drivers/staging/rtl8723au/core/rtw_xmit.c
deleted file mode 100644
index 003576d..0000000
diff --git a/drivers/staging/rtl8723au/hal/Hal8723PwrSeq.c b/drivers/staging/rtl8723au/hal/Hal8723PwrSeq.c
deleted file mode 100644
index 747f86c..0000000
diff --git a/drivers/staging/rtl8723au/hal/Hal8723UHWImg_CE.c b/drivers/staging/rtl8723au/hal/Hal8723UHWImg_CE.c
deleted file mode 100644
index 56833da..0000000
diff --git a/drivers/staging/rtl8723au/hal/HalDMOutSrc8723A_CE.c b/drivers/staging/rtl8723au/hal/HalDMOutSrc8723A_CE.c
deleted file mode 100644
index 3f9ec9e0..0000000
diff --git a/drivers/staging/rtl8723au/hal/HalHWImg8723A_BB.c b/drivers/staging/rtl8723au/hal/HalHWImg8723A_BB.c
deleted file mode 100644
index 8d3ea6c..0000000
diff --git a/drivers/staging/rtl8723au/hal/HalHWImg8723A_MAC.c b/drivers/staging/rtl8723au/hal/HalHWImg8723A_MAC.c
deleted file mode 100644
index 9bf6859..0000000
diff --git a/drivers/staging/rtl8723au/hal/HalHWImg8723A_RF.c b/drivers/staging/rtl8723au/hal/HalHWImg8723A_RF.c
deleted file mode 100644
index 286f3ea..0000000
diff --git a/drivers/staging/rtl8723au/hal/HalPwrSeqCmd.c b/drivers/staging/rtl8723au/hal/HalPwrSeqCmd.c
deleted file mode 100644
index 0a3d96e..0000000
diff --git a/drivers/staging/rtl8723au/hal/hal_com.c b/drivers/staging/rtl8723au/hal/hal_com.c
deleted file mode 100644
index 9d7b11b..0000000
diff --git a/drivers/staging/rtl8723au/hal/hal_intf.c b/drivers/staging/rtl8723au/hal/hal_intf.c
deleted file mode 100644
index 5383e69..0000000
diff --git a/drivers/staging/rtl8723au/hal/odm.c b/drivers/staging/rtl8723au/hal/odm.c
deleted file mode 100644
index e279c34..0000000
diff --git a/drivers/staging/rtl8723au/hal/odm_HWConfig.c b/drivers/staging/rtl8723au/hal/odm_HWConfig.c
deleted file mode 100644
index 0562f61..0000000
diff --git a/drivers/staging/rtl8723au/hal/odm_RegConfig8723A.c b/drivers/staging/rtl8723au/hal/odm_RegConfig8723A.c
deleted file mode 100644
index a63c6cb..0000000
diff --git a/drivers/staging/rtl8723au/hal/odm_debug.c b/drivers/staging/rtl8723au/hal/odm_debug.c
deleted file mode 100644
index cb2bdda..0000000
diff --git a/drivers/staging/rtl8723au/hal/odm_interface.c b/drivers/staging/rtl8723au/hal/odm_interface.c
deleted file mode 100644
index d8f6790..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_bt-coexist.c b/drivers/staging/rtl8723au/hal/rtl8723a_bt-coexist.c
deleted file mode 100644
index 47e8d69..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c b/drivers/staging/rtl8723au/hal/rtl8723a_cmd.c
deleted file mode 100644
index 2230f4c..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_dm.c b/drivers/staging/rtl8723au/hal/rtl8723a_dm.c
deleted file mode 100644
index 1e831f2..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c b/drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c
deleted file mode 100644
index 1ea0af4..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_phycfg.c b/drivers/staging/rtl8723au/hal/rtl8723a_phycfg.c
deleted file mode 100644
index 06a6c3e..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_rf6052.c b/drivers/staging/rtl8723au/hal/rtl8723a_rf6052.c
deleted file mode 100644
index 24c0ff3..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_rxdesc.c b/drivers/staging/rtl8723au/hal/rtl8723a_rxdesc.c
deleted file mode 100644
index 81b5efe..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c b/drivers/staging/rtl8723au/hal/rtl8723a_sreset.c
deleted file mode 100644
index 3c46294..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723au_recv.c b/drivers/staging/rtl8723au/hal/rtl8723au_recv.c
deleted file mode 100644
index 0fec84b..0000000
diff --git a/drivers/staging/rtl8723au/hal/rtl8723au_xmit.c b/drivers/staging/rtl8723au/hal/rtl8723au_xmit.c
deleted file mode 100644
index 14746dd..0000000
diff --git a/drivers/staging/rtl8723au/hal/usb_halinit.c b/drivers/staging/rtl8723au/hal/usb_halinit.c
deleted file mode 100644
index fa47aeb..0000000
diff --git a/drivers/staging/rtl8723au/hal/usb_ops_linux.c b/drivers/staging/rtl8723au/hal/usb_ops_linux.c
deleted file mode 100644
index 5c81ff4..0000000
diff --git a/drivers/staging/rtl8723au/include/Hal8723APhyCfg.h b/drivers/staging/rtl8723au/include/Hal8723APhyCfg.h
deleted file mode 100644
index bcf3657..0000000
diff --git a/drivers/staging/rtl8723au/include/Hal8723APhyReg.h b/drivers/staging/rtl8723au/include/Hal8723APhyReg.h
deleted file mode 100644
index 759928f..0000000
diff --git a/drivers/staging/rtl8723au/include/Hal8723PwrSeq.h b/drivers/staging/rtl8723au/include/Hal8723PwrSeq.h
deleted file mode 100644
index 3771d6b..0000000
diff --git a/drivers/staging/rtl8723au/include/Hal8723UHWImg_CE.h b/drivers/staging/rtl8723au/include/Hal8723UHWImg_CE.h
deleted file mode 100644
index c834b3a..0000000
diff --git a/drivers/staging/rtl8723au/include/HalDMOutSrc8723A.h b/drivers/staging/rtl8723au/include/HalDMOutSrc8723A.h
deleted file mode 100644
index d7651f7..0000000
diff --git a/drivers/staging/rtl8723au/include/HalHWImg8723A_BB.h b/drivers/staging/rtl8723au/include/HalHWImg8723A_BB.h
deleted file mode 100644
index 1276094..0000000
diff --git a/drivers/staging/rtl8723au/include/HalHWImg8723A_FW.h b/drivers/staging/rtl8723au/include/HalHWImg8723A_FW.h
deleted file mode 100644
index 7ee363b..0000000
diff --git a/drivers/staging/rtl8723au/include/HalHWImg8723A_MAC.h b/drivers/staging/rtl8723au/include/HalHWImg8723A_MAC.h
deleted file mode 100644
index 201be1f..0000000
diff --git a/drivers/staging/rtl8723au/include/HalHWImg8723A_RF.h b/drivers/staging/rtl8723au/include/HalHWImg8723A_RF.h
deleted file mode 100644
index c9af1c3..0000000
diff --git a/drivers/staging/rtl8723au/include/HalPwrSeqCmd.h b/drivers/staging/rtl8723au/include/HalPwrSeqCmd.h
deleted file mode 100644
index 12e03a3..0000000
diff --git a/drivers/staging/rtl8723au/include/HalVerDef.h b/drivers/staging/rtl8723au/include/HalVerDef.h
deleted file mode 100644
index 2a0e4ea..0000000
diff --git a/drivers/staging/rtl8723au/include/drv_types.h b/drivers/staging/rtl8723au/include/drv_types.h
deleted file mode 100644
index e83463a..0000000
diff --git a/drivers/staging/rtl8723au/include/hal_com.h b/drivers/staging/rtl8723au/include/hal_com.h
deleted file mode 100644
index 9c50320..0000000
diff --git a/drivers/staging/rtl8723au/include/hal_intf.h b/drivers/staging/rtl8723au/include/hal_intf.h
deleted file mode 100644
index b924d47..0000000
diff --git a/drivers/staging/rtl8723au/include/ieee80211.h b/drivers/staging/rtl8723au/include/ieee80211.h
deleted file mode 100644
index 634102e..0000000
diff --git a/drivers/staging/rtl8723au/include/ioctl_cfg80211.h b/drivers/staging/rtl8723au/include/ioctl_cfg80211.h
deleted file mode 100644
index 3a4ead5..0000000
diff --git a/drivers/staging/rtl8723au/include/mlme_osdep.h b/drivers/staging/rtl8723au/include/mlme_osdep.h
deleted file mode 100644
index 4bb5525..0000000
diff --git a/drivers/staging/rtl8723au/include/odm.h b/drivers/staging/rtl8723au/include/odm.h
deleted file mode 100644
index 24f2f28..0000000
diff --git a/drivers/staging/rtl8723au/include/odm_HWConfig.h b/drivers/staging/rtl8723au/include/odm_HWConfig.h
deleted file mode 100644
index c748d5f..0000000
diff --git a/drivers/staging/rtl8723au/include/odm_RegConfig8723A.h b/drivers/staging/rtl8723au/include/odm_RegConfig8723A.h
deleted file mode 100644
index f2a54d8..0000000
diff --git a/drivers/staging/rtl8723au/include/odm_RegDefine11N.h b/drivers/staging/rtl8723au/include/odm_RegDefine11N.h
deleted file mode 100644
index 2778215..0000000
diff --git a/drivers/staging/rtl8723au/include/odm_debug.h b/drivers/staging/rtl8723au/include/odm_debug.h
deleted file mode 100644
index c4b375a..0000000
diff --git a/drivers/staging/rtl8723au/include/odm_interface.h b/drivers/staging/rtl8723au/include/odm_interface.h
deleted file mode 100644
index 1d3bf03..0000000
diff --git a/drivers/staging/rtl8723au/include/odm_precomp.h b/drivers/staging/rtl8723au/include/odm_precomp.h
deleted file mode 100644
index fb793c8..0000000
diff --git a/drivers/staging/rtl8723au/include/odm_reg.h b/drivers/staging/rtl8723au/include/odm_reg.h
deleted file mode 100644
index c1843312..0000000
diff --git a/drivers/staging/rtl8723au/include/osdep_intf.h b/drivers/staging/rtl8723au/include/osdep_intf.h
deleted file mode 100644
index a157eb2..0000000
diff --git a/drivers/staging/rtl8723au/include/osdep_service.h b/drivers/staging/rtl8723au/include/osdep_service.h
deleted file mode 100644
index 33ecb9c..0000000
diff --git a/drivers/staging/rtl8723au/include/recv_osdep.h b/drivers/staging/rtl8723au/include/recv_osdep.h
deleted file mode 100644
index c2d3f1b..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_bt-coexist.h b/drivers/staging/rtl8723au/include/rtl8723a_bt-coexist.h
deleted file mode 100644
index 7add5df..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_bt_intf.h b/drivers/staging/rtl8723au/include/rtl8723a_bt_intf.h
deleted file mode 100644
index 4733559..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_cmd.h b/drivers/staging/rtl8723au/include/rtl8723a_cmd.h
deleted file mode 100644
index f95535a..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_dm.h b/drivers/staging/rtl8723au/include/rtl8723a_dm.h
deleted file mode 100644
index bf236e8..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_hal.h b/drivers/staging/rtl8723au/include/rtl8723a_hal.h
deleted file mode 100644
index 77a0fd4..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_pg.h b/drivers/staging/rtl8723au/include/rtl8723a_pg.h
deleted file mode 100644
index 5c2ec44..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_recv.h b/drivers/staging/rtl8723au/include/rtl8723a_recv.h
deleted file mode 100644
index 875d37b..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_rf.h b/drivers/staging/rtl8723au/include/rtl8723a_rf.h
deleted file mode 100644
index 0432799..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_spec.h b/drivers/staging/rtl8723au/include/rtl8723a_spec.h
deleted file mode 100644
index 2f18689..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_sreset.h b/drivers/staging/rtl8723au/include/rtl8723a_sreset.h
deleted file mode 100644
index 6197910..0000000
diff --git a/drivers/staging/rtl8723au/include/rtl8723a_xmit.h b/drivers/staging/rtl8723au/include/rtl8723a_xmit.h
deleted file mode 100644
index 7db29f4..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_ap.h b/drivers/staging/rtl8723au/include/rtw_ap.h
deleted file mode 100644
index 55a708f..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_cmd.h b/drivers/staging/rtl8723au/include/rtw_cmd.h
deleted file mode 100644
index d1fa95d..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_debug.h b/drivers/staging/rtl8723au/include/rtw_debug.h
deleted file mode 100644
index 159183e..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_eeprom.h b/drivers/staging/rtl8723au/include/rtw_eeprom.h
deleted file mode 100644
index a86f36e..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_efuse.h b/drivers/staging/rtl8723au/include/rtw_efuse.h
deleted file mode 100644
index c577e26..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_event.h b/drivers/staging/rtl8723au/include/rtw_event.h
deleted file mode 100644
index 4557aec..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_ht.h b/drivers/staging/rtl8723au/include/rtw_ht.h
deleted file mode 100644
index 780eb89..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_io.h b/drivers/staging/rtl8723au/include/rtw_io.h
deleted file mode 100644
index d875e9e..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_mlme.h b/drivers/staging/rtl8723au/include/rtw_mlme.h
deleted file mode 100644
index dbd3a5f..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_mlme_ext.h b/drivers/staging/rtl8723au/include/rtw_mlme_ext.h
deleted file mode 100644
index 0e7d3da..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_pwrctrl.h b/drivers/staging/rtl8723au/include/rtw_pwrctrl.h
deleted file mode 100644
index 699b9f3..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_recv.h b/drivers/staging/rtl8723au/include/rtw_recv.h
deleted file mode 100644
index 85a5edb..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_rf.h b/drivers/staging/rtl8723au/include/rtw_rf.h
deleted file mode 100644
index a7de714..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_security.h b/drivers/staging/rtl8723au/include/rtw_security.h
deleted file mode 100644
index 624a9d7..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_sreset.h b/drivers/staging/rtl8723au/include/rtw_sreset.h
deleted file mode 100644
index 60fa829..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_version.h b/drivers/staging/rtl8723au/include/rtw_version.h
deleted file mode 100644
index c947733..0000000
diff --git a/drivers/staging/rtl8723au/include/rtw_xmit.h b/drivers/staging/rtl8723au/include/rtw_xmit.h
deleted file mode 100644
index 24f326b..0000000
diff --git a/drivers/staging/rtl8723au/include/sta_info.h b/drivers/staging/rtl8723au/include/sta_info.h
deleted file mode 100644
index e726005..0000000
diff --git a/drivers/staging/rtl8723au/include/usb_ops.h b/drivers/staging/rtl8723au/include/usb_ops.h
deleted file mode 100644
index ff11e13..0000000
diff --git a/drivers/staging/rtl8723au/include/usb_ops_linux.h b/drivers/staging/rtl8723au/include/usb_ops_linux.h
deleted file mode 100644
index af2f14b..0000000
diff --git a/drivers/staging/rtl8723au/include/wifi.h b/drivers/staging/rtl8723au/include/wifi.h
deleted file mode 100644
index 25d573c..0000000
diff --git a/drivers/staging/rtl8723au/include/wlan_bssdef.h b/drivers/staging/rtl8723au/include/wlan_bssdef.h
deleted file mode 100644
index 95b32e1..0000000
diff --git a/drivers/staging/rtl8723au/include/xmit_osdep.h b/drivers/staging/rtl8723au/include/xmit_osdep.h
deleted file mode 100644
index 2be04c48..0000000
diff --git a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
deleted file mode 100644
index d0ba377..0000000
diff --git a/drivers/staging/rtl8723au/os_dep/mlme_linux.c b/drivers/staging/rtl8723au/os_dep/mlme_linux.c
deleted file mode 100644
index ca24369..0000000
diff --git a/drivers/staging/rtl8723au/os_dep/os_intfs.c b/drivers/staging/rtl8723au/os_dep/os_intfs.c
deleted file mode 100644
index b8848c2..0000000
diff --git a/drivers/staging/rtl8723au/os_dep/recv_linux.c b/drivers/staging/rtl8723au/os_dep/recv_linux.c
deleted file mode 100644
index 084b506..0000000
diff --git a/drivers/staging/rtl8723au/os_dep/usb_intf.c b/drivers/staging/rtl8723au/os_dep/usb_intf.c
deleted file mode 100644
index fa7dda5..0000000
diff --git a/drivers/staging/rtl8723au/os_dep/usb_ops_linux.c b/drivers/staging/rtl8723au/os_dep/usb_ops_linux.c
deleted file mode 100644
index cf4a506..0000000
diff --git a/drivers/staging/rtl8723au/os_dep/xmit_linux.c b/drivers/staging/rtl8723au/os_dep/xmit_linux.c
deleted file mode 100644
index 64be72a..0000000
-- 
2.7.4

^ permalink raw reply related

* Re: pull-request: wireless-drivers 2016-09-08
From: David Miller @ 2016-09-10  2:21 UTC (permalink / raw)
  To: kvalo; +Cc: linux-wireless, netdev, linux-kernel
In-Reply-To: <8737latyoj.fsf@kamboji.qca.qualcomm.com>

From: Kalle Valo <kvalo@codeaurora.org>
Date: Thu, 08 Sep 2016 14:31:56 +0300

> The following changes since commit bb87f02b7e4ccdb614a83cbf840524de81e9b321:
> 
>   Merge ath-current from ath.git (2016-08-29 21:39:04 +0300)
> 
> are available in the git repository at:
> 
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git tags/wireless-drivers-for-davem-2016-09-08

Pulled, thanks Kalle.

^ permalink raw reply

* Re: [PATCH v6 1/3] Documentation: dt: net: add ath9k wireless device binding
From: Martin Blumenstingl @ 2016-09-09 20:57 UTC (permalink / raw)
  To: Oleksij Rempel
  Cc: ath9k-devel, devicetree, linux-wireless, ath9k-devel, mcgrof,
	mark.rutland, robh+dt, kvalo, chunkeey, arend.vanspriel,
	julian.calaby, bjorn, nbd, arnd
In-Reply-To: <3b93ec95-ec7c-863a-06b7-fab4f2688855@rempel-privat.de>

On Fri, Sep 9, 2016 at 9:48 AM, Oleksij Rempel <linux@rempel-privat.de> wrote:
>> +Optional properties:
>> +- reg: Address and length of the register set for the device.
>> +- qca,clk-25mhz: Defines that a 25MHz clock is used
>
> Some SoCs even Atheros WiSoCs use WiFi clock for System Clock. In this
> case we need to use clock framework any way, so why not in this case too?
> Provide dummy static clock in DT and connect it with this node?
>
>         osc25m: oscillator {
>                 compatible = "fixed-clock";
>                 #clock-cells = <0>;
>                 clock-frequency = <25000000>;
>                 clock-accuracy = <30000>;
>         };
>
>         acc: clock-controller@80040000 {
>                 compatible = "some-clock-controller";
>                 #clock-cells = <1>;
>                 clocks = <&osc25m>;
>                 reg = <0x80040000 0x204>;
>         };
>
>
> &pci0 {
>         ath9k@168c,002d {
>                 compatible = "pci168c,002d";
>                 reg = <0x7000 0 0 0 0x1000>;
>                 clocks = <&osc25m>;
>                 qca,disable-5ghz;
>         };
> };
>
>
> driver will need to use clk_get and compare frequency instead of
> of_property_read_bool(np, "qca,clk-25mhz"). In this case you will need
> to define source clock only one time and reuse it by all affected DT
> nodes. If we have 40MHz clock you will only need to change it in
> fixed-clock.
that does sound like a good idea, thanks for that input!
However, I will remove the property for the first version because I am
trying to get PCI(e) devices supported. OF support for AHB (WiSoC)
needs more work (in other places, like ahb.c) anyways.
But this suggestion should be remembered!

>> +- qca,no-eeprom: Indicates that there is no physical EEPROM connected to the
>> +                     ath9k wireless chip (in this case the calibration /
>> +                     EEPROM data will be loaded from userspace using the
>> +                     kernel firmware loader).
>> +- qca,disable-2ghz: Overrides the settings from the EEPROM and disables the
>> +                     2.4GHz band. Setting this property is only needed
>> +                     when the RF circuit does not support the 2.4GHz band
>> +                     while it is enabled nevertheless in the EEPROM.
>> +- qca,disable-5ghz: Overrides the settings from the EEPROM and disables the
>> +                     5GHz band. Setting this property is only needed when
>> +                     the RF circuit does not support the 5GHz band while
>> +                     it is enabled nevertheless in the EEPROM.
>
> This option can be reused for every WiFi controller. Not only for qca.
> So may be instead of adding vendor specific name, make it reusable for
> all vendors. Instead of qca,disable-5ghz and qca,disable-2ghz make
> disable-5ghz and disable-2ghz?
I am personally fine with anything that fits best into the grand
scheme of things.
There are three scenarios I can think of which may be influenced by
devicetree configuration:
a) let the driver decide automatically whether the 2.4GHz and/or 5GHz
band is/are enabled
b) explicitly disable either bands (because the driver thinks due to
whatever reason that a band is supported while in reality it isn't)
c) explicitly enable a band (for example because the driver cannot
automagically detect which band should be enabled)

for ath9k we default to a) but also allow b): the EEPROM (device
specific calibration data) contains information about which bands are
enabled (or not). But some manufacturers are shipping devices for
example with the 5G band enabled, while the actual hardware doesn't
support it.

Felix' mt76 driver for example defaults to case a) but allows
overriding (= forcefully enabling or disabling) a specific band.

If we decide how this should look like in the devicetree then I can go
ahead and implement it accordingly.


Regards,
Martin


[0] https://github.com/openwrt/mt76/blob/master/eeprom.c#L79

^ permalink raw reply

* Re: support for QCA9377 SDIO (ath10k or ath6kl)
From: Martin Blumenstingl @ 2016-09-09 20:01 UTC (permalink / raw)
  To: Valo, Kalle
  Cc: ath10k@lists.infradead.org, ath6kl@lists.infradead.org,
	linux-wireless@vger.kernel.org
In-Reply-To: <87wpilp7x0.fsf@kamboji.qca.qualcomm.com>

On Fri, Sep 9, 2016 at 2:35 PM, Valo, Kalle <kvalo@qca.qualcomm.com> wrote:
>> is there any support for the SDIO chips QCA9377 (and QCA9378) planned?
>> Would these be supported by ath10k or ath6kl or is a completely new
>> driver needed?
>
> I'm not familiar with the details of QCA9377 SDIO firmware but I assume
> ath10k would be the best option for supporting it. We split from the
> beginning the core code (ath10k_core.ko) and the PCI code
> (ath10k_pci.ko) to make it easier to add new bus support.
ath10k also gained AHB support some months ago, so it seems to allow
for multiple bus types.
however, that is only relevant if the QCA9377 SDIO firmware uses the
same interface as supported by ath10k -> could we get a statement from
the firmware team about this?

is QCA planning to add SDIO support to ath10k or would this have to be
done by a community developer?


Regards,
Martin

^ permalink raw reply

* [PATCH 1/2] rtl8xxxu: Reset device on module unload if still attached
From: Jes.Sorensen @ 2016-09-09 18:01 UTC (permalink / raw)
  To: linux-wireless; +Cc: kvalo, Jes Sorensen
In-Reply-To: <1473444085-6363-1-git-send-email-Jes.Sorensen@redhat.com>

From: Jes Sorensen <Jes.Sorensen@redhat.com>

If the USB dongle is still attached, reset it on module unload to
avoid scans failing when reloading the driver.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
index c362083..d2611a4 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -6129,6 +6129,11 @@ static void rtl8xxxu_disconnect(struct usb_interface *interface)
 	mutex_destroy(&priv->usb_buf_mutex);
 	mutex_destroy(&priv->h2c_mutex);
 
+	if (priv->udev->state != USB_STATE_NOTATTACHED) {
+		dev_info(&priv->udev->dev,
+			 "Device still attached, trying to reset\n");
+		usb_reset_device(priv->udev);
+	}
 	usb_put_dev(priv->udev);
 	ieee80211_free_hw(hw);
 }
-- 
2.7.4

^ permalink raw reply related

* [PATCH 2/2] rtl8xxxu: fix spelling mistake "firmare" -> "firmware"
From: Jes.Sorensen @ 2016-09-09 18:01 UTC (permalink / raw)
  To: linux-wireless; +Cc: kvalo, Colin Ian King, Jes Sorensen
In-Reply-To: <1473444085-6363-1-git-send-email-Jes.Sorensen@redhat.com>

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

Trivial fix to spelling mistakes in dev_dbg message.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
---
 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
index d2611a4..ca92022 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
@@ -3921,11 +3921,11 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
 	rtl8xxxu_write16(priv, REG_TRXFF_BNDY + 2, priv->fops->trxff_boundary);
 
 	ret = rtl8xxxu_download_firmware(priv);
-	dev_dbg(dev, "%s: download_fiwmare %i\n", __func__, ret);
+	dev_dbg(dev, "%s: download_firmware %i\n", __func__, ret);
 	if (ret)
 		goto exit;
 	ret = rtl8xxxu_start_firmware(priv);
-	dev_dbg(dev, "%s: start_fiwmare %i\n", __func__, ret);
+	dev_dbg(dev, "%s: start_firmware %i\n", __func__, ret);
 	if (ret)
 		goto exit;
 
-- 
2.7.4

^ permalink raw reply related

* [PATCH 0/2] Fix spelling and reset device on module unload
From: Jes.Sorensen @ 2016-09-09 18:01 UTC (permalink / raw)
  To: linux-wireless; +Cc: kvalo, Jes Sorensen

From: Jes Sorensen <Jes.Sorensen@redhat.com>

Hi,

Two fixes for the rtl8xxxu driver.

I am working on a much larger set which adds 8188eu support, and while
it's close to there, I am still chasing one issue where it doesn't
come back if reloading the driver module.

In the interim, these two should be good to apply.

Cheers,
Jes


Colin Ian King (1):
  rtl8xxxu: fix spelling mistake "firmare" -> "firmware"

Jes Sorensen (1):
  rtl8xxxu: Reset device on module unload if still attached

 drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

-- 
2.7.4

^ permalink raw reply

* Re: [PATCH 1/3] ath10k: Ensure there are no stale ar->txqs entries.
From: Ben Greear @ 2016-09-09 17:46 UTC (permalink / raw)
  To: Felix Fietkau, ath10k; +Cc: linux-wireless
In-Reply-To: <a9add01b-4d5a-0e1c-d856-64dcf71bdb1c@nbd.name>

On 09/09/2016 10:25 AM, Felix Fietkau wrote:
> On 2016-08-19 03:26, greearb@candelatech.com wrote:
>> From: Ben Greear <greearb@candelatech.com>
>>
>> I was seeing kernel crashes due to accessing freed memory
>> while debugging a 9984 firmware that was crashing often.
>>
>> This patch fixes the crashes.  I am not certain if there
>> is a better way or not.
>>
>> Signed-off-by: Ben Greear <greearb@candelatech.com>
>> ---
>>  drivers/net/wireless/ath/ath10k/mac.c | 10 ++++++++++
>>  1 file changed, 10 insertions(+)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
>> index 5659ef1..916119c 100644
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -4172,8 +4172,10 @@ static void ath10k_mac_txq_init(struct ieee80211_txq *txq)
>>  static void ath10k_mac_txq_unref(struct ath10k *ar, struct ieee80211_txq *txq)
>>  {
>>  	struct ath10k_txq *artxq = (void *)txq->drv_priv;
>> +	struct ath10k_txq *tmp, *walker;
>>  	struct ath10k_skb_cb *cb;
>>  	struct sk_buff *msdu;
>> +	struct ieee80211_txq *txq_tmp;
>>  	int msdu_id;
>>
>>  	if (!txq)
>> @@ -4182,6 +4184,14 @@ static void ath10k_mac_txq_unref(struct ath10k *ar, struct ieee80211_txq *txq)
>>  	spin_lock_bh(&ar->txqs_lock);
>>  	if (!list_empty(&artxq->list))
>>  		list_del_init(&artxq->list);
>> +
>> +	/* Remove from ar->txqs in case it still exists there. */
>> +	list_for_each_entry_safe(walker, tmp, &ar->txqs, list) {
>> +		txq_tmp = container_of((void *)walker, struct ieee80211_txq,
>> +				       drv_priv);
>> +		if (txq_tmp == txq)
>> +			list_del(&walker->list);
>> +	}
> This makes no sense at all. From txq_tmp == txq we can deduce that
> walker == artxq. In the context above, it already does a
> list_del_init(&artxq->list).

This fixed my problem, so something about this matters.

Possibly it works around some other race, just possibly it
is because of some other regression/bug in my driver/kernel.

I thought maybe the issue was that flushing doesn't really work
for ath10k, so when the upper stack tried to flush and delete
a station there were still skbs in the driver that were referencing
the txqs up in mac80211.

Also, this bug was triggered by firmware that crashed very often on
transmit of an skb, so in general there were skbs that were not properly
transmitted and maybe that also triggers some other bug/race in the
driver.

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

^ permalink raw reply

* Re: [PATCH 1/3] ath10k: Ensure there are no stale ar->txqs entries.
From: Felix Fietkau @ 2016-09-09 17:25 UTC (permalink / raw)
  To: greearb, ath10k; +Cc: linux-wireless
In-Reply-To: <1471569995-10028-1-git-send-email-greearb@candelatech.com>

On 2016-08-19 03:26, greearb@candelatech.com wrote:
> From: Ben Greear <greearb@candelatech.com>
> 
> I was seeing kernel crashes due to accessing freed memory
> while debugging a 9984 firmware that was crashing often.
> 
> This patch fixes the crashes.  I am not certain if there
> is a better way or not.
> 
> Signed-off-by: Ben Greear <greearb@candelatech.com>
> ---
>  drivers/net/wireless/ath/ath10k/mac.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index 5659ef1..916119c 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -4172,8 +4172,10 @@ static void ath10k_mac_txq_init(struct ieee80211_txq *txq)
>  static void ath10k_mac_txq_unref(struct ath10k *ar, struct ieee80211_txq *txq)
>  {
>  	struct ath10k_txq *artxq = (void *)txq->drv_priv;
> +	struct ath10k_txq *tmp, *walker;
>  	struct ath10k_skb_cb *cb;
>  	struct sk_buff *msdu;
> +	struct ieee80211_txq *txq_tmp;
>  	int msdu_id;
>  
>  	if (!txq)
> @@ -4182,6 +4184,14 @@ static void ath10k_mac_txq_unref(struct ath10k *ar, struct ieee80211_txq *txq)
>  	spin_lock_bh(&ar->txqs_lock);
>  	if (!list_empty(&artxq->list))
>  		list_del_init(&artxq->list);
> +
> +	/* Remove from ar->txqs in case it still exists there. */
> +	list_for_each_entry_safe(walker, tmp, &ar->txqs, list) {
> +		txq_tmp = container_of((void *)walker, struct ieee80211_txq,
> +				       drv_priv);
> +		if (txq_tmp == txq)
> +			list_del(&walker->list);
> +	}
This makes no sense at all. From txq_tmp == txq we can deduce that
walker == artxq. In the context above, it already does a
list_del_init(&artxq->list).

- Felix

^ permalink raw reply

* Re: [PATCH 3/3] mwifiex: add custom regulatory domain support
From: Bob Copeland @ 2016-09-09 15:47 UTC (permalink / raw)
  To: Amitkumar Karwar; +Cc: linux-wireless, Cathy Luo, Nishant Sarmukadam
In-Reply-To: <1470754246-635-3-git-send-email-akarwar@marvell.com>

On Tue, Aug 09, 2016 at 08:20:46PM +0530, Amitkumar Karwar wrote:
> This patch creates custom regulatory rules based on the information
> received from firmware and enable them during wiphy registration.
> 
> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>

Hi,

This patch recently landed in wireless-testing but I noticed (or well,
smatch noticed) some issues with the error paths:

> +	if (adapter->regd) {

does null-check here and elsewhere...

> +static struct ieee80211_regdomain *
> +mwifiex_create_custom_regdomain(struct mwifiex_private *priv,
> +				u8 *buf, u16 buf_len)
> +{
> +	u16 num_chan = buf_len / 2;
> +	struct ieee80211_regdomain *regd;
> +	struct ieee80211_reg_rule *rule;
> +	bool new_rule;
> +	int regd_size, idx, freq, prev_freq = 0;
> +	u32 bw, prev_bw = 0;
> +	u8 chflags, prev_chflags = 0, valid_rules = 0;
> +
> +	if (WARN_ON_ONCE(num_chan > NL80211_MAX_SUPP_REG_RULES))
> +		return ERR_PTR(-EINVAL);
> +

...returns ERR_PTR here

> +	regd_size = sizeof(struct ieee80211_regdomain) +
> +		    num_chan * sizeof(struct ieee80211_reg_rule);
> +
> +	regd = kzalloc(regd_size, GFP_KERNEL);
> +	if (!regd)
> +		return ERR_PTR(-ENOMEM);

and here.

> +
> +	for (idx = 0; idx < num_chan; idx++) {
> +		u8 chan;
> +		enum nl80211_band band;
> +
> +		chan = *buf++;
> +		if (!chan)
> +			return NULL;

^ here, returns null, leaking regd

> +		chflags = *buf++;
> +		band = (chan <= 14) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
> +		freq = ieee80211_channel_to_frequency(chan, band);
> +		new_rule = false;
> +
> +		if (chflags & MWIFIEX_CHANNEL_DISABLED)
> +			continue;
> +
> +		if (band == NL80211_BAND_5GHZ) {
> +			if (!(chflags & MWIFIEX_CHANNEL_NOHT80))
> +				bw = MHZ_TO_KHZ(80);
> +			else if (!(chflags & MWIFIEX_CHANNEL_NOHT40))
> +				bw = MHZ_TO_KHZ(40);
> +			else
> +				bw = MHZ_TO_KHZ(20);
> +		} else {
> +			if (!(chflags & MWIFIEX_CHANNEL_NOHT40))
> +				bw = MHZ_TO_KHZ(40);
> +			else
> +				bw = MHZ_TO_KHZ(20);
> +		}
> +
> +		if (idx == 0 || prev_chflags != chflags || prev_bw != bw ||
> +		    freq - prev_freq > 20) {
> +			valid_rules++;
> +			new_rule = true;
> +		}
> +
> +		rule = &regd->reg_rules[valid_rules - 1];
> +
> +		rule->freq_range.end_freq_khz = MHZ_TO_KHZ(freq + 10);
> +
> +		prev_chflags = chflags;
> +		prev_freq = freq;
> +		prev_bw = bw;
> +
> +		if (!new_rule)
> +			continue;
> +
> +		rule->freq_range.start_freq_khz = MHZ_TO_KHZ(freq - 10);
> +		rule->power_rule.max_eirp = DBM_TO_MBM(19);
> +
> +		if (chflags & MWIFIEX_CHANNEL_PASSIVE)
> +			rule->flags = NL80211_RRF_NO_IR;
> +
> +		if (chflags & MWIFIEX_CHANNEL_DFS)
> +			rule->flags = NL80211_RRF_DFS;
> +
> +		rule->freq_range.max_bandwidth_khz = bw;
> +	}
> +
> +	regd->n_reg_rules = valid_rules;
> +	regd->alpha2[0] = '9';
> +	regd->alpha2[1] = '9';
> +
> +	return regd;
> +}

[...]

>  static int mwifiex_ret_chan_region_cfg(struct mwifiex_private *priv,
>  				       struct host_cmd_ds_command *resp)
>  {
> @@ -1050,6 +1137,10 @@ static int mwifiex_ret_chan_region_cfg(struct mwifiex_private *priv,
>  			mwifiex_dbg_dump(priv->adapter, CMD_D, "CHAN:",
>  					 (u8 *)head + sizeof(*head),
>  					 tlv_buf_len);
> +			priv->adapter->regd =
> +				mwifiex_create_custom_regdomain(priv,
> +								(u8 *)head +
> +						sizeof(*head), tlv_buf_len);

Here regd is assigned without checking IS_ERR.

-- 
Bob Copeland %% http://bobcopeland.com/

^ permalink raw reply

* [PATCH] mwifiex: parse device tree node for PCIe
From: Amitkumar Karwar @ 2016-09-09 15:17 UTC (permalink / raw)
  To: linux-wireless
  Cc: Cathy Luo, Nishant Sarmukadam, devicetree, Wei-Ning Huang,
	Xinming Hu, Amitkumar Karwar

From: Xinming Hu <huxm@marvell.com>

This patch derives device tree node from pcie bus layer framework.
Device tree bindings file has been renamed(marvell-sd8xxx.txt ->
marvell-8xxx.txt) to accomodate PCIe changes.

Signed-off-by: Xinming Hu <huxm@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
---
 .../bindings/net/wireless/marvell-8xxx.txt         | 64 ++++++++++++++++++++++
 .../bindings/net/wireless/marvell-sd8xxx.txt       | 63 ---------------------
 drivers/net/wireless/marvell/mwifiex/pcie.c        | 19 +++++++
 drivers/net/wireless/marvell/mwifiex/sta_cmd.c     |  3 +-
 4 files changed, 85 insertions(+), 64 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt
 delete mode 100644 Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt

diff --git a/Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt b/Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt
new file mode 100644
index 0000000..a8a95aa
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/wireless/marvell-8xxx.txt
@@ -0,0 +1,64 @@
+Marvell 8897/8997 (sd8897/sd8997/pcie8997) SDIO/PCIE devices
+------
+
+This node provides properties for controlling the marvell sdio/pcie wireless device.
+The node is expected to be specified as a child node to the SDIO/PCIE controller that
+connects the device to the system.
+
+Required properties:
+
+  - compatible : should be one of the following:
+	* "marvell,sd8897"
+	* "marvell,sd8997"
+	* "marvell,pcie8997"
+
+Optional properties:
+
+  - marvell,caldata* : A series of properties with marvell,caldata prefix,
+		      represent calibration data downloaded to the device during
+		      initialization. This is an array of unsigned 8-bit values.
+		      the properties should follow below property name and
+		      corresponding array length:
+	"marvell,caldata-txpwrlimit-2g" (length = 566).
+	"marvell,caldata-txpwrlimit-5g-sub0" (length = 502).
+	"marvell,caldata-txpwrlimit-5g-sub1" (length = 688).
+	"marvell,caldata-txpwrlimit-5g-sub2" (length = 750).
+	"marvell,caldata-txpwrlimit-5g-sub3" (length = 502).
+  - marvell,wakeup-pin : a wakeup pin number of wifi chip which will be configured
+		      to firmware. Firmware will wakeup the host using this pin
+		      during suspend/resume.
+  - interrupt-parent: phandle of the parent interrupt controller
+  - interrupts : interrupt pin number to the cpu. driver will request an irq based on
+		 this interrupt number. during system suspend, the irq will be enabled
+		 so that the wifi chip can wakeup host platform under certain condition.
+		 during system resume, the irq will be disabled to make sure
+		 unnecessary interrupt is not received.
+
+Example:
+
+Tx power limit calibration data is configured in below example.
+The calibration data is an array of unsigned values, the length
+can vary between hw versions.
+IRQ pin 38 is used as system wakeup source interrupt. wakeup pin 3 is configured
+so that firmware can wakeup host using this device side pin.
+
+&mmc3 {
+	status = "okay";
+	vmmc-supply = <&wlan_en_reg>;
+	bus-width = <4>;
+	cap-power-off-card;
+	keep-power-in-suspend;
+
+	#address-cells = <1>;
+	#size-cells = <0>;
+	mwifiex: wifi@1 {
+		compatible = "marvell,sd8897";
+		reg = <1>;
+		interrupt-parent = <&pio>;
+		interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
+
+		marvell,caldata_00_txpwrlimit_2g_cfg_set = /bits/ 8 <
+	0x01 0x00 0x06 0x00 0x08 0x02 0x89 0x01>;
+		marvell,wakeup-pin = <3>;
+	};
+};
diff --git a/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt b/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt
deleted file mode 100644
index c421aba..0000000
--- a/Documentation/devicetree/bindings/net/wireless/marvell-sd8xxx.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-Marvell 8897/8997 (sd8897/sd8997) SDIO devices
-------
-
-This node provides properties for controlling the marvell sdio wireless device.
-The node is expected to be specified as a child node to the SDIO controller that
-connects the device to the system.
-
-Required properties:
-
-  - compatible : should be one of the following:
-	* "marvell,sd8897"
-	* "marvell,sd8997"
-
-Optional properties:
-
-  - marvell,caldata* : A series of properties with marvell,caldata prefix,
-		      represent calibration data downloaded to the device during
-		      initialization. This is an array of unsigned 8-bit values.
-		      the properties should follow below property name and
-		      corresponding array length:
-	"marvell,caldata-txpwrlimit-2g" (length = 566).
-	"marvell,caldata-txpwrlimit-5g-sub0" (length = 502).
-	"marvell,caldata-txpwrlimit-5g-sub1" (length = 688).
-	"marvell,caldata-txpwrlimit-5g-sub2" (length = 750).
-	"marvell,caldata-txpwrlimit-5g-sub3" (length = 502).
-  - marvell,wakeup-pin : a wakeup pin number of wifi chip which will be configured
-		      to firmware. Firmware will wakeup the host using this pin
-		      during suspend/resume.
-  - interrupt-parent: phandle of the parent interrupt controller
-  - interrupts : interrupt pin number to the cpu. driver will request an irq based on
-		 this interrupt number. during system suspend, the irq will be enabled
-		 so that the wifi chip can wakeup host platform under certain condition.
-		 during system resume, the irq will be disabled to make sure
-		 unnecessary interrupt is not received.
-
-Example:
-
-Tx power limit calibration data is configured in below example.
-The calibration data is an array of unsigned values, the length
-can vary between hw versions.
-IRQ pin 38 is used as system wakeup source interrupt. wakeup pin 3 is configured
-so that firmware can wakeup host using this device side pin.
-
-&mmc3 {
-	status = "okay";
-	vmmc-supply = <&wlan_en_reg>;
-	bus-width = <4>;
-	cap-power-off-card;
-	keep-power-in-suspend;
-
-	#address-cells = <1>;
-	#size-cells = <0>;
-	mwifiex: wifi@1 {
-		compatible = "marvell,sd8897";
-		reg = <1>;
-		interrupt-parent = <&pio>;
-		interrupts = <38 IRQ_TYPE_LEVEL_LOW>;
-
-		marvell,caldata_00_txpwrlimit_2g_cfg_set = /bits/ 8 <
-	0x01 0x00 0x06 0x00 0x08 0x02 0x89 0x01>;
-		marvell,wakeup-pin = <3>;
-	};
-};
diff --git a/drivers/net/wireless/marvell/mwifiex/pcie.c b/drivers/net/wireless/marvell/mwifiex/pcie.c
index 3c3c4f1..be4d2b9 100644
--- a/drivers/net/wireless/marvell/mwifiex/pcie.c
+++ b/drivers/net/wireless/marvell/mwifiex/pcie.c
@@ -37,6 +37,22 @@ static struct mwifiex_if_ops pcie_ops;
 
 static struct semaphore add_remove_card_sem;
 
+static const struct of_device_id mwifiex_pcie_of_match_table[] = {
+	{ .compatible = "marvell,pcie8997" },
+	{ }
+};
+
+static int mwifiex_pcie_probe_of(struct device *dev)
+{
+	if (!dev->of_node ||
+	    !of_match_node(mwifiex_pcie_of_match_table, dev->of_node)) {
+		pr_err("pcie device node not available");
+		return -1;
+	}
+
+	return 0;
+}
+
 static int
 mwifiex_map_pci_memory(struct mwifiex_adapter *adapter, struct sk_buff *skb,
 		       size_t size, int flags)
@@ -199,6 +215,9 @@ static int mwifiex_pcie_probe(struct pci_dev *pdev,
 		card->pcie.can_ext_scan = data->can_ext_scan;
 	}
 
+	/* device tree node parsing and platform specific configuration*/
+	mwifiex_pcie_probe_of(&pdev->dev);
+
 	if (mwifiex_add_card(card, &add_remove_card_sem, &pcie_ops,
 			     MWIFIEX_PCIE)) {
 		pr_err("%s failed\n", __func__);
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
index 2a162c3..c8dccf5 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
@@ -2218,7 +2218,8 @@ int mwifiex_sta_init_cmd(struct mwifiex_private *priv, u8 first_sta, bool init)
 		 * The cal-data can be read from device tree and/or
 		 * a configuration file and downloaded to firmware.
 		 */
-		if (priv->adapter->iface_type == MWIFIEX_SDIO &&
+		if ((priv->adapter->iface_type == MWIFIEX_SDIO ||
+		    priv->adapter->iface_type == MWIFIEX_PCIE) &&
 		    adapter->dev->of_node) {
 			adapter->dt_node = adapter->dev->of_node;
 			if (of_property_read_u32(adapter->dt_node,
-- 
1.9.1

^ permalink raw reply related

* [PATCH] rtlbt: Add RTL8822BE Bluetooth device
From: Larry Finger @ 2016-09-09 15:02 UTC (permalink / raw)
  To: kvalo, Marcel Holtmann
  Cc: devel, linux-wireless, Larry Finger, linux-bluetooth,
	陆朱伟

The RTL8822BE is a new Realtek wifi and BT device. Support for the BT
part is hereby added.

As this device is similar to most of the other Realtek BT devices, the
changes are minimal. The main difference is that the 8822BE needs a
configuration file for enabling and disabling features. Thus code is
added to select and load this configuration file. Although not needed
at the moment, hooks are added for the other devices that might need
such configuration files.

One additional change is to the routine that tests that the project
ID contained in the firmware matches the hardware. As the project IDs
are not sequential, continuing to use the position in the array as the
expected value of the ID would require adding extra unused entries in
the table, and any subsequant rearrangment of the array would break the
code. To fix these problems, the array elements now contain both the
hardware ID and the expected value for the project ID.

Signed-off-by: 陆朱伟 <alex_lu@realsil.com.cn>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
 drivers/bluetooth/btrtl.c | 104 ++++++++++++++++++++++++++++++++++++++++------
 drivers/bluetooth/btrtl.h |   5 +++
 2 files changed, 97 insertions(+), 12 deletions(-)

diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index 8428893..cb73863 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -33,6 +33,7 @@
 #define RTL_ROM_LMP_8723B	0x8723
 #define RTL_ROM_LMP_8821A	0x8821
 #define RTL_ROM_LMP_8761A	0x8761
+#define RTL_ROM_LMP_8822B	0x8822
 
 static int rtl_read_rom_version(struct hci_dev *hdev, u8 *version)
 {
@@ -78,11 +79,12 @@ static int rtl8723b_parse_firmware(struct hci_dev *hdev, u16 lmp_subver,
 	const unsigned char *patch_length_base, *patch_offset_base;
 	u32 patch_offset = 0;
 	u16 patch_length, num_patches;
-	const u16 project_id_to_lmp_subver[] = {
-		RTL_ROM_LMP_8723A,
-		RTL_ROM_LMP_8723B,
-		RTL_ROM_LMP_8821A,
-		RTL_ROM_LMP_8761A
+	const struct lmp_subver project_id_to_lmp_subver[] = {
+		{RTL_ROM_LMP_8723A, 0},
+		{RTL_ROM_LMP_8723B, 1},
+		{RTL_ROM_LMP_8821A, 2},
+		{RTL_ROM_LMP_8761A, 3},
+		{RTL_ROM_LMP_8822B, 8},
 	};
 
 	ret = rtl_read_rom_version(hdev, &rom_version);
@@ -134,14 +136,20 @@ static int rtl8723b_parse_firmware(struct hci_dev *hdev, u16 lmp_subver,
 		return -EINVAL;
 	}
 
-	if (project_id >= ARRAY_SIZE(project_id_to_lmp_subver)) {
+	/* Find project_id in table */
+	for (i = 0; i < ARRAY_SIZE(project_id_to_lmp_subver); i++) {
+		if (project_id == project_id_to_lmp_subver[i].id)
+			break;
+	}
+
+	if (i >= ARRAY_SIZE(project_id_to_lmp_subver)) {
 		BT_ERR("%s: unknown project id %d", hdev->name, project_id);
 		return -EINVAL;
 	}
 
-	if (lmp_subver != project_id_to_lmp_subver[project_id]) {
+	if (lmp_subver != project_id_to_lmp_subver[i].lmp_subver) {
 		BT_ERR("%s: firmware is for %x but this is a %x", hdev->name,
-		       project_id_to_lmp_subver[project_id], lmp_subver);
+		       project_id_to_lmp_subver[i].lmp_subver, lmp_subver);
 		return -EINVAL;
 	}
 
@@ -257,6 +265,26 @@ out:
 	return ret;
 }
 
+static int rtl_load_config(struct hci_dev *hdev, const char *name, u8 **buff)
+{
+	const struct firmware *fw;
+	int ret;
+
+	BT_INFO("%s: rtl: loading %s", hdev->name, name);
+	ret = request_firmware(&fw, name, &hdev->dev);
+	if (ret < 0) {
+		BT_ERR("%s: Failed to load %s", hdev->name, name);
+		return ret;
+	}
+
+	ret = fw->size;
+	*buff = kmemdup(fw->data, ret, GFP_KERNEL);
+
+	release_firmware(fw);
+
+	return ret;
+}
+
 static int btrtl_setup_rtl8723a(struct hci_dev *hdev)
 {
 	const struct firmware *fw;
@@ -296,25 +324,74 @@ static int btrtl_setup_rtl8723b(struct hci_dev *hdev, u16 lmp_subver,
 	unsigned char *fw_data = NULL;
 	const struct firmware *fw;
 	int ret;
+	int cfg_sz;
+	u8 *cfg_buff = NULL;
+	u8 *tbuff;
+	char *cfg_name = NULL;
+
+	switch (lmp_subver) {
+	case RTL_ROM_LMP_8723B:
+		cfg_name = "rtl_bt/rtl8723b_config.bin";
+		break;
+	case RTL_ROM_LMP_8821A:
+		cfg_name = "rtl_bt/rtl8821a_config.bin";
+		break;
+	case RTL_ROM_LMP_8761A:
+		cfg_name = "rtl_bt/rtl8761a_config.bin";
+		break;
+	case RTL_ROM_LMP_8822B:
+		cfg_name = "rtl_bt/rtl8822b_config.bin";
+		break;
+	default:
+		BT_ERR("%s: rtl: no config according to lmp_subver %04x",
+		       hdev->name, lmp_subver);
+		break;
+	}
+
+	if (cfg_name) {
+		cfg_sz = rtl_load_config(hdev, cfg_name, &cfg_buff);
+		if (cfg_sz < 0)
+			cfg_sz = 0;
+	} else
+		cfg_sz = 0;
 
 	BT_INFO("%s: rtl: loading %s", hdev->name, fw_name);
 	ret = request_firmware(&fw, fw_name, &hdev->dev);
 	if (ret < 0) {
 		BT_ERR("%s: Failed to load %s", hdev->name, fw_name);
-		return ret;
+		goto err_req_fw;
 	}
 
 	ret = rtl8723b_parse_firmware(hdev, lmp_subver, fw, &fw_data);
 	if (ret < 0)
 		goto out;
 
+	if (cfg_sz) {
+		tbuff = kzalloc(ret + cfg_sz, GFP_KERNEL);
+		if (!tbuff) {
+			ret = -ENOMEM;
+			goto out;
+		}
+
+		memcpy(tbuff, fw_data, ret);
+		kfree(fw_data);
+
+		memcpy(tbuff + ret, cfg_buff, cfg_sz);
+		ret += cfg_sz;
+
+		fw_data = tbuff;
+	}
+
+	BT_INFO("cfg_sz %d, total size %d", cfg_sz, ret);
+
 	ret = rtl_download_firmware(hdev, fw_data, ret);
-	kfree(fw_data);
-	if (ret < 0)
-		goto out;
 
 out:
 	release_firmware(fw);
+	kfree(fw_data);
+err_req_fw:
+	if (cfg_sz)
+		kfree(cfg_buff);
 	return ret;
 }
 
@@ -377,6 +454,9 @@ int btrtl_setup_realtek(struct hci_dev *hdev)
 	case RTL_ROM_LMP_8761A:
 		return btrtl_setup_rtl8723b(hdev, lmp_subver,
 					    "rtl_bt/rtl8761a_fw.bin");
+	case RTL_ROM_LMP_8822B:
+		return btrtl_setup_rtl8723b(hdev, lmp_subver,
+					    "rtl_bt/rtl8822b_fw.bin");
 	default:
 		BT_INFO("rtl: assuming no firmware upload needed.");
 		return 0;
diff --git a/drivers/bluetooth/btrtl.h b/drivers/bluetooth/btrtl.h
index 38ffe48..79f8801 100644
--- a/drivers/bluetooth/btrtl.h
+++ b/drivers/bluetooth/btrtl.h
@@ -38,6 +38,11 @@ struct rtl_epatch_header {
 	__le16 num_patches;
 } __packed;
 
+struct lmp_subver {
+	__u16 lmp_subver;
+	__u8 id;
+};
+
 #if IS_ENABLED(CONFIG_BT_RTL)
 
 int btrtl_setup_realtek(struct hci_dev *hdev);
-- 
2.6.6

^ permalink raw reply related

* Re: [PATCHv3 0/5] ath10k: Allow setting coverage class and rx cleanups
From: Valo, Kalle @ 2016-09-09 14:59 UTC (permalink / raw)
  To: Benjamin Berg
  Cc: ath10k@lists.infradead.org, Simon Wunderlich,
	Thiagarajan, Vasanthakumar, Sebastian Gottschall,
	michal.kazior@tieto.com, Mathias Kretschmer,
	linux-wireless@vger.kernel.org
In-Reply-To: <20160829144557.11678-1-benjamin@sipsolutions.net>

Benjamin Berg <benjamin@sipsolutions.net> writes:

> OK, another revision adding the fast path as suggested by Ben Greear. Onl=
y
> other change is that I am submitting it together with Vasanthakumar's cle=
anup
> patches to allow merging both into ath-next in one go.
>
> Changes in v4:
>  * Only queue register setting work if coverage class is non-zero
>  * Add cleanup patches from Vasanthakumar into series
>
> Changes in v3:
>  * Only update register values if hardware is initialized
>  * Use the SM/MS macros instead of manual bitshifts and masks
>  * Use the hardware phyclk register instead of assuming a clock speed
>  * Force dbglog_mask of ~0 and dbglog_level of at least WARN if active
>  * Only call code for selected WMI events
>
> The last two items are a bit of a guess for me. In particular it looks li=
ke
> the default log level is already WARN, but I suppose that this should be =
good
> enough to get reports for internal chip resets. I have no way of verifyin=
g
> this myself though.
>
>
> Benjamin Berg (1):
>   ath10k: Allow setting coverage class
>
> Vasanthakumar Thiagarajan (4):
>   ath10k: Move ath10k_hw_params definition to hw.h
>   ath10k: Add provision for Rx descriptor abstraction
>   ath10k: Properly remove padding from the start of rx payload
>   ath10k: Remove 4-addr padding related hw_param configuration

There were few conflicts, though easy. Please double check the pending
branch that I didn't make any mistakes, I didn't test these yet.

https://git.kernel.org/cgit/linux/kernel/git/kvalo/ath.git/log/?h=3Dpending

Also please CC linux-wireless when submitting ath10k patches, we get
wider review that way. Added it to CC now.

My log of the conflicts:

Applying: ath10k: Move ath10k_hw_params definition to hw.h
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging drivers/net/wireless/ath/ath10k/core.h
CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath10k/core.=
h
Failed to merge in the changes.
Patch failed at 0001 ath10k: Move ath10k_hw_params definition to hw.h

moved: bool sw_decrypt_mcast_mgmt;

Applying: ath10k: Add provision for Rx descriptor abstraction
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging drivers/net/wireless/ath/ath10k/hw.h
CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath10k/hw.h
Auto-merging drivers/net/wireless/ath/ath10k/core.c
CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath10k/core.=
c
Failed to merge in the changes.
Patch failed at 0002 ath10k: Add provision for Rx descriptor abstraction

Applying: ath10k: Allow setting coverage class
fatal: sha1 information is lacking or useless (drivers/net/wireless/ath/ath=
10k/core.c).
Repository lacks necessary blobs to fall back on 3-way merge.
Cannot fall back to three-way merge.
Patch failed at 0001 ath10k: Allow setting coverage class

  CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath10k/mac=
.c



patching file drivers/net/wireless/ath/ath10k/core.c
Hunk #1 succeeded at 1548 (offset 5 lines).
Hunk #2 succeeded at 2333 with fuzz 2 (offset 73 lines).
patching file drivers/net/wireless/ath/ath10k/core.h
Hunk #1 succeeded at 911 with fuzz 2 (offset 21 lines).
patching file drivers/net/wireless/ath/ath10k/hw.c
patching file drivers/net/wireless/ath/ath10k/hw.h
Hunk #2 succeeded at 416 (offset 5 lines).
Hunk #3 succeeded at 613 (offset 5 lines).
Hunk #4 succeeded at 813 (offset 5 lines).
patching file drivers/net/wireless/ath/ath10k/mac.c
Hunk #1 succeeded at 5410 (offset 38 lines).
Hunk #2 succeeded at 7449 (offset 38 lines).
Hunk #3 succeeded at 8027 (offset 38 lines).
patching file drivers/net/wireless/ath/ath10k/wmi.c
Hunk #1 succeeded at 4925 (offset 46 lines).
Hunk #2 succeeded at 4962 (offset 46 lines).
Hunk #3 succeeded at 4972 (offset 46 lines).
Hunk #4 succeeded at 4999 (offset 46 lines).
Hunk #5 succeeded at 5055 (offset 46 lines).
Hunk #6 succeeded at 5099 (offset 46 lines).
Hunk #7 succeeded at 5109 (offset 46 lines).
Hunk #8 succeeded at 5136 (offset 46 lines).
Hunk #9 succeeded at 5183 (offset 46 lines).
Hunk #10 succeeded at 5230 (offset 59 lines).
Hunk #11 succeeded at 5240 (offset 59 lines).
Hunk #12 succeeded at 5267 (offset 59 lines).
Hunk #13 succeeded at 5305 (offset 59 lines).
Hunk #14 succeeded at 5379 (offset 72 lines).
Hunk #15 succeeded at 5396 (offset 72 lines).
Hunk #16 succeeded at 5413 (offset 72 lines).
Hunk #17 succeeded at 6137 (offset 73 lines).

--=20
Kalle Valo=

^ permalink raw reply

* [PATCH] mwifiex: correction in Rx STBC field of htcapinfo
From: Amitkumar Karwar @ 2016-09-09 14:56 UTC (permalink / raw)
  To: linux-wireless; +Cc: Nishant Sarmukadam, Amitkumar Karwar

Currently Rx STBC in assoc request frame is advertised as 3. It should
be 2, as our chipsets support two spatial streams.

Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 33e7a74..7a9b431 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -2756,7 +2756,7 @@ mwifiex_setup_ht_caps(struct ieee80211_sta_ht_cap *ht_info,
 		ht_info->cap &= ~IEEE80211_HT_CAP_SGI_40;
 
 	if (adapter->user_dev_mcs_support == HT_STREAM_2X2)
-		ht_info->cap |= 3 << IEEE80211_HT_CAP_RX_STBC_SHIFT;
+		ht_info->cap |= 2 << IEEE80211_HT_CAP_RX_STBC_SHIFT;
 	else
 		ht_info->cap |= 1 << IEEE80211_HT_CAP_RX_STBC_SHIFT;
 
-- 
1.9.1

^ permalink raw reply related

* Re: [PATCH 2/3] ath10k:  Grab rcu_read_lock before the txqs spinlock.
From: Ben Greear @ 2016-09-09 14:47 UTC (permalink / raw)
  To: Valo, Kalle; +Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org
In-Reply-To: <87k2elp53z.fsf@kamboji.qca.qualcomm.com>



On 09/09/2016 06:36 AM, Valo, Kalle wrote:
> greearb@candelatech.com writes:
>
>> From: Ben Greear <greearb@candelatech.com>
>>
>> I was seeing some spin-lock hangs in this area of the code,
>> and it seems more proper to do the rcu-read-lock outside of
>> the spin lock.  I am not sure how much this matters, however.
>>
>> Signed-off-by: Ben Greear <greearb@candelatech.com>
>> ---
>>   drivers/net/wireless/ath/ath10k/mac.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
>> index 916119c..d96c06e 100644
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -4307,8 +4307,8 @@ void ath10k_mac_tx_push_pending(struct ath10k *ar)
>>   	int max;
>>   	int loop_max = 2000;
>>
>> -	spin_lock_bh(&ar->txqs_lock);
>>   	rcu_read_lock();
>> +	spin_lock_bh(&ar->txqs_lock);
>>
>>   	last = list_last_entry(&ar->txqs, struct ath10k_txq, list);
>>   	while (!list_empty(&ar->txqs)) {
>> @@ -4342,8 +4342,8 @@ void ath10k_mac_tx_push_pending(struct ath10k *ar)
>>   			break;
>>   	}
>>
>> -	rcu_read_unlock();
>>   	spin_unlock_bh(&ar->txqs_lock);
>> +	rcu_read_unlock();
>
> I'm no RCU expert but this isn't making any sense. Maybe it changes
> timings on your kernel so that it hides the real problem?

I'm not sure this fixed anything or not, it just seemed weird so I changed it.

I was hoping someone that understood rcu locking would comment...

Thanks,
Ben

-- 
Ben Greear <greearb@candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

^ permalink raw reply

* Re: Stability connection problems in ath9k kernel 4.7
From: Valerio Passini @ 2016-09-09 14:32 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Kalle Valo, Adam Morrison, linux-wireless, Omer Peleg,
	linux-kernel, iommu, David Woodhouse
In-Reply-To: <20160909083832.GX1437@8bytes.org>

On venerd=EC 9 settembre 2016 10:38:32 CEST Joerg Roedel wrote:
> Hi Valerio,
>=20
> On Thu, Sep 08, 2016 at 09:07:56PM +0200, Valerio Passini wrote:
> > I'm hoping having done it right and I can try your first suggestion, bu=
t I
> > really cannot solve this problem by myself: sorry, I have no capabiliti=
es
> > in programming in any known and unknown computer language. Surely, I can
> > test all the patches you want and report the results but this is the be=
st
> > I can do. Best regards
>=20
> Can you please send me the full dmesg after boot? The Intel-IOMMU is not
> enabled by default, so I want to check if it is either enabled by
> kernel-config or kernel command-line.
>=20
> Thanks,
>=20
> 	Joerg

Hi Joerg,

It is enabled by kernel config. Indeed, unchecking that option makes the=20
problem disappearing.

Valerio

=46ull dmesg as you asked me.
[    0.000000] microcode: microcode updated early to revision 0x20, date =
=3D=20
2016-03-16
[    0.000000] Linux version 4.7.3 (valerio@Automatix) (gcc version 6.2.0=20
20160901 (Debian 6.2.0-3) ) #1 SMP PREEMPT Fri Sep 9 16:15:07 CEST 2016
[    0.000000] Command line: BOOT_IMAGE=3D/boot/vmlinuz-4.7.3=20
root=3DUUID=3D917286ea-e4a0-4a3e-9307-102636ba2a20 ro quiet acpi_osi=3D
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point=
=20
registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832=20
bytes, using 'standard' format.
[    0.000000] x86/fpu: Using 'eager' FPU context switches.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x0000000000057fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000000058000-0x0000000000058fff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x0000000000059000-0x000000000009dfff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009e000-0x000000000009ffff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000b5df7fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000b5df8000-0x00000000b5dfefff] ACPI =
NVS
[    0.000000] BIOS-e820: [mem 0x00000000b5dff000-0x00000000b6719fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000b671a000-0x00000000b69b7fff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000b69b8000-0x00000000c6045fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c6046000-0x00000000c624ffff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000c6250000-0x00000000c6402fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c6403000-0x00000000c6b08fff] ACPI =
NVS
[    0.000000] BIOS-e820: [mem 0x00000000c6b09000-0x00000000c6f59fff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000c6f5a000-0x00000000c6ffefff] type =
20
[    0.000000] BIOS-e820: [mem 0x00000000c6fff000-0x00000000c6ffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000c7c00000-0x00000000cfdfffff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed03fff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reser=
ved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000022f1fffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] efi: EFI v2.31 by American Megatrends
[    0.000000] efi:  ESRT=3D0xc6f58798  ACPI 2.0=3D0xc648b000  ACPI=3D0xc64=
8b000 =20
SMBIOS=3D0xc6f58398=20
[    0.000000] esrt: Reserving ESRT space from 0x00000000c6f58798 to=20
0x00000000c6f587d0.
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI: ASUSTeK COMPUTER INC. N551JW/N551JW, BIOS N551JW.207=20
08/03/2015
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable =3D=3D> rese=
rved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] e820: last_pfn =3D 0x22f200 max_arch_pfn =3D 0x400000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-EFFFF uncachable
[    0.000000]   F0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 0000000000 mask 7E00000000 write-back
[    0.000000]   1 base 0200000000 mask 7FE0000000 write-back
[    0.000000]   2 base 0220000000 mask 7FF0000000 write-back
[    0.000000]   3 base 00E0000000 mask 7FE0000000 uncachable
[    0.000000]   4 base 00D0000000 mask 7FF0000000 uncachable
[    0.000000]   5 base 00C8000000 mask 7FF8000000 uncachable
[    0.000000]   6 base 00C7C00000 mask 7FFFC00000 uncachable
[    0.000000]   7 base 022F800000 mask 7FFF800000 uncachable
[    0.000000]   8 base 022F400000 mask 7FFFC00000 uncachable
[    0.000000]   9 base 022F200000 mask 7FFFE00000 uncachable
[    0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- WT=
 =20
[    0.000000] e820: update [mem 0xc7c00000-0xffffffff] usable =3D=3D> rese=
rved
[    0.000000] e820: last_pfn =3D 0xc7000 max_arch_pfn =3D 0x400000000
[    0.000000] Base memory trampoline at [ffff880000098000] 98000 size 24576
[    0.000000] Using GB pages for direct mapping
[    0.000000] BRK [0x01a02000, 0x01a02fff] PGTABLE
[    0.000000] BRK [0x01a03000, 0x01a03fff] PGTABLE
[    0.000000] BRK [0x01a04000, 0x01a04fff] PGTABLE
[    0.000000] BRK [0x01a05000, 0x01a05fff] PGTABLE
[    0.000000] BRK [0x01a06000, 0x01a06fff] PGTABLE
[    0.000000] BRK [0x01a07000, 0x01a07fff] PGTABLE
[    0.000000] RAMDISK: [mem 0x37424000-0x37a09fff]
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000C648B000 000024 (v02 _ASUS_)
[    0.000000] ACPI: XSDT 0x00000000C648B098 0000BC (v01 _ASUS_ Notebook=20
01072009 AMI  00010013)
[    0.000000] ACPI: FACP 0x00000000C649EF40 00010C (v05 _ASUS_ Notebook=20
01072009 AMI  00010013)
[    0.000000] ACPI: DSDT 0x00000000C648B270 013CC9 (v02 _ASUS_ Notebook=20
00000012 INTL 20120711)
[    0.000000] ACPI: FACS 0x00000000C6B06F80 000040
[    0.000000] ACPI: APIC 0x00000000C649F050 000092 (v03 _ASUS_ Notebook=20
01072009 AMI  00010013)
[    0.000000] ACPI: FPDT 0x00000000C649F0E8 000044 (v01 _ASUS_ Notebook=20
01072009 AMI  00010013)
[    0.000000] ACPI: ECDT 0x00000000C649F130 0000C1 (v01 _ASUS_ Notebook=20
01072009 AMI. 00000005)
[    0.000000] ACPI: SSDT 0x00000000C649F1F8 00019D (v01 Intel  zpodd   =20
00001000 INTL 20120711)
[    0.000000] ACPI: SSDT 0x00000000C649F398 000539 (v01 PmRef  Cpu0Ist =20
00003000 INTL 20120711)
[    0.000000] ACPI: SSDT 0x00000000C649F8D8 000AD8 (v01 PmRef  CpuPm   =20
00003000 INTL 20120711)
[    0.000000] ACPI: MCFG 0x00000000C64A03B0 00003C (v01 _ASUS_ Notebook=20
01072009 MSFT 00000097)
[    0.000000] ACPI: HPET 0x00000000C64A03F0 000038 (v01 _ASUS_ Notebook=20
01072009 AMI. 00000005)
[    0.000000] ACPI: SSDT 0x00000000C64A0428 000298 (v01 SataRe SataTabl=20
00001000 INTL 20120711)
[    0.000000] ACPI: SSDT 0x00000000C64A06C0 004541 (v01 SaSsdt SaSsdt  =20
00003000 INTL 20091112)
[    0.000000] ACPI: SSDT 0x00000000C64A4C08 001A55 (v01 SgRef  SgPeg   =20
00001000 INTL 20120711)
[    0.000000] ACPI: SSDT 0x00000000C64A6660 000393 (v01 CppcTa CppcTabl=20
00001000 INTL 20120711)
[    0.000000] ACPI: PCCT 0x00000000C64A69F8 00006E (v05 PcctTa PcctTabl=20
00001000 INTL 20120711)
[    0.000000] ACPI: SSDT 0x00000000C64A6A68 000AC4 (v01 Cpc_Ta Cpc_Tabl=20
00001000 INTL 20120711)
[    0.000000] ACPI: BGRT 0x00000000C64A7530 000038 (v00 _ASUS_ Notebook=20
01072009 ASUS 00010013)
[    0.000000] ACPI: DMAR 0x00000000C64A7568 0000A8 (v01 INTEL  HSW     =20
00000001 INTL 00000001)
[    0.000000] ACPI: SSDT 0x00000000C64A7610 001A58 (v01 OptRef OptTabl =20
00001000 INTL 20120711)
[    0.000000] ACPI: MSDM 0x00000000C624EE18 000055 (v03 _ASUS_ Notebook=20
00000000 ASUS 00000001)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] No NUMA configuration found
[    0.000000] Faking a node at [mem 0x0000000000000000-0x000000022f1fffff]
[    0.000000] NODE_DATA(0) allocated [mem 0x22f1f5000-0x22f1f8fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.000000]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000022f1fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x0000000000057fff]
[    0.000000]   node   0: [mem 0x0000000000059000-0x000000000009dfff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x00000000b5df7fff]
[    0.000000]   node   0: [mem 0x00000000b5dff000-0x00000000b6719fff]
[    0.000000]   node   0: [mem 0x00000000b69b8000-0x00000000c6045fff]
[    0.000000]   node   0: [mem 0x00000000c6250000-0x00000000c6402fff]
[    0.000000]   node   0: [mem 0x00000000c6fff000-0x00000000c6ffffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x000000022f1fffff]
[    0.000000] Initmem setup node 0 [mem=20
0x0000000000001000-0x000000022f1fffff]
[    0.000000] On node 0 totalpages: 2052337
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 22 pages reserved
[    0.000000]   DMA zone: 3996 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 12606 pages used for memmap
[    0.000000]   DMA32 zone: 806741 pages, LIFO batch:31
[    0.000000]   Normal zone: 19400 pages used for memmap
[    0.000000]   Normal zone: 1241600 pages, LIFO batch:31
[    0.000000] Reserving Intel graphics stolen memory at 0xc7e00000-0xcfdff=
fff
[    0.000000] ACPI: PM-Timer IO Port: 0x1808
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[    0.000000] IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-=
23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000
[    0.000000] smpboot: Allowing 8 CPUs, 0 hotplug CPUs
[    0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.000000] PM: Registered nosave memory: [mem 0x00058000-0x00058fff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009e000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff]
[    0.000000] PM: Registered nosave memory: [mem 0xb5df8000-0xb5dfefff]
[    0.000000] PM: Registered nosave memory: [mem 0xb671a000-0xb69b7fff]
[    0.000000] PM: Registered nosave memory: [mem 0xc6046000-0xc624ffff]
[    0.000000] PM: Registered nosave memory: [mem 0xc6403000-0xc6b08fff]
[    0.000000] PM: Registered nosave memory: [mem 0xc6b09000-0xc6f59fff]
[    0.000000] PM: Registered nosave memory: [mem 0xc6f5a000-0xc6ffefff]
[    0.000000] PM: Registered nosave memory: [mem 0xc7000000-0xc7bfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xc7c00000-0xcfdfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xcfe00000-0xf7ffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xf8000000-0xfbffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfc000000-0xfebfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfec00000-0xfec00fff]
[    0.000000] PM: Registered nosave memory: [mem 0xfec01000-0xfecfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed00000-0xfed03fff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed04000-0xfed1bfff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed1c000-0xfed1ffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed20000-0xfedfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfee00000-0xfee00fff]
[    0.000000] PM: Registered nosave memory: [mem 0xfee01000-0xfeffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xff000000-0xffffffff]
[    0.000000] e820: [mem 0xcfe00000-0xf7ffffff] available for PCI devices
[    0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles:=20
0xffffffff, max_idle_ns: 1910969940391419 ns
[    0.000000] setup_percpu: NR_CPUS:16 nr_cpumask_bits:16 nr_cpu_ids:8=20
nr_node_ids:1
[    0.000000] percpu: Embedded 31 pages/cpu @ffff88022ee00000 s86936 r8192=
=20
d31848 u262144
[    0.000000] pcpu-alloc: s86936 r8192 d31848 u262144 alloc=3D1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 2 3 4 5 6 7=20
[    0.000000] Built 1 zonelists in Node order, mobility grouping on.  Tota=
l=20
pages: 2020245
[    0.000000] Policy zone: Normal
[    0.000000] Kernel command line: BOOT_IMAGE=3D/boot/vmlinuz-4.7.3=20
root=3DUUID=3D917286ea-e4a0-4a3e-9307-102636ba2a20 ro quiet acpi_osi=3D
[    0.000000] ACPI: _OSI method disabled
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Memory: 7953608K/8209348K available (4657K kernel code, 585K=
=20
rwdata, 1600K rodata, 868K init, 568K bss, 255740K reserved, 0K cma-reserve=
d)
[    0.000000] SLUB: HWalign=3D64, Order=3D0-3, MinObjects=3D0, CPUs=3D8, N=
odes=3D1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] 	Build-time adjustment of leaf fanout to 64.
[    0.000000] 	RCU restricting CPUs from NR_CPUS=3D16 to nr_cpu_ids=3D8.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=3D64, nr_cpu_ids=
=3D8
[    0.000000] NR_IRQS:4352 nr_irqs:488 16
[    0.000000] Console: colour dummy device 80x25
[    0.000000] console [tty0] enabled
[    0.000000] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff,=
=20
max_idle_ns: 133484882848 ns
[    0.000000] hpet clockevent registered
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] spurious 8259A interrupt: IRQ7.
[    0.000000] tsc: Detected 2594.026 MHz processor
[    0.000002] Calibrating delay loop (skipped), value calculated using tim=
er=20
frequency.. 5188.05 BogoMIPS (lpj=3D2594026)
[    0.000003] pid_max: default: 32768 minimum: 301
[    0.000006] ACPI: Core revision 20160422
[    0.012404] ACPI: 10 ACPI AML tables successfully acquired and loaded

[    0.013195] Dentry cache hash table entries: 1048576 (order: 11, 8388608=
=20
bytes)
[    0.014822] Inode-cache hash table entries: 524288 (order: 10, 4194304=20
bytes)
[    0.015697] Mount-cache hash table entries: 16384 (order: 5, 131072 byte=
s)
[    0.015702] Mountpoint-cache hash table entries: 16384 (order: 5, 131072=
=20
bytes)
[    0.015875] CPU: Physical Processor ID: 0
[    0.015876] CPU: Processor Core ID: 0
[    0.015879] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.015879] ENERGY_PERF_BIAS: View and update with=20
x86_energy_perf_policy(8)
[    0.015882] mce: CPU supports 9 MCE banks
[    0.015889] CPU0: Thermal monitoring enabled (TM1)
[    0.015899] process: using mwait in idle threads
[    0.015902] Last level iTLB entries: 4KB 1024, 2MB 1024, 4MB 1024
[    0.015902] Last level dTLB entries: 4KB 1024, 2MB 1024, 4MB 1024, 1GB 4
[    0.016145] Freeing SMP alternatives memory: 20K (ffffffff8196d000 -=20
ffffffff81972000)
[    0.017770] smpboot: Max logical packages: 2
[    0.017771] smpboot: APIC(0) Converting physical 0 to logical package 0
[    0.018112] ..TIMER: vector=3D0x30 apic1=3D0 pin1=3D2 apic2=3D0 pin2=3D0
[    0.028116] TSC deadline timer enabled
[    0.028118] smpboot: CPU0: Intel(R) Core(TM) i7-4720HQ CPU @ 2.60GHz=20
(family: 0x6, model: 0x3c, stepping: 0x3)
[    0.028121] Performance Events: PEBS fmt2+, 16-deep LBR, Haswell events,=
=20
full-width counters, Intel PMU driver.
[    0.028135] ... version:                3
[    0.028135] ... bit width:              48
[    0.028136] ... generic registers:      4
[    0.028136] ... value mask:             0000ffffffffffff
[    0.028137] ... max period:             0000ffffffffffff
[    0.028137] ... fixed-purpose events:   3
[    0.028138] ... event mask:             000000070000000f
[    0.039191] x86: Booting SMP configuration:
[    0.039192] .... node  #0, CPUs:      #1 #2 #3 #4 #5 #6 #7
[    0.500594] x86: Booted up 1 node, 8 CPUs
[    0.500597] smpboot: Total of 8 processors activated (41524.66 BogoMIPS)
[    0.505481] devtmpfs: initialized
[    0.505517] x86/mm: Memory block size: 128MB
[    0.507136] PM: Registering ACPI NVS region [mem 0xb5df8000-0xb5dfefff]=
=20
(28672 bytes)
[    0.507137] PM: Registering ACPI NVS region [mem 0xc6403000-0xc6b08fff]=
=20
(7364608 bytes)
[    0.507224] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xfffffff=
f,=20
max_idle_ns: 1911260446275000 ns
[    0.507244] pinctrl core: initialized pinctrl subsystem
[    0.507359] NET: Registered protocol family 16
[    0.512295] cpuidle: using governor ladder
[    0.518312] cpuidle: using governor menu
[    0.518330] ACPI FADT declares the system doesn't support PCIe ASPM, so=
=20
disable it
[    0.518331] ACPI: bus type PCI registered
[    0.518371] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem=20
0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.518373] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820
[    0.518378] pmd_set_huge: Cannot satisfy [mem 0xf8000000-0xf8200000] wit=
h a=20
huge-page mapping due to MTRR override.
[    0.518414] PCI: Using configuration type 1 for base access
[    0.518431] core: PMU erratum BJ122, BV98, HSD29 worked around, HT is on
[    0.524396] HugeTLB registered 1 GB page size, pre-allocated 0 pages
[    0.524397] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    0.524529] ACPI: Added _OSI(Module Device)
[    0.524530] ACPI: Added _OSI(Processor Device)
[    0.524531] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.524532] ACPI: Added _OSI(Processor Aggregator Device)
[    0.524535] ACPI : EC: EC description table is found, configuring boot EC
[    0.524536] ACPI : EC: EC started
[    0.525621] ACPI: Executed 2 blocks of module-level executable AML code
[    0.531009] ACPI: Dynamic OEM Table Load:
[    0.531014] ACPI: SSDT 0xFFFF8802250D0C00 0003D3 (v01 PmRef  Cpu0Cst =20
00003001 INTL 20120711)
[    0.531501] ACPI: Dynamic OEM Table Load:
[    0.531504] ACPI: SSDT 0xFFFF8802250D8800 0005AA (v01 PmRef  ApIst   =20
00003000 INTL 20120711)
[    0.532011] ACPI: Dynamic OEM Table Load:
[    0.532014] ACPI: SSDT 0xFFFF8802250A0E00 000119 (v01 PmRef  ApCst   =20
00003000 INTL 20120711)
[    0.533156] ACPI: Interpreter enabled
[    0.533176] ACPI: (supports S0 S3 S4 S5)
[    0.533176] ACPI: Using IOAPIC for interrupt routing
[    0.533191] PCI: Using host bridge windows from ACPI; if necessary, use=
=20
"pci=3Dnocrs" and report a bug
[    0.536082] ACPI: Power Resource [PG00] (on)
[    0.538302] ACPI Error: [_OSI] Namespace lookup failure, AE_NOT_FOUND=20
(20160422/psargs-359)
[    0.538305] ACPI Error: Method parse/execution failed [\_SB.BTKL._STA]=20
(Node ffff880226442618), AE_NOT_FOUND (20160422/psparse-542)
[    0.538315] ACPI Error: [_OSI] Namespace lookup failure, AE_NOT_FOUND=20
(20160422/psargs-359)
[    0.538317] ACPI Error: Method parse/execution failed [\_SB.BTKL._STA]=20
(Node ffff880226442618), AE_NOT_FOUND (20160422/psparse-542)
[    0.539060] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.539063] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM Cloc=
kPM=20
Segments MSI]
[    0.539400] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME AER=
=20
PCIeCapability]
[    0.539401] acpi PNP0A08:00: FADT indicates ASPM is unsupported, using B=
IOS=20
configuration
[    0.539500] PCI host bridge to bus 0000:00
[    0.539502] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.539503] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.539504] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bfff=
f=20
window]
[    0.539504] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000c3ff=
f=20
window]
[    0.539505] pci_bus 0000:00: root bus resource [mem 0x000c4000-0x000c7ff=
f=20
window]
[    0.539506] pci_bus 0000:00: root bus resource [mem 0x000c8000-0x000cbff=
f=20
window]
[    0.539507] pci_bus 0000:00: root bus resource [mem 0x000cc000-0x000cfff=
f=20
window]
[    0.539508] pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000d3ff=
f=20
window]
[    0.539508] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7ff=
f=20
window]
[    0.539509] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbff=
f=20
window]
[    0.539510] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dfff=
f=20
window]
[    0.539511] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000e3ff=
f=20
window]
[    0.539511] pci_bus 0000:00: root bus resource [mem 0x000e4000-0x000e7ff=
f=20
window]
[    0.539512] pci_bus 0000:00: root bus resource [mem 0x000e8000-0x000ebff=
f=20
window]
[    0.539513] pci_bus 0000:00: root bus resource [mem 0x000ec000-0x000efff=
f=20
window]
[    0.539514] pci_bus 0000:00: root bus resource [mem 0xcfe00000-0xfeaffff=
f=20
window]
[    0.539515] pci_bus 0000:00: root bus resource [bus 00-3e]
[    0.539520] pci 0000:00:00.0: [8086:0c04] type 00 class 0x060000
[    0.539575] pci 0000:00:01.0: [8086:0c01] type 01 class 0x060400
[    0.539599] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    0.539646] pci 0000:00:01.0: System wakeup disabled by ACPI
[    0.539670] pci 0000:00:02.0: [8086:0416] type 00 class 0x030000
[    0.539676] pci 0000:00:02.0: reg 0x10: [mem 0xf7400000-0xf77fffff 64bit]
[    0.539681] pci 0000:00:02.0: reg 0x18: [mem 0xd0000000-0xdfffffff 64bit=
=20
pref]
[    0.539683] pci 0000:00:02.0: reg 0x20: [io  0xf000-0xf03f]
[    0.539731] pci 0000:00:03.0: [8086:0c0c] type 00 class 0x040300
[    0.539737] pci 0000:00:03.0: reg 0x10: [mem 0xf7a14000-0xf7a17fff 64bit]
[    0.539808] pci 0000:00:14.0: [8086:8c31] type 00 class 0x0c0330
[    0.539822] pci 0000:00:14.0: reg 0x10: [mem 0xf7a00000-0xf7a0ffff 64bit]
[    0.539872] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    0.539895] pci 0000:00:14.0: System wakeup disabled by ACPI
[    0.539918] pci 0000:00:16.0: [8086:8c3a] type 00 class 0x078000
[    0.539932] pci 0000:00:16.0: reg 0x10: [mem 0xf7a1c000-0xf7a1c00f 64bit]
[    0.539986] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    0.540036] pci 0000:00:1b.0: [8086:8c20] type 00 class 0x040300
[    0.540049] pci 0000:00:1b.0: reg 0x10: [mem 0xf7a10000-0xf7a13fff 64bit]
[    0.540106] pci 0000:00:1b.0: PME# supported from D0 D3hot D3cold
[    0.540132] pci 0000:00:1b.0: System wakeup disabled by ACPI
[    0.540154] pci 0000:00:1c.0: [8086:8c10] type 01 class 0x060400
[    0.540207] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.540221] pci 0000:00:1c.0: Enabling MPC IRBNCE
[    0.540223] pci 0000:00:1c.0: Intel PCH root port ACS workaround enabled
[    0.540260] pci 0000:00:1c.0: System wakeup disabled by ACPI
[    0.540282] pci 0000:00:1c.1: [8086:8c12] type 01 class 0x060400
[    0.540335] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    0.540348] pci 0000:00:1c.1: Enabling MPC IRBNCE
[    0.540352] pci 0000:00:1c.1: Intel PCH root port ACS workaround enabled
[    0.540408] pci 0000:00:1c.2: [8086:8c14] type 01 class 0x060400
[    0.540462] pci 0000:00:1c.2: PME# supported from D0 D3hot D3cold
[    0.540474] pci 0000:00:1c.2: Enabling MPC IRBNCE
[    0.540477] pci 0000:00:1c.2: Intel PCH root port ACS workaround enabled
[    0.540510] pci 0000:00:1c.2: System wakeup disabled by ACPI
[    0.540533] pci 0000:00:1c.3: [8086:8c16] type 01 class 0x060400
[    0.540586] pci 0000:00:1c.3: PME# supported from D0 D3hot D3cold
[    0.540598] pci 0000:00:1c.3: Enabling MPC IRBNCE
[    0.540601] pci 0000:00:1c.3: Intel PCH root port ACS workaround enabled
[    0.540634] pci 0000:00:1c.3: System wakeup disabled by ACPI
[    0.540662] pci 0000:00:1f.0: [8086:8c49] type 00 class 0x060100
[    0.540788] pci 0000:00:1f.2: [8086:8c03] type 00 class 0x010601
[    0.540799] pci 0000:00:1f.2: reg 0x10: [io  0xf0b0-0xf0b7]
[    0.540805] pci 0000:00:1f.2: reg 0x14: [io  0xf0a0-0xf0a3]
[    0.540811] pci 0000:00:1f.2: reg 0x18: [io  0xf090-0xf097]
[    0.540817] pci 0000:00:1f.2: reg 0x1c: [io  0xf080-0xf083]
[    0.540823] pci 0000:00:1f.2: reg 0x20: [io  0xf060-0xf07f]
[    0.540830] pci 0000:00:1f.2: reg 0x24: [mem 0xf7a1a000-0xf7a1a7ff]
[    0.540859] pci 0000:00:1f.2: PME# supported from D3hot
[    0.540900] pci 0000:00:1f.3: [8086:8c22] type 00 class 0x0c0500
[    0.540912] pci 0000:00:1f.3: reg 0x10: [mem 0xf7a19000-0xf7a190ff 64bit]
[    0.540929] pci 0000:00:1f.3: reg 0x20: [io  0xf040-0xf05f]
[    0.541008] pci 0000:01:00.0: [10de:139b] type 00 class 0x030200
[    0.541024] pci 0000:01:00.0: reg 0x10: [mem 0xf6000000-0xf6ffffff]
[    0.541040] pci 0000:01:00.0: reg 0x14: [mem 0xe0000000-0xefffffff 64bit=
=20
pref]
[    0.541055] pci 0000:01:00.0: reg 0x1c: [mem 0xf0000000-0xf1ffffff 64bit=
=20
pref]
[    0.541065] pci 0000:01:00.0: reg 0x24: [io  0xe000-0xe07f]
[    0.541076] pci 0000:01:00.0: reg 0x30: [mem 0xf7000000-0xf707ffff pref]
[    0.541169] pci 0000:01:00.0: System wakeup disabled by ACPI
[    0.542365] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.542367] pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
[    0.542369] pci 0000:00:01.0:   bridge window [mem 0xf6000000-0xf70fffff]
[    0.542371] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xf1ffffff=
=20
64bit pref]
[    0.542405] pci 0000:00:1c.0: PCI bridge to [bus 02]
[    0.542443] pci 0000:00:1c.1: PCI bridge to [bus 03]
[    0.542495] pci 0000:04:00.0: [168c:0032] type 00 class 0x028000
[    0.542520] pci 0000:04:00.0: reg 0x10: [mem 0xf7900000-0xf797ffff 64bit]
[    0.542571] pci 0000:04:00.0: reg 0x30: [mem 0xf7980000-0xf798ffff pref]
[    0.542637] pci 0000:04:00.0: supports D1 D2
[    0.542639] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.544366] pci 0000:00:1c.2: PCI bridge to [bus 04]
[    0.544371] pci 0000:00:1c.2:   bridge window [mem 0xf7900000-0xf79fffff]
[    0.544421] pci 0000:05:00.0: [10ec:5287] type 00 class 0xff0000
[    0.544440] pci 0000:05:00.0: reg 0x10: [mem 0xf7815000-0xf7815fff]
[    0.544502] pci 0000:05:00.0: reg 0x30: [mem 0xf7800000-0xf780ffff pref]
[    0.544584] pci 0000:05:00.0: supports D1 D2
[    0.544585] pci 0000:05:00.0: PME# supported from D1 D2 D3hot D3cold
[    0.544663] pci 0000:05:00.1: [10ec:8168] type 00 class 0x020000
[    0.544682] pci 0000:05:00.1: reg 0x10: [io  0xd000-0xd0ff]
[    0.544710] pci 0000:05:00.1: reg 0x18: [mem 0xf7814000-0xf7814fff 64bit]
[    0.544727] pci 0000:05:00.1: reg 0x20: [mem 0xf7810000-0xf7813fff 64bit]
[    0.544813] pci 0000:05:00.1: supports D1 D2
[    0.544814] pci 0000:05:00.1: PME# supported from D0 D1 D2 D3hot D3cold
[    0.546374] pci 0000:00:1c.3: PCI bridge to [bus 05]
[    0.546377] pci 0000:00:1c.3:   bridge window [io  0xd000-0xdfff]
[    0.546380] pci 0000:00:1c.3:   bridge window [mem 0xf7800000-0xf78fffff]
[    0.546937] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 11 12) *0=
,=20
disabled.
[    0.546973] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 12) *0,=20
disabled.
[    0.547006] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 12) *0,=20
disabled.
[    0.547040] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 12) *0,=20
disabled.
[    0.547073] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 12) *0,=20
disabled.
[    0.547105] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 12) *0,=20
disabled.
[    0.547138] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 7 10 12) *0,=20
disabled.
[    0.547171] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 12) *0,=20
disabled.
[    0.547197] ACPI Error: [_OSI] Namespace lookup failure, AE_NOT_FOUND=20
(20160422/psargs-359)
[    0.547199] ACPI Error: Method parse/execution failed [\_SB.BTKL._STA]=20
(Node ffff880226442618), AE_NOT_FOUND (20160422/psparse-542)
[    0.547375] ACPI: Enabled 4 GPEs in block 00 to 3F
[    0.547420] ACPI : EC: EC stopped
[    0.547468] ACPI : EC: GPE =3D 0x19, I/O: command/status =3D 0x66, data =
=3D 0x62
[    0.547469] ACPI : EC: EC started
[    0.547609] vgaarb: setting as boot device: PCI:0000:00:02.0
[    0.547611] vgaarb: device added: PCI:0000:00:02.0,decodes=3Dio+mem,owns=
=3Dio
+mem,locks=3Dnone
[    0.547613] vgaarb: loaded
[    0.547614] vgaarb: bridge control possible 0000:00:02.0
[    0.547656] SCSI subsystem initialized
[    0.547680] libata version 3.00 loaded.
[    0.547693] EDAC MC: Ver: 3.0.0
[    0.547796] PCI: Using ACPI for IRQ routing
[    0.548993] PCI: pci_cache_line_size set to 64 bytes
[    0.549043] e820: reserve RAM buffer [mem 0x00058000-0x0005ffff]
[    0.549044] e820: reserve RAM buffer [mem 0x0009e000-0x0009ffff]
[    0.549045] e820: reserve RAM buffer [mem 0xb5df8000-0xb7ffffff]
[    0.549046] e820: reserve RAM buffer [mem 0xb671a000-0xb7ffffff]
[    0.549047] e820: reserve RAM buffer [mem 0xc6046000-0xc7ffffff]
[    0.549049] e820: reserve RAM buffer [mem 0xc6403000-0xc7ffffff]
[    0.549050] e820: reserve RAM buffer [mem 0xc7000000-0xc7ffffff]
[    0.549051] e820: reserve RAM buffer [mem 0x22f200000-0x22fffffff]
[    0.549152] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    0.549156] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    0.552169] amd_nb: Cannot enumerate AMD northbridges
[    0.552178] clocksource: Switched to clocksource hpet
[    0.552192] VFS: Disk quotas dquot_6.6.0
[    0.552199] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 byte=
s)
[    0.552227] pnp: PnP ACPI init
[    0.552270] system 00:00: [mem 0xfed40000-0xfed44fff] has been reserved
[    0.552272] system 00:00: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.552380] system 00:01: [io  0x0680-0x069f] has been reserved
[    0.552381] system 00:01: [io  0xffff] has been reserved
[    0.552382] system 00:01: [io  0xffff] has been reserved
[    0.552383] system 00:01: [io  0xffff] has been reserved
[    0.552383] system 00:01: [io  0x1c00-0x1cfe] has been reserved
[    0.552384] system 00:01: [io  0x1d00-0x1dfe] has been reserved
[    0.552385] system 00:01: [io  0x1e00-0x1efe] has been reserved
[    0.552386] system 00:01: [io  0x1f00-0x1ffe] has been reserved
[    0.552387] system 00:01: [io  0x1800-0x18fe] has been reserved
[    0.552388] system 00:01: [io  0x164e-0x164f] has been reserved
[    0.552389] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.552401] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.552427] system 00:03: [io  0x1854-0x1857] has been reserved
[    0.552429] system 00:03: Plug and Play ACPI device, IDs INT3f0d PNP0c02=
=20
(active)
[    0.552453] system 00:04: [io  0x04d0-0x04d1] has been reserved
[    0.552455] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.552471] system 00:05: [io  0x0240-0x0259] has been reserved
[    0.552473] system 00:05: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.552500] pnp 00:06: Plug and Play ACPI device, IDs ETD0108 SYN0a00=20
SYN0002 PNP0f03 PNP0f13 PNP0f12 (active)
[    0.552519] pnp 00:07: Plug and Play ACPI device, IDs ATK3001 PNP030b=20
(active)
[    0.552698] system 00:08: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.552699] system 00:08: [mem 0xfed10000-0xfed17fff] has been reserved
[    0.552700] system 00:08: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.552701] system 00:08: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.552702] system 00:08: [mem 0xf8000000-0xfbffffff] has been reserved
[    0.552703] system 00:08: [mem 0xfed20000-0xfed3ffff] has been reserved
[    0.552704] system 00:08: [mem 0xfed90000-0xfed93fff] has been reserved
[    0.552704] system 00:08: [mem 0xfed45000-0xfed8ffff] has been reserved
[    0.552705] system 00:08: [mem 0xff000000-0xffffffff] has been reserved
[    0.552707] system 00:08: [mem 0xfee00000-0xfeefffff] could not be reser=
ved
[    0.552708] system 00:08: [mem 0xf7fdf000-0xf7fdffff] has been reserved
[    0.552709] system 00:08: [mem 0xf7fe0000-0xf7feffff] has been reserved
[    0.552710] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.552749] system 00:09: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.552834] ACPI Error: [_OSI] Namespace lookup failure, AE_NOT_FOUND=20
(20160422/psargs-359)
[    0.552836] ACPI Error: Method parse/execution failed [\_SB.BTKL._STA]=20
(Node ffff880226442618), AE_NOT_FOUND (20160422/psparse-542)
[    0.552914] pnp: PnP ACPI: found 10 devices
[    0.558487] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff,=20
max_idle_ns: 2085701024 ns
[    0.558503] pci 0000:00:1c.1: bridge window [io  0x1000-0x0fff] to [bus =
03]=20
add_size 1000
[    0.558505] pci 0000:00:1c.1: bridge window [mem 0x00100000-0x000fffff=20
64bit pref] to [bus 03] add_size 200000 add_align 100000
[    0.558506] pci 0000:00:1c.1: bridge window [mem 0x00100000-0x000fffff] =
to=20
[bus 03] add_size 200000 add_align 100000
[    0.558519] pci 0000:00:1c.1: res[14]=3D[mem 0x00100000-0x000fffff]=20
res_to_dev_res add_size 200000 min_align 100000
[    0.558520] pci 0000:00:1c.1: res[14]=3D[mem 0x00100000-0x002fffff]=20
res_to_dev_res add_size 200000 min_align 100000
[    0.558521] pci 0000:00:1c.1: res[15]=3D[mem 0x00100000-0x000fffff 64bit=
=20
pref] res_to_dev_res add_size 200000 min_align 100000
[    0.558522] pci 0000:00:1c.1: res[15]=3D[mem 0x00100000-0x002fffff 64bit=
=20
pref] res_to_dev_res add_size 200000 min_align 100000
[    0.558523] pci 0000:00:1c.1: res[13]=3D[io  0x1000-0x0fff] res_to_dev_r=
es=20
add_size 1000 min_align 1000
[    0.558524] pci 0000:00:1c.1: res[13]=3D[io  0x1000-0x1fff] res_to_dev_r=
es=20
add_size 1000 min_align 1000
[    0.558528] pci 0000:00:1c.1: BAR 14: assigned [mem 0xcfe00000-0xcffffff=
f]
[    0.558534] pci 0000:00:1c.1: BAR 15: assigned [mem 0xf2000000-0xf21ffff=
f=20
64bit pref]
[    0.558535] pci 0000:00:1c.1: BAR 13: assigned [io  0x2000-0x2fff]
[    0.558537] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.558538] pci 0000:00:01.0:   bridge window [io  0xe000-0xefff]
[    0.558540] pci 0000:00:01.0:   bridge window [mem 0xf6000000-0xf70fffff]
[    0.558541] pci 0000:00:01.0:   bridge window [mem 0xe0000000-0xf1ffffff=
=20
64bit pref]
[    0.558544] pci 0000:00:1c.0: PCI bridge to [bus 02]
[    0.558552] pci 0000:00:1c.1: PCI bridge to [bus 03]
[    0.558555] pci 0000:00:1c.1:   bridge window [io  0x2000-0x2fff]
[    0.558558] pci 0000:00:1c.1:   bridge window [mem 0xcfe00000-0xcfffffff]
[    0.558561] pci 0000:00:1c.1:   bridge window [mem 0xf2000000-0xf21fffff=
=20
64bit pref]
[    0.558565] pci 0000:00:1c.2: PCI bridge to [bus 04]
[    0.558569] pci 0000:00:1c.2:   bridge window [mem 0xf7900000-0xf79fffff]
[    0.558575] pci 0000:00:1c.3: PCI bridge to [bus 05]
[    0.558577] pci 0000:00:1c.3:   bridge window [io  0xd000-0xdfff]
[    0.558581] pci 0000:00:1c.3:   bridge window [mem 0xf7800000-0xf78fffff]
[    0.558588] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    0.558589] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    0.558589] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff windo=
w]
[    0.558590] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000c3fff windo=
w]
[    0.558591] pci_bus 0000:00: resource 8 [mem 0x000c4000-0x000c7fff windo=
w]
[    0.558592] pci_bus 0000:00: resource 9 [mem 0x000c8000-0x000cbfff windo=
w]
[    0.558593] pci_bus 0000:00: resource 10 [mem 0x000cc000-0x000cffff wind=
ow]
[    0.558594] pci_bus 0000:00: resource 11 [mem 0x000d0000-0x000d3fff wind=
ow]
[    0.558594] pci_bus 0000:00: resource 12 [mem 0x000d4000-0x000d7fff wind=
ow]
[    0.558595] pci_bus 0000:00: resource 13 [mem 0x000d8000-0x000dbfff wind=
ow]
[    0.558596] pci_bus 0000:00: resource 14 [mem 0x000dc000-0x000dffff wind=
ow]
[    0.558597] pci_bus 0000:00: resource 15 [mem 0x000e0000-0x000e3fff wind=
ow]
[    0.558598] pci_bus 0000:00: resource 16 [mem 0x000e4000-0x000e7fff wind=
ow]
[    0.558598] pci_bus 0000:00: resource 17 [mem 0x000e8000-0x000ebfff wind=
ow]
[    0.558599] pci_bus 0000:00: resource 18 [mem 0x000ec000-0x000effff wind=
ow]
[    0.558600] pci_bus 0000:00: resource 19 [mem 0xcfe00000-0xfeafffff wind=
ow]
[    0.558601] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
[    0.558602] pci_bus 0000:01: resource 1 [mem 0xf6000000-0xf70fffff]
[    0.558603] pci_bus 0000:01: resource 2 [mem 0xe0000000-0xf1ffffff 64bit=
=20
pref]
[    0.558604] pci_bus 0000:03: resource 0 [io  0x2000-0x2fff]
[    0.558604] pci_bus 0000:03: resource 1 [mem 0xcfe00000-0xcfffffff]
[    0.558605] pci_bus 0000:03: resource 2 [mem 0xf2000000-0xf21fffff 64bit=
=20
pref]
[    0.558606] pci_bus 0000:04: resource 1 [mem 0xf7900000-0xf79fffff]
[    0.558607] pci_bus 0000:05: resource 0 [io  0xd000-0xdfff]
[    0.558608] pci_bus 0000:05: resource 1 [mem 0xf7800000-0xf78fffff]
[    0.558621] NET: Registered protocol family 2
[    0.558710] TCP established hash table entries: 65536 (order: 7, 524288=
=20
bytes)
[    0.558789] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes)
[    0.558926] TCP: Hash tables configured (established 65536 bind 65536)
[    0.558941] UDP hash table entries: 4096 (order: 5, 131072 bytes)
[    0.558965] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes)
[    0.559008] NET: Registered protocol family 1
[    0.559016] pci 0000:00:02.0: Video device with shadowed ROM at [mem=20
0x000c0000-0x000dffff]
[    0.559158] PCI: CLS 64 bytes, default 64
[    0.559192] Unpacking initramfs...
[    0.626612] Freeing initrd memory: 6040K (ffff880037424000 -=20
ffff880037a0a000)
[    0.626624] DMAR: Host address width 39
[    0.626625] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[    0.626635] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c00000206604=
62=20
ecap f0101a
[    0.626636] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[    0.626640] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d20080206604=
62=20
ecap f010da
[    0.626640] DMAR: RMRR base: 0x000000c61e6000 end: 0x000000c61f2fff
[    0.626641] DMAR: RMRR base: 0x000000c7c00000 end: 0x000000cfdfffff
[    0.626647] DMAR: No ATSR found
[    0.627485] DMAR: dmar0: Using Queued invalidation
[    0.627492] DMAR: dmar1: Using Queued invalidation
[    0.627535] DMAR: Setting RMRR:
[    0.627569] DMAR: Setting identity map for device 0000:00:02.0 [0xc7c000=
00=20
=2D 0xcfdfffff]
[    0.628186] DMAR: Setting identity map for device 0000:00:14.0 [0xc61e60=
00=20
=2D 0xc61f2fff]
[    0.628197] DMAR: Prepare 0-16MiB unity mapping for LPC
[    0.628221] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 -=20
0xffffff]
[    0.628352] DMAR: Intel(R) Virtualization Technology for Directed I/O
[    0.628387] iommu: Adding device 0000:00:00.0 to group 0
[    0.628396] iommu: Adding device 0000:00:01.0 to group 1
[    0.628402] iommu: Adding device 0000:00:02.0 to group 2
[    0.628407] iommu: Adding device 0000:00:03.0 to group 3
[    0.628412] iommu: Adding device 0000:00:14.0 to group 4
[    0.628419] iommu: Adding device 0000:00:16.0 to group 5
[    0.628424] iommu: Adding device 0000:00:1b.0 to group 6
[    0.628429] iommu: Adding device 0000:00:1c.0 to group 7
[    0.628434] iommu: Adding device 0000:00:1c.1 to group 8
[    0.628440] iommu: Adding device 0000:00:1c.2 to group 9
[    0.628446] iommu: Adding device 0000:00:1c.3 to group 10
[    0.628455] iommu: Adding device 0000:00:1f.0 to group 11
[    0.628460] iommu: Adding device 0000:00:1f.2 to group 11
[    0.628465] iommu: Adding device 0000:00:1f.3 to group 11
[    0.628469] iommu: Adding device 0000:01:00.0 to group 1
[    0.628474] iommu: Adding device 0000:04:00.0 to group 12
[    0.628494] iommu: Adding device 0000:05:00.0 to group 13
[    0.628511] iommu: Adding device 0000:05:00.1 to group 13
[    0.631087] futex hash table entries: 2048 (order: 5, 131072 bytes)
[    0.631114] audit: initializing netlink subsys (disabled)
[    0.631135] audit: type=3D2000 audit(1473437962.618:1): initialized
[    0.631312] workingset: timestamp_bits=3D54 max_order=3D21 bucket_order=
=3D0
[    0.632538] Block layer SCSI generic (bsg) driver version 0.4 loaded (ma=
jor=20
249)
[    0.632565] io scheduler noop registered
[    0.632567] io scheduler deadline registered
[    0.632595] io scheduler cfq registered (default)
[    0.633131] pcieport 0000:00:01.0: Signaling PME through PCIe PME interr=
upt
[    0.633133] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt
[    0.633135] pcie_pme 0000:00:01.0:pcie001: service driver pcie_pme loaded
[    0.633159] pcieport 0000:00:1c.0: Signaling PME through PCIe PME interr=
upt
[    0.633163] pcie_pme 0000:00:1c.0:pcie001: service driver pcie_pme loaded
[    0.633196] pcieport 0000:00:1c.1: Signaling PME through PCIe PME interr=
upt
[    0.633200] pcie_pme 0000:00:1c.1:pcie001: service driver pcie_pme loaded
[    0.633216] pcieport 0000:00:1c.2: Signaling PME through PCIe PME interr=
upt
[    0.633217] pci 0000:04:00.0: Signaling PME through PCIe PME interrupt
[    0.633221] pcie_pme 0000:00:1c.2:pcie001: service driver pcie_pme loaded
[    0.633236] pcieport 0000:00:1c.3: Signaling PME through PCIe PME interr=
upt
[    0.633237] pci 0000:05:00.0: Signaling PME through PCIe PME interrupt
[    0.633238] pci 0000:05:00.1: Signaling PME through PCIe PME interrupt
[    0.633242] pcie_pme 0000:00:1c.3:pcie001: service driver pcie_pme loaded
[    0.633245] pci_hotplug: PCI Hot Plug PCI Core version: 0.5
[    0.633246] intel_idle: MWAIT substates: 0x42120
[    0.633247] intel_idle: v0.4.1 model 0x3C
[    0.633463] intel_idle: lapic_timer_reliable_states 0xffffffff
[    0.633585] GHES: HEST is not enabled!
[    0.633618] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.634387] i8042: PNP: PS/2 Controller [PNP030b:PS2K,PNP0f03:PS2M] at=20
0x60,0x64 irq 1,12
[    0.637930] i8042: Detected active multiplexing controller, rev 1.1
[    0.639337] serio: i8042 KBD port at 0x60,0x64 irq 1
[    0.639343] serio: i8042 AUX0 port at 0x60,0x64 irq 12
[    0.639344] serio: i8042 AUX1 port at 0x60,0x64 irq 12
[    0.639344] serio: i8042 AUX2 port at 0x60,0x64 irq 12
[    0.639356] serio: i8042 AUX3 port at 0x60,0x64 irq 12
[    0.639525] mousedev: PS/2 mouse device common for all mice
[    0.639581] input: PC Speaker as /devices/platform/pcspkr/input/input1
[    0.639597] rtc_cmos 00:02: RTC can wake from S4
[    0.639712] rtc_cmos 00:02: rtc core: registered rtc_cmos as rtc0
[    0.639744] rtc_cmos 00:02: alarms up to one month, y3k, 242 bytes nvram=
,=20
hpet irqs
[    0.639750] intel_pstate: Intel P-state driver initializing
[    0.639966] ledtrig-cpu: registered to indicate activity on CPUs
[    0.640810] NET: Registered protocol family 10
[    0.641365] mip6: Mobile IPv6
[    0.641371] NET: Registered protocol family 17
[    0.641385] Key type dns_resolver registered
[    0.641925] microcode: CPU0 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.641967] microcode: CPU1 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.642011] microcode: CPU2 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.642041] microcode: CPU3 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.642063] microcode: CPU4 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.642107] microcode: CPU5 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.642126] microcode: CPU6 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.642143] microcode: CPU7 sig=3D0x306c3, pf=3D0x20, revision=3D0x20
[    0.642253] microcode: Microcode Update Driver: v2.01=20
<tigran@aivazian.fsnet.co.uk>, Peter Oruba
[    0.642537] registered taskstats version 1
[    0.643774] rtc_cmos 00:02: setting system clock to 2016-09-09 16:19:23 =
UTC=20
(1473437963)
[    0.645672] Freeing unused kernel memory: 868K (ffffffff81894000 -=20
ffffffff8196d000)
[    0.645676] Write protecting the kernel read-only data: 8192k
[    0.646529] Freeing unused kernel memory: 1468K (ffff880001491000 -=20
ffff880001600000)
[    0.649148] Freeing unused kernel memory: 448K (ffff880001790000 -=20
ffff880001800000)
[    0.671612] random: systemd-udevd: uninitialized urandom read (16 bytes=
=20
read, 5 bits of entropy available)
[    0.671691] random: systemd-udevd: uninitialized urandom read (16 bytes=
=20
read, 5 bits of entropy available)
[    0.671706] random: systemd-udevd: uninitialized urandom read (16 bytes=
=20
read, 5 bits of entropy available)
[    0.672562] random: udevadm: uninitialized urandom read (16 bytes read, =
5=20
bits of entropy available)
[    0.672622] random: udevadm: uninitialized urandom read (16 bytes read, =
5=20
bits of entropy available)
[    0.673152] random: udevadm: uninitialized urandom read (16 bytes read, =
5=20
bits of entropy available)
[    0.673230] random: udevadm: uninitialized urandom read (16 bytes read, =
5=20
bits of entropy available)
[    0.673285] random: udevadm: uninitialized urandom read (16 bytes read, =
5=20
bits of entropy available)
[    0.673345] random: udevadm: uninitialized urandom read (16 bytes read, =
5=20
bits of entropy available)
[    0.673397] random: udevadm: uninitialized urandom read (16 bytes read, =
5=20
bits of entropy available)
[    0.679935] input: AT Translated Set 2 keyboard as /devices/platform/i80=
42/
serio0/input/input0
[    0.709696] thermal LNXTHERM:00: registered as thermal_zone0
[    0.709699] ACPI: Thermal Zone [THRM] (67 C)
[    0.709812] ACPI: bus type USB registered
[    0.709830] usbcore: registered new interface driver usbfs
[    0.709835] usbcore: registered new interface driver hub
[    0.709866] usbcore: registered new device driver usb
[    0.709923] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    0.709931] r8169 0000:05:00.1: can't disable ASPM; OS doesn't have ASPM=
=20
control
[    0.710467] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    0.710480] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus=
=20
number 1
[    0.711600] xhci_hcd 0000:00:14.0: hcc params 0x200077c1 hci version 0x1=
00=20
quirks 0x00009810
[    0.711605] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    0.711686] usb usb1: New USB device found, idVendor=3D1d6b, idProduct=
=3D0002
[    0.711687] usb usb1: New USB device strings: Mfr=3D3, Product=3D2,=20
SerialNumber=3D1
[    0.711689] usb usb1: Product: xHCI Host Controller
[    0.711690] usb usb1: Manufacturer: Linux 4.7.3 xhci-hcd
[    0.711691] usb usb1: SerialNumber: 0000:00:14.0
[    0.711788] hub 1-0:1.0: USB hub found
[    0.711805] hub 1-0:1.0: 14 ports detected
[    0.713194] r8169 0000:05:00.1 eth0: RTL8411 at 0xffffc90000c84000,=20
08:62:66:b5:38:a0, XID 1c800800 IRQ 32
[    0.713197] r8169 0000:05:00.1 eth0: jumbo features [frames: 9200 bytes,=
 tx=20
checksumming: ko]
[    0.713377] rtsx_pci 0000:05:00.0: rtsx_pci_acquire_irq: pcr->msi_en =3D=
 1,=20
pci->irq =3D 33
[    0.715756] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    0.715761] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus=
=20
number 2
[    0.715796] usb usb2: New USB device found, idVendor=3D1d6b, idProduct=
=3D0003
[    0.715798] usb usb2: New USB device strings: Mfr=3D3, Product=3D2,=20
SerialNumber=3D1
[    0.715799] usb usb2: Product: xHCI Host Controller
[    0.715801] usb usb2: Manufacturer: Linux 4.7.3 xhci-hcd
[    0.715802] usb usb2: SerialNumber: 0000:00:14.0
[    0.715915] hub 2-0:1.0: USB hub found
[    0.715926] hub 2-0:1.0: 4 ports detected
[    0.716608] ahci 0000:00:1f.2: version 3.0
[    0.716755] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 4 ports 6 Gbps 0x=
14=20
impl SATA mode
[    0.716757] ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part=
=20
ems apst=20
[    0.718662] scsi host0: ahci
[    0.718757] scsi host1: ahci
[    0.718836] scsi host2: ahci
[    0.718904] scsi host3: ahci
[    0.718966] scsi host4: ahci
[    0.719001] ata1: DUMMY
[    0.719002] ata2: DUMMY
[    0.719005] ata3: SATA max UDMA/133 abar m2048@0xf7a1a000 port 0xf7a1a20=
0=20
irq 34
[    0.719007] ata4: DUMMY
[    0.719009] ata5: SATA max UDMA/133 abar m2048@0xf7a1a000 port 0xf7a1a30=
0=20
irq 34
[    0.721557] r8169 0000:05:00.1 enp5s0f1: renamed from eth0
[    1.022237] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    1.022259] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    1.024147] ata5.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succee=
ded
[    1.024150] ata5.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK=
)=20
filtered out
[    1.024152] ata5.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION=
=20
OVERLAY) filtered out
[    1.024321] ata3.00: ATAPI: HL-DT-ST DVDRAM GUC0N, AS01, max UDMA/133
[    1.024426] ata5.00: supports DRM functions and may not be fully accessi=
ble
[    1.025241] ata5.00: disabling queued TRIM support
[    1.025245] ata5.00: ATA-9: Samsung SSD 850 EVO 250GB, EMT02B6Q, max UDM=
A/
133
[    1.025247] ata5.00: 488397168 sectors, multi 1: LBA48 NCQ (depth 31/32)=
,=20
AA
[    1.026062] ata3.00: configured for UDMA/133
[    1.026086] ata5.00: ACPI cmd ef/10:06:00:00:00:00 (SET FEATURES) succee=
ded
[    1.026088] ata5.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK=
)=20
filtered out
[    1.026089] ata5.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION=
=20
OVERLAY) filtered out
[    1.026285] ata5.00: supports DRM functions and may not be fully accessi=
ble
[    1.026892] ata5.00: disabling queued TRIM support
[    1.027119] ata5.00: configured for UDMA/133
[    1.029411] scsi 2:0:0:0: CD-ROM            HL-DT-ST DVDRAM GUC0N     AS=
01=20
PQ: 0 ANSI: 5
[    1.043044] scsi 4:0:0:0: Direct-Access     ATA      Samsung SSD 850  2B=
6Q=20
PQ: 0 ANSI: 5
[    1.058855] sd 4:0:0:0: [sda] 488397168 512-byte logical blocks: (250 GB/
233 GiB)
[    1.058917] sd 4:0:0:0: [sda] Write Protect is off
[    1.058919] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    1.058938] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled,=
=20
doesn't support DPO or FUA
[    1.060277]  sda: sda1 sda2 sda3 sda4 sda5 sda6 sda7 sda8
[    1.060651] sd 4:0:0:0: [sda] Attached SCSI disk
[    1.069197] usb 1-3: new full-speed USB device number 2 using xhci_hcd
[    1.075254] sr 2:0:0:0: [sr0] scsi3-mmc drive: 24x/24x writer dvd-ram cd=
/rw=20
xa/form2 cdda tray
[    1.075257] cdrom: Uniform CD-ROM driver Revision: 3.20
[    1.075401] sr 2:0:0:0: Attached scsi CD-ROM sr0
[    1.082387] usb 1-3: New USB device found, idVendor=3D046d, idProduct=3D=
c52f
[    1.082390] usb 1-3: New USB device strings: Mfr=3D1, Product=3D2,=20
SerialNumber=3D0
[    1.082392] usb 1-3: Product: USB Receiver
[    1.082393] usb 1-3: Manufacturer: Logitech
[    1.084066] hidraw: raw HID events driver (C) Jiri Kosina
[    1.086196] usbcore: registered new interface driver usbhid
[    1.086199] usbhid: USB HID core driver
[    1.086716] input: Logitech USB Receiver as /devices/
pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:046D:C52F.0001/input/input10
[    1.086765] hid-generic 0003:046D:C52F.0001: input,hidraw0: USB HID v1.1=
1=20
Mouse [Logitech USB Receiver] on usb-0000:00:14.0-3/input0
[    1.087443] input: Logitech USB Receiver as /devices/
pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.1/0003:046D:C52F.0002/input/input11
[    1.138411] hid-generic 0003:046D:C52F.0002: input,hiddev0,hidraw1: USB =
HID=20
v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3/input1
[    1.196155] EXT4-fs (sda6): mounted filesystem with ordered data mode.=20
Opts: (null)
[    1.236211] usb 1-5: new full-speed USB device number 3 using xhci_hcd
[    1.243502] systemd[1]: RTC configured in localtime, applying delta of 1=
20=20
minutes to system time.
[    1.248929] usb 1-5: New USB device found, idVendor=3D13d3, idProduct=3D=
3402
[    1.248931] usb 1-5: New USB device strings: Mfr=3D1, Product=3D2,=20
SerialNumber=3D3
[    1.248932] usb 1-5: Product: Bluetooth USB Host Controller
[    1.248933] usb 1-5: Manufacturer: Atheros Communications
[    1.248934] usb 1-5: SerialNumber: Alaska Day 2006
[    1.258502] ip_tables: (C) 2000-2006 Netfilter Core Team
[    1.274499] systemd[1]: systemd 231 running in system mode. (+PAM +AUDIT=
=20
+SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUT=
LS=20
+ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[    1.274652] systemd[1]: Detected architecture x86-64.
[    1.274811] systemd[1]: Set hostname to <Automatix>.
[    1.330299] systemd[1]: Listening on udev Kernel Socket.
[    1.330353] systemd[1]: Listening on fsck to fsckd communication Socket.
[    1.330383] systemd[1]: Started Forward Password Requests to Wall Direct=
ory=20
Watch.
[    1.330407] systemd[1]: Listening on /dev/initctl Compatibility Named Pi=
pe.
[    1.330417] systemd[1]: Reached target Encrypted Volumes.
[    1.330442] systemd[1]: Listening on RPCbind Server Activation Socket.
[    1.330450] systemd[1]: Reached target Swap.
[    1.330466] systemd[1]: Listening on Syslog Socket.
[    1.330481] systemd[1]: Listening on Journal Socket (/dev/log).
[    1.330535] systemd[1]: Created slice User and Session Slice.
[    1.330574] systemd[1]: Created slice System Slice.
[    1.330620] systemd[1]: Listening on Journal Audit Socket.
[    1.330630] systemd[1]: Reached target User and Group Name Lookups.
[    1.330638] systemd[1]: Reached target Slices.
[    1.330679] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    1.330701] systemd[1]: Listening on udev Control Socket.
[    1.330721] systemd[1]: Listening on Journal Socket.
[    1.338296] systemd[1]: Mounting POSIX Message Queue File System...
[    1.338708] systemd[1]: Starting Remount Root and Kernel File Systems...
[    1.340234] systemd[1]: Starting Load Kernel Modules...
[    1.340527] systemd[1]: Mounting Huge Pages File System...
[    1.340788] systemd[1]: Starting Journal Service...
[    1.341096] systemd[1]: Starting Create list of required static device=20
nodes for the current kernel...
[    1.341474] systemd[1]: Mounting Debug File System...
[    1.341603] systemd[1]: Set up automount Arbitrary Executable File Forma=
ts=20
=46ile System Automount Point.
[    1.342249] systemd[1]: Started Dispatch Password Requests to Console=20
Directory Watch.
[    1.342321] systemd[1]: Created slice system-getty.slice.
[    1.343686] systemd[1]: Starting Set the console keyboard layout...
[    1.344491] systemd[1]: Started Create list of required static device no=
des=20
for the current kernel.
[    1.344970] systemd[1]: Starting Create Static Device Nodes in /dev...
[    1.345591] systemd[1]: Mounted POSIX Message Queue File System.
[    1.345620] systemd[1]: Mounted Huge Pages File System.
[    1.345637] systemd[1]: Mounted Debug File System.
[    1.347119] EXT4-fs (sda6): re-mounted. Opts: user_xattr,errors=3Dremoun=
t-ro
[    1.347487] systemd[1]: Started Remount Root and Kernel File Systems.
[    1.348564] systemd[1]: Starting udev Coldplug all Devices...
[    1.348852] lp: driver loaded but no devices found
[    1.348883] systemd[1]: Starting Load/Save Random Seed...
[    1.350133] ppdev: user-space parallel port driver
[    1.352833] systemd[1]: Started Load/Save Random Seed.
[    1.353578] systemd[1]: Started Load Kernel Modules.
[    1.354091] systemd[1]: Starting Apply Kernel Variables...
[    1.358517] systemd[1]: Started Apply Kernel Variables.
[    1.361692] systemd[1]: Started Create Static Device Nodes in /dev.
[    1.362063] systemd[1]: Starting udev Kernel Device Manager...
[    1.371894] systemd[1]: Started Journal Service.
[    1.380806] systemd-journald[234]: Received request to flush runtime=20
journal from PID 1
[    1.402194] usb 1-7: new high-speed USB device number 4 using xhci_hcd
[    1.404552] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0=
D:
00/input/input12
[    1.405361] ACPI: Lid Switch [LID]
[    1.405404] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/
PNP0C0E:00/input/input13
[    1.405431] ACPI: Sleep Button [SLPB]
[    1.405466] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/inpu=
t/
input14
[    1.405491] ACPI: Power Button [PWRF]
[    1.406928] ACPI: AC Adapter [AC0] (on-line)
[    1.412928] ACPI: Battery Slot [BAT0] (battery present)
[    1.413033] wmi: Mapper loaded
[    1.430087] sr 2:0:0:0: Attached scsi generic sg0 type 5
[    1.430394] sd 4:0:0:0: Attached scsi generic sg1 type 0
[    1.433545] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
[    1.435042] ACPI Error: [_OSI] Namespace lookup failure, AE_NOT_FOUND=20
(20160422/psargs-359)
[    1.435047] ACPI Error: Method parse/execution failed [\_SB.BTKL._STA]=20
(Node ffff880226442618), AE_NOT_FOUND (20160422/psparse-542)
[    1.440113] snd_hda_intel 0000:00:03.0: Applying patch firmware 'asus-n5=
51-
hda-fix.fw'
[    1.440589] snd_hda_intel 0000:00:1b.0: Applying patch firmware 'asus-n5=
51-
hda-fix.fw'
[    1.441925] RAPL PMU: API unit is 2^-32 Joules, 4 fixed counters, 655360=
 ms=20
ovfl timer
[    1.441927] RAPL PMU: hw unit of domain pp0-core 2^-14 Joules
[    1.441928] RAPL PMU: hw unit of domain package 2^-14 Joules
[    1.441928] RAPL PMU: hw unit of domain dram 2^-14 Joules
[    1.441929] RAPL PMU: hw unit of domain pp1-gpu 2^-14 Joules
[    1.441938] [drm] Initialized drm 1.1.0 20060810
[    1.445844] AVX2 version of gcm_enc/dec engaged.
[    1.445847] AES CTR mode by8 optimization enabled
[    1.452312] ath: phy0: Set parameters for CUS198
[    1.452315] ath: phy0: Set BT/WLAN RX diversity capability
[    1.452914] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC668:=20
line_outs=3D2 (0x14/0x1a/0x0/0x0/0x0) type:speaker
[    1.452917] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=3D0=20
(0x0/0x0/0x0/0x0/0x0)
[    1.452919] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=3D1=20
(0x15/0x0/0x0/0x0/0x0)
[    1.452920] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=3D0x0
[    1.452921] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    1.452923] snd_hda_codec_realtek hdaudioC0D0:      Mic=3D0x18
[    1.452925] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=3D0x12
[    1.458598] ath: phy0: Enable LNA combining
[    1.459780] ath: phy0: ASPM enabled: 0x42
[    1.459781] ath: EEPROM regdomain: 0x60
[    1.459781] ath: EEPROM indicates we should expect a direct regpair map
[    1.459783] ath: Country alpha2 being used: 00
[    1.459783] ath: Regpair used: 0x60
[    1.460359] psmouse serio4: elantech: assuming hardware version 4 (with=
=20
firmware version 0x381fa2)
[    1.464225] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.=
0/
sound/card0/input15
[    1.464324] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/
sound/card0/input16
[    1.464359] input: HDA Intel PCH Headphone as /devices/
pci0000:00/0000:00:1b.0/sound/card0/input17
[    1.467528] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[    1.467801] ieee80211 phy0: Atheros AR9485 Rev:1 mem=3D0xffffc9000150000=
0,=20
irq=3D18
[    1.469147] [drm] DMAR active, disabling use of stolen memory
[    1.469148] [drm] Memory usable by graphics device =3D 2048M
[    1.469149] [drm] VT-d active for gfx access
[    1.469150] [drm] Replacing VGA console driver
[    1.474841] psmouse serio4: elantech: Synaptics capabilities query resul=
t=20
0x10, 0x14, 0x0e.
[    1.475222] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    1.475224] [drm] Driver supports precise vblank timestamp query.
[    1.477471] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=
=3Dio
+mem,decodes=3Dio+mem:owns=3Dio+mem
[    1.478966] asus_wmi: ASUS WMI generic driver loaded
[    1.481162] asus_wmi: Initialization: 0x1
[    1.481210] asus_wmi: BIOS WMI version: 7.9
[    1.481241] asus_wmi: SFUN value: 0x6a0877
[    1.482051] input: Asus WMI hotkeys as /devices/platform/asus-nb-wmi/inp=
ut/
input18
[    1.485287] iTCO_vendor_support: vendor-support=3D0
[    1.486157] asus_wmi: Number of fans: 1
[    1.486493] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
[    1.486532] iTCO_wdt: Found a Lynx Point TCO device (Version=3D2,=20
TCOBASE=3D0x1860)
[    1.486800] iTCO_wdt: initialized. heartbeat=3D30 sec (nowayout=3D0)
[    1.492929] psmouse serio4: elantech: Elan sample query result 05, 1b, 64
[    1.505590] ath9k 0000:04:00.0 wlp4s0: renamed from wlan0
[    1.545399] usb 1-7: New USB device found, idVendor=3D13d3, idProduct=3D=
5188
[    1.545402] usb 1-7: New USB device strings: Mfr=3D3, Product=3D1,=20
SerialNumber=3D2
[    1.545404] usb 1-7: Product: USB2.0 UVC HD Webcam
[    1.545405] usb 1-7: Manufacturer: Azurewave
[    1.545407] usb 1-7: SerialNumber: NULL
[    1.578147] [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS
[    1.587502] ACPI: Video Device [PEGP] (multi-head: yes  rom: yes  post: =
no)
[    1.588795] acpi device:5f: registered as cooling_device8
[    1.588828] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/
PNP0A08:00/device:4f/LNXVIDEO:00/input/input19
[    1.590788] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: n=
o)
[    1.592338] acpi device:73: registered as cooling_device10
[    1.592446] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/
PNP0A08:00/LNXVIDEO:01/input/input20
[    1.594323] intel_rapl: Found RAPL domain package
[    1.594327] intel_rapl: Found RAPL domain core
[    1.594330] intel_rapl: Found RAPL domain uncore
[    1.594332] intel_rapl: Found RAPL domain dram
[    1.594336] intel_rapl: RAPL package 0 domain package locked by BIOS
[    1.594342] intel_rapl: RAPL package 0 domain dram locked by BIOS
[    1.596319] Bluetooth: Core ver 2.21
[    1.596327] NET: Registered protocol family 31
[    1.596328] Bluetooth: HCI device and connection manager initialized
[    1.596330] Bluetooth: HCI socket layer initialized
[    1.596332] Bluetooth: L2CAP socket layer initialized
[    1.596334] Bluetooth: SCO socket layer initialized
[    1.606542] media: Linux media interface: v0.10
[    1.607430] usbcore: registered new interface driver btusb
[    1.608508] Linux video capture interface: v2.00
[    1.608639] usbcore: registered new interface driver ath3k
[    1.612677] uvcvideo: Found UVC 1.00 device USB2.0 UVC HD Webcam=20
(13d3:5188)
[    1.616608] EXT4-fs (sda7): mounted filesystem with ordered data mode.=20
Opts: user_xattr
[    1.618048] uvcvideo 1-7:1.0: Entity type for entity Extension 4 was not=
=20
initialized!
[    1.618050] uvcvideo 1-7:1.0: Entity type for entity Processing 2 was no=
t=20
initialized!
[    1.618052] uvcvideo 1-7:1.0: Entity type for entity Camera 1 was not=20
initialized!
[    1.618094] input: USB2.0 UVC HD Webcam as /devices/
pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/input/input21
[    1.618131] usbcore: registered new interface driver uvcvideo
[    1.618133] USB Video Class driver (1.1.1)
[    1.630198] tsc: Refined TSC clocksource calibration: 2593.993 MHz
[    1.630203] clocksource: tsc: mask: 0xffffffffffffffff max_cycles:=20
0x256411d258c, max_idle_ns: 440795337342 ns
[    1.630827] input: ETPS/2 Elantech Touchpad as /devices/platform/i8042/
serio4/input/input9
[    1.644127] random: nonblocking pool is initialized
[    1.721233] bbswitch: version 0.8
[    1.721238] bbswitch: Found integrated VGA device 0000:00:02.0:=20
\_SB_.PCI0.GFX0
[    1.721241] bbswitch: Found discrete VGA device 0000:01:00.0:=20
\_SB_.PCI0.PEG0.PEGP
[    1.721251] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type=20
mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    1.721323] bbswitch: detected an Optimus _DSM function
[    1.721373] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is =
on
[    1.721707] bbswitch: disabling discrete graphics
[    1.721715] ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type=20
mismatch - Found [Buffer], ACPI requires [Package] (20160422/nsarguments-95)
[    1.747762] fbcon: inteldrmfb (fb0) is primary device
[    1.815370] usbcore: registered new interface driver Promethean ActivDri=
ver
[    2.630460] 5.8.46:USB Activboard/Activhub Driver
[    2.630460] clocksource: Switched to clocksource tsc
[    3.142546] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops=20
i915_audio_component_bind_ops [i915])
[    3.142557] [drm] Initialized i915 1.6.0 20160425 for 0000:00:02.0 on mi=
nor=20
0
[    3.142729] Console: switching to colour frame buffer device 240x67
[    3.154217] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    3.177439] input: HDA Intel HDMI HDMI/DP,pcm=3D3 as /devices/
pci0000:00/0000:00:03.0/sound/card1/input22
[    3.177508] input: HDA Intel HDMI HDMI/DP,pcm=3D7 as /devices/
pci0000:00/0000:00:03.0/sound/card1/input23
[    3.177569] input: HDA Intel HDMI HDMI/DP,pcm=3D8 as /devices/
pci0000:00/0000:00:03.0/sound/card1/input24
[    3.446694] IPv6: ADDRCONF(NETDEV_UP): enp5s0f1: link is not ready
[    3.458372] r8169 0000:05:00.1 enp5s0f1: link down
[    3.458422] IPv6: ADDRCONF(NETDEV_UP): enp5s0f1: link is not ready
[    3.460515] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
[    3.475155] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
[    3.504625] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
[    3.549278] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
[    4.562064] IPv6: ADDRCONF(NETDEV_UP): wlp4s0: link is not ready
[    4.583625] wlp4s0: authenticate with xx:xx:xx:xx:xx:xx
[    4.597820] wlp4s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[    4.619150] wlp4s0: authenticated
[    4.620146] wlp4s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[    4.661364] wlp4s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=3D0x431=20
status=3D0 aid=3D2)
[    4.661433] wlp4s0: associated
[    4.661460] IPv6: ADDRCONF(NETDEV_CHANGE): wlp4s0: link becomes ready
[   17.593739] fuse init (API version 7.25)
[   17.845896] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   17.845909] Bluetooth: BNEP filters: protocol multicast
[   17.845925] Bluetooth: BNEP socket layer initialized
[   17.857713] Bluetooth: RFCOMM TTY layer initialized
[   17.857719] Bluetooth: RFCOMM socket layer initialized
[   17.857723] Bluetooth: RFCOMM ver 1.11
[   22.359106] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[   22.359111] Bluetooth: HIDP socket layer initialized
[   22.359558] hid-generic 0005:045E:07A2.0003: unknown main item tag 0x0
[   22.359657] input: Microsoft Sculpt Comfort Mouse as /devices/
pci0000:00/0000:00:14.0/usb1/1-5/1-5:1.0/bluetooth/hci0/hci0:21/0005:045E:
07A2.0003/input/input25
[   22.360338] hid-generic 0005:045E:07A2.0003: input,hidraw2: BLUETOOTH HI=
D=20
v1.29 Mouse [Microsoft Sculpt Comfort Mouse] on xx:xx:xx:xx:xx:xx
[  156.817544] ath: phy0: DMA failed to stop in 10 ms AR_CR=3D0x00000024=20
AR_DIAG_SW=3D0x02000020 DMADBG_7=3D0x00006100
[  157.343185] DMAR: DRHD: handling fault status reg 3
[  157.343191] DMAR: [DMA Read] Request device [04:00.0] fault addr ff3a800=
0=20
[fault reason 06] PTE Read access is not set
[  157.957947] wlp4s0: authenticate with xx:xx:xx:xx:xx:xx
[  157.979102] wlp4s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[  158.004673] wlp4s0: authenticated
[  158.005518] wlp4s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[  158.014076] wlp4s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=3D0x431=20
status=3D0 aid=3D2)
[  158.014183] wlp4s0: associated
[  171.794356] ath: phy0: DMA failed to stop in 10 ms AR_CR=3D0x00000024=20
AR_DIAG_SW=3D0x02000020 DMADBG_7=3D0x00006100
[  172.918927] wlp4s0: authenticate with xx:xx:xx:xx:xx:xx
[  172.940023] wlp4s0: send auth to xx:xx:xx:xx:xx:xx (try 1/3)
[  172.941958] wlp4s0: authenticated
[  172.943222] wlp4s0: associate with xx:xx:xx:xx:xx:xx (try 1/3)
[  172.946885] wlp4s0: RX AssocResp from xx:xx:xx:xx:xx:xx (capab=3D0x431=20
status=3D0 aid=3D2)
[  172.946979] wlp4s0: associated

^ permalink raw reply

* Re: [PATCH 0/4] ath10k: Padding related clean ups in rx
From: Valo, Kalle @ 2016-09-09 14:29 UTC (permalink / raw)
  To: Thiagarajan, Vasanthakumar
  Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org
In-Reply-To: <1469623006-13178-1-git-send-email-vthiagar@qti.qualcomm.com>

Vasanthakumar Thiagarajan <vthiagar@qti.qualcomm.com> writes:

> This patch set adds abstraction for rx_hw_desc processing so that
> we can make use of newer desc fields notifying padding information
> which is done on rx payload. "ath10k: Properly remove padding from
> the start of rx payload" fixes padding related bug in ethernet decap
> mode for QCA99X0, QCA9984 qnd QCA4019 but even fixing this bug will
> not make ethernet decap mode work, there needs to be some more fix
> wich would follow this patch series.
>
> Vasanthakumar Thiagarajan (4):
>   ath10k: Move ath10k_hw_params definition to hw.h
>   ath10k: Add provision for Rx descriptor abstraction
>   ath10k: Properly remove padding from the start of rx payload
>   ath10k: Remove 4-addr padding related hw_param configuration

As Benjamin has these patches on his own set I'm dropping this one.

--=20
Kalle Valo=

^ permalink raw reply

* Re: [PATCH 2/3] ath10k:  Grab rcu_read_lock before the txqs spinlock.
From: Valo, Kalle @ 2016-09-09 13:36 UTC (permalink / raw)
  To: greearb@candelatech.com
  Cc: ath10k@lists.infradead.org, linux-wireless@vger.kernel.org
In-Reply-To: <1471569995-10028-2-git-send-email-greearb@candelatech.com>

greearb@candelatech.com writes:

> From: Ben Greear <greearb@candelatech.com>
>
> I was seeing some spin-lock hangs in this area of the code,
> and it seems more proper to do the rcu-read-lock outside of
> the spin lock.  I am not sure how much this matters, however.
>
> Signed-off-by: Ben Greear <greearb@candelatech.com>
> ---
>  drivers/net/wireless/ath/ath10k/mac.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless=
/ath/ath10k/mac.c
> index 916119c..d96c06e 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -4307,8 +4307,8 @@ void ath10k_mac_tx_push_pending(struct ath10k *ar)
>  	int max;
>  	int loop_max =3D 2000;
> =20
> -	spin_lock_bh(&ar->txqs_lock);
>  	rcu_read_lock();
> +	spin_lock_bh(&ar->txqs_lock);
> =20
>  	last =3D list_last_entry(&ar->txqs, struct ath10k_txq, list);
>  	while (!list_empty(&ar->txqs)) {
> @@ -4342,8 +4342,8 @@ void ath10k_mac_tx_push_pending(struct ath10k *ar)
>  			break;
>  	}
> =20
> -	rcu_read_unlock();
>  	spin_unlock_bh(&ar->txqs_lock);
> +	rcu_read_unlock();

I'm no RCU expert but this isn't making any sense. Maybe it changes
timings on your kernel so that it hides the real problem?

--=20
Kalle Valo=

^ permalink raw reply

* [PATCH v2] mwifiex: cfg80211 set_default_mgmt_key handler
From: Amitkumar Karwar @ 2016-09-09 13:33 UTC (permalink / raw)
  To: linux-wireless; +Cc: Nishant Sarmukadam, Ganapathi Bhat, Amitkumar Karwar

From: Ganapathi Bhat <gbhat@marvell.com>

Previously device used to start using IGTK key as Tx key as soon as it
gets downloaded in add_key(). This patch implements set_default_mgmt_key
handler. We will update Tx key ID in set_default_mgmt_key().

Signed-off-by: Ganapathi Bhat <gbhat@marvell.com>
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
---
Changes in v2: v1 had a dummy handler. v2 addresses a corner case problem
pointed by Jouni in which AP may send frames encrypted with new key when some
of the stations are still using old key.
---
 drivers/net/wireless/marvell/mwifiex/cfg80211.c | 25 +++++++++++++++++++++++++
 drivers/net/wireless/marvell/mwifiex/fw.h       |  1 +
 drivers/net/wireless/marvell/mwifiex/ioctl.h    |  1 +
 drivers/net/wireless/marvell/mwifiex/sta_cmd.c  |  5 +++++
 4 files changed, 32 insertions(+)

diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
index 0a03d3f..33e7a74 100644
--- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c
+++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c
@@ -484,6 +484,30 @@ mwifiex_cfg80211_add_key(struct wiphy *wiphy, struct net_device *netdev,
 }
 
 /*
+ * CFG802.11 operation handler to set default mgmt key.
+ */
+static int
+mwifiex_cfg80211_set_default_mgmt_key(struct wiphy *wiphy,
+				      struct net_device *netdev,
+				      u8 key_index)
+{
+	struct mwifiex_private *priv = mwifiex_netdev_get_priv(netdev);
+	struct mwifiex_ds_encrypt_key encrypt_key;
+	const u8 bc_mac[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
+
+	wiphy_dbg(wiphy, "set default mgmt key, key index=%d\n", key_index);
+
+	memset(&encrypt_key, 0, sizeof(struct mwifiex_ds_encrypt_key));
+	encrypt_key.key_len = WLAN_KEY_LEN_CCMP;
+	encrypt_key.key_index = key_index;
+	encrypt_key.is_igtk_def_key = true;
+	ether_addr_copy(encrypt_key.mac_addr, bc_mac);
+
+	return mwifiex_send_cmd(priv, HostCmd_CMD_802_11_KEY_MATERIAL,
+				HostCmd_ACT_GEN_SET, true, &encrypt_key, true);
+}
+
+/*
  * This function sends domain information to the firmware.
  *
  * The following information are passed to the firmware -
@@ -4082,6 +4106,7 @@ static struct cfg80211_ops mwifiex_cfg80211_ops = {
 	.leave_ibss = mwifiex_cfg80211_leave_ibss,
 	.add_key = mwifiex_cfg80211_add_key,
 	.del_key = mwifiex_cfg80211_del_key,
+	.set_default_mgmt_key = mwifiex_cfg80211_set_default_mgmt_key,
 	.mgmt_tx = mwifiex_cfg80211_mgmt_tx,
 	.mgmt_frame_register = mwifiex_cfg80211_mgmt_frame_register,
 	.remain_on_channel = mwifiex_cfg80211_remain_on_channel,
diff --git a/drivers/net/wireless/marvell/mwifiex/fw.h b/drivers/net/wireless/marvell/mwifiex/fw.h
index 18aa525..4b1894b 100644
--- a/drivers/net/wireless/marvell/mwifiex/fw.h
+++ b/drivers/net/wireless/marvell/mwifiex/fw.h
@@ -78,6 +78,7 @@ enum KEY_TYPE_ID {
 	KEY_TYPE_ID_AES,
 	KEY_TYPE_ID_WAPI,
 	KEY_TYPE_ID_AES_CMAC,
+	KEY_TYPE_ID_AES_CMAC_DEF,
 };
 
 #define WPA_PN_SIZE		8
diff --git a/drivers/net/wireless/marvell/mwifiex/ioctl.h b/drivers/net/wireless/marvell/mwifiex/ioctl.h
index 7042981..536ab83 100644
--- a/drivers/net/wireless/marvell/mwifiex/ioctl.h
+++ b/drivers/net/wireless/marvell/mwifiex/ioctl.h
@@ -260,6 +260,7 @@ struct mwifiex_ds_encrypt_key {
 	u8 is_igtk_key;
 	u8 is_current_wep_key;
 	u8 is_rx_seq_valid;
+	u8 is_igtk_def_key;
 };
 
 struct mwifiex_power_cfg {
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
index 49048b4..2a162c3 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c
@@ -598,6 +598,11 @@ static int mwifiex_set_aes_key_v2(struct mwifiex_private *priv,
 		memcpy(km->key_param_set.key_params.cmac_aes.key,
 		       enc_key->key_material, enc_key->key_len);
 		len += sizeof(struct mwifiex_cmac_aes_param);
+	} else if (enc_key->is_igtk_def_key) {
+		mwifiex_dbg(adapter, INFO,
+			    "%s: Set CMAC default Key index\n", __func__);
+		km->key_param_set.key_type = KEY_TYPE_ID_AES_CMAC_DEF;
+		km->key_param_set.key_idx = enc_key->key_index & KEY_INDEX_MASK;
 	} else {
 		mwifiex_dbg(adapter, INFO,
 			    "%s: Set AES Key\n", __func__);
-- 
1.9.1

^ permalink raw reply related

* Re: [PATCH 3/3] ath10k:  Improve logging message.
From: Valo, Kalle @ 2016-09-09 13:30 UTC (permalink / raw)
  To: Mohammed Shafi Shajakhan
  Cc: greearb@candelatech.com, linux-wireless@vger.kernel.org,
	ath10k@lists.infradead.org
In-Reply-To: <20160819063511.GA16230@atheros-ThinkPad-T61>

Mohammed Shafi Shajakhan <mohammed@codeaurora.org> writes:

> Hi Ben,
>
> On Thu, Aug 18, 2016 at 06:26:35PM -0700, greearb@candelatech.com wrote:
>> From: Ben Greear <greearb@candelatech.com>
>>=20
>> Helps to know the sta pointer.
>>=20
>> Signed-off-by: Ben Greear <greearb@candelatech.com>
>> ---
>>  drivers/net/wireless/ath/ath10k/mac.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>=20
>> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireles=
s/ath/ath10k/mac.c
>> index d96c06e..82bc0da 100644
>> --- a/drivers/net/wireless/ath/ath10k/mac.c
>> +++ b/drivers/net/wireless/ath/ath10k/mac.c
>> @@ -6491,8 +6491,8 @@ static int ath10k_sta_state(struct ieee80211_hw *h=
w,
>>  		 * Existing station deletion.
>>  		 */
>>  		ath10k_dbg(ar, ATH10K_DBG_MAC,
>> -			   "mac vdev %d peer delete %pM (sta gone)\n",
>> -			   arvif->vdev_id, sta->addr);
>> +			   "mac vdev %d peer delete %pM (sta gone) sta: %p\n",
>> +			   arvif->vdev_id, sta->addr, sta);
>
> good to rebase over Maharaja's change (%p to %pK)=20
> https://patchwork.kernel.org/patch/9263691/

I added that to the patch in the pending branch.

--=20
Kalle Valo=

^ permalink raw reply

* RE: mwifiex: PCIe8997 chip specific handling
From: Amitkumar Karwar @ 2016-09-09 12:46 UTC (permalink / raw)
  To: Kalle Valo; +Cc: linux-wireless@vger.kernel.org, Cathy Luo, Nishant Sarmukadam
In-Reply-To: <87a8fhqpn8.fsf@kamboji.qca.qualcomm.com>

> From: Kalle Valo [mailto:kvalo@codeaurora.org]
> Sent: Friday, September 09, 2016 4:58 PM
> To: Amitkumar Karwar
> Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam
> Subject: Re: mwifiex: PCIe8997 chip specific handling
> 
> Amitkumar Karwar <akarwar@marvell.com> writes:
> 
> > Hi Kalle,
> >
> >> -----Original Message-----
> >> From: linux-wireless-owner@vger.kernel.org [mailto:linux-wireless-
> >> owner@vger.kernel.org] On Behalf Of Kalle Valo
> >> Sent: Friday, September 09, 2016 2:45 PM
> >> To: Amitkumar Karwar
> >> Cc: linux-wireless@vger.kernel.org; Cathy Luo; Nishant Sarmukadam;
> >> Amitkumar Karwar
> >> Subject: Re: mwifiex: PCIe8997 chip specific handling
> >>
> >> Amitkumar Karwar <akarwar@marvell.com> wrote:
> >> > The patch corrects the revision id register and uses it along with
> >> > magic value and chip version registers to download appropriate
> >> > firmware image.
> >> >
> >> > PCIe8997 Z chipset variant code has been removed, as it won't be
> >> > used in production.
> >> >
> >> > Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
> >>
> >> Does apply, please rebase:
> >>
> >> Applying: mwifiex: PCIe8997 chip specific handling
> >> fatal: sha1 information is lacking or useless
> >> (drivers/net/wireless/marvell/mwifiex/pcie.c).
> >> Repository lacks necessary blobs to fall back on 3-way merge.
> >> Cannot fall back to three-way merge.
> >> Patch failed at 0001 mwifiex: PCIe8997 chip specific handling
> >>
> >
> > The patch now smoothly applies to top of the tree. It had a dependency
> > with "mwifiex: add PCIe function level reset support" which is merged.
> > Let me know if there is still a problem.
> 
> Ok, I applied it now. But if there's a dependency to another patch
> please document it after the "---" line, a lot easier that way.
> 

Thanks. Sure. I will use "---" and take care of this for future patches.

Regards,
Amitkumar

^ permalink raw reply

* Re: support for QCA9377 SDIO (ath10k or ath6kl)
From: Valo, Kalle @ 2016-09-09 12:35 UTC (permalink / raw)
  To: Martin Blumenstingl
  Cc: ath10k@lists.infradead.org, ath6kl@lists.infradead.org,
	linux-wireless@vger.kernel.org
In-Reply-To: <CAFBinCDnmEuSEKofHQy3SkKuewL+cjuxhibj7O71ASL0yfH_Ew@mail.gmail.com>

Martin Blumenstingl <martin.blumenstingl@googlemail.com> writes:

> is there any support for the SDIO chips QCA9377 (and QCA9378) planned?
> Would these be supported by ath10k or ath6kl or is a completely new
> driver needed?

I'm not familiar with the details of QCA9377 SDIO firmware but I assume
ath10k would be the best option for supporting it. We split from the
beginning the core code (ath10k_core.ko) and the PCI code
(ath10k_pci.ko) to make it easier to add new bus support.

--=20
Kalle Valo=

^ 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