Re: Regression in 3.9 caused by "bridge: respect RFC2863 operational state"

2015-12-03 Thread YanBo
 Sorry to pick up this thread again,  it looks this issue still
existed  in the newer 4.3 kernel. (The EAP frames can not be received
by wireless interface due to the bridge interface,
http://marc.info/?l=linux-wireless&m=136743495526905&w=2)

 Wonder is anyone know some update for this issue?  Currently the only
workaround is make the 4-address  AP and STA associated in security
mode firstly and then create the bridge, the renew key configuration
also need be disable at the hostapd side to  avoid renew the key at
bridge status.

Thanks
Yanbo
> On Wed, May 1, 2013 at 5:53 PM, Felix Fietkau  wrote:
> >
> > On 2013-05-02 12:49 AM, Stephen Hemminger wrote:
> > > On Wed, 01 May 2013 23:06:16 +0200
> > > Felix Fietkau  wrote:
> > >
> > >> On 2013-05-01 10:21 PM, Stephen Hemminger wrote:
> > >> > What about using AF_PACKET bound to underlying wireless device and the
> > >> > packet type. You can even use BPF to filter.
> > >> As far as I know, AF_PACKET only works when not binding it to the packet
> > >> type (otherwise it get stolen by the rx handler).
> > >
> > > You can do AF_PACKET and it gets handle before rx_handler.
> > If I don't bind it to a protocol, it ends up in ptype_all, if I do, it
> > ends up in &ptype_base. ptype_all is processed before the rx_handler,
> > ptype_base is processed after the rx handler.
> > Hooking into ptype_all wastes tons of CPU cycles, hooking into
> > ptype_base does not solve the problem.
> >
> > - Felix
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> > the body of a message to majord...@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: iw set txpower error

2015-12-03 Thread Kobi Cohen-Arazi
On Thu, Dec 3, 2015 at 11:57 AM, Emmanuel Grumbach  wrote:
> On Thu, Dec 3, 2015 at 8:10 PM, Kobi Cohen-Arazi
>  wrote:
>> Hi all,
>>
>> I’m trying to change txpower with iw. Using AR9580 HW + ath9k driver
>> with Kernel 4.1.6.
>>
>> The call fails in mac80211 with the following error: "Failed
>> check-sdata-in-driver check, flags: 0x0".
>> stack:
>> -  start stack
>
> Try that one:
>
> https://kernel.googlesource.com/pub/scm/linux/kernel/git/jberg/mac80211/+/5ad11b50fda1306b5317124f97f0a7a4c022b022

Works perfect. thanks!

Kobi
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Can we increase IEEE80211_MAX_QUEUES

2015-12-03 Thread Ben Greear

On 12/03/2015 12:21 PM, Johannes Berg wrote:

On Thu, 2015-12-03 at 12:16 -0800, Ben Greear wrote:

ath10k wants to use vdev-id as a queue-id, and I want to support up
to
64 vdevs.  In the 4.2 kernel, this is causing splats when using lots
of
vdevs because then queue is out of range.

Can we just increase IEEE80211_MAX_QUEUES to 64?



I think not, that would likely cause a lot of data structures to grow
too much. We'd have to do more dynamic things in that case, I suppose.

Does the original premise even make sense though? A single queue for
each vdev seems a bit strange.


Comments in ath10k claim that the approach makes per-vif tx locking
much easier and that is why that code was added

Thanks,
Ben

--
Ben Greear 
Candela Technologies Inc  http://www.candelatech.com

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[RFC] mac80211: Support 65 tx-queues.

2015-12-03 Thread greearb
From: Ben Greear 

ath10k wants to use one tx-queue per vdev, and I want to support
up to 64 vdevs.  One additional q is needed for off-channel work.

So, re-work mac80211 to allow 65 tx queues.  This should have small
run-time effect, but it will cause a fair bit more RAM usage in
certain structs.

Signed-off-by: Ben Greear 
---
 include/net/mac80211.h |  8 +++--
 net/mac80211/driver-ops.h  | 13 ++--
 net/mac80211/ieee80211_i.h |  9 --
 net/mac80211/tx.c  |  9 --
 net/mac80211/util.c| 77 +-
 5 files changed, 83 insertions(+), 33 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 970372d..01e31bb 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -123,13 +123,15 @@ struct device;
  * enum ieee80211_max_queues - maximum number of queues
  *
  * @IEEE80211_MAX_QUEUES: Maximum number of regular device queues.
- * @IEEE80211_MAX_QUEUE_MAP: bitmap with maximum queues set
  */
 enum ieee80211_max_queues {
-   IEEE80211_MAX_QUEUES =  16,
-   IEEE80211_MAX_QUEUE_MAP =   BIT(IEEE80211_MAX_QUEUES) - 1,
+   IEEE80211_MAX_QUEUES =  65,
 };
 
+/* bitmap with maximum queues set */
+#define IEEE80211_MAX_QUEUE_MAP_CNT 3
+extern unsigned long IEEE80211_MAX_QUEUE_MAP[IEEE80211_MAX_QUEUE_MAP_CNT];
+
 #define IEEE80211_INVAL_HW_QUEUE   0xff
 
 /**
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h
index 46342c1..da976e3 100644
--- a/net/mac80211/driver-ops.h
+++ b/net/mac80211/driver-ops.h
@@ -789,7 +789,7 @@ static inline void drv_rfkill_poll(struct ieee80211_local 
*local)
 
 static inline void drv_flush(struct ieee80211_local *local,
 struct ieee80211_sub_if_data *sdata,
-u32 queues, bool drop)
+unsigned long *queues, bool drop)
 {
struct ieee80211_vif *vif = sdata ? &sdata->vif : NULL;
 
@@ -798,9 +798,16 @@ static inline void drv_flush(struct ieee80211_local *local,
if (sdata && !check_sdata_in_driver(sdata))
return;
 
-   trace_drv_flush(local, queues, drop);
+   trace_drv_flush(local, queues[0], drop);
+   /* NOTE:  Only ath10k might want more queues than fits in 32-bits,
+* and currently it pays no attention to the queues argument.  So,
+* just passing first value here is safe.  If other drivers ever
+* do need to see the array, then can create a flushA member
+* and use it if it exists, falling back to old flush() for
+* other drivers.
+*/
if (local->ops->flush)
-   local->ops->flush(&local->hw, vif, queues, drop);
+   local->ops->flush(&local->hw, vif, queues[0], drop);
trace_drv_return_void(local);
 }
 
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 132ee14..fb8fd85 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -1910,9 +1910,12 @@ void ieee80211_sta_tx_notify(struct 
ieee80211_sub_if_data *sdata,
 struct ieee80211_hdr *hdr, bool ack, u16 tx_time);
 
 void ieee80211_wake_queues_by_reason(struct ieee80211_hw *hw,
-unsigned long queues,
+unsigned long *queues,
 enum queue_stop_reason reason,
 bool refcounted);
+void ieee80211_get_vif_queues(struct ieee80211_local *local,
+ struct ieee80211_sub_if_data *sdata,
+ unsigned long *queues);
 void ieee80211_stop_vif_queues(struct ieee80211_local *local,
   struct ieee80211_sub_if_data *sdata,
   enum queue_stop_reason reason);
@@ -1920,7 +1923,7 @@ void ieee80211_wake_vif_queues(struct ieee80211_local 
*local,
   struct ieee80211_sub_if_data *sdata,
   enum queue_stop_reason reason);
 void ieee80211_stop_queues_by_reason(struct ieee80211_hw *hw,
-unsigned long queues,
+unsigned long *queues,
 enum queue_stop_reason reason,
 bool refcounted);
 void ieee80211_wake_queue_by_reason(struct ieee80211_hw *hw, int queue,
@@ -1938,7 +1941,7 @@ void ieee80211_flush_queues(struct ieee80211_local *local,
struct ieee80211_sub_if_data *sdata, bool drop);
 void __ieee80211_flush_queues(struct ieee80211_local *local,
  struct ieee80211_sub_if_data *sdata,
- unsigned int queues, bool drop);
+ unsigned long *queues, bool drop);
 
 static inline bool ieee80211_can_run_worker(struct ieee80211_local *local)
 {
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 39d

Re: [PATCH 08/11] brcmfmac: Make 5G join preference configurable.

2015-12-03 Thread Arend van Spriel

On 12/02/2015 07:00 PM, Paul Stewart wrote:

 From my perspective it is useful to have the driver express whether
or not it supports this parameter.  It may not change how the system
operates, but it will be useful in testing to determine whether it
is expected that a (given version of a) driver is expected to act
with respect to this property so we can flag issues with the
implementation.


Thanks, Paul

and others. Will come up with a RFC for this incorporating all feedback 
received.


Regards,
Arend


On Wed, Dec 2, 2015 at 8:38 AM, Dan Williams  wrote:

On Wed, 2015-12-02 at 14:32 +0100, Arend van Spriel wrote:

On 12/01/2015 12:08 PM, Jouni Malinen wrote:

On Tue, Dec 01, 2015 at 11:48:32AM +0200, Kalle Valo wrote:

Arend van Spriel  writes:

It solves a problem for us, but admittedly it is not something
that is
very usable by user-space apps. So I guess what you are
suggesting
here is to come up with a nl80211 api for this. On the mailing
list
(or hostap list) the topic pops up from time to time so there
are
people who would like to have such a knob to play with. Still
would
like to keep the module parameter although its use may change
when
nl80211 api is added.


I don't know what is the best approach, that's why I would like
to hear
opinions from others. Personally I don't like the idea of adding
802.11
level configuration options to module parameters, but on the
other hand
I don't have any strong opinions about this.


I would like to see this as a new attribute to NL80211_CMD_CONNECT
to
provide parameters for offloaded (driver and/or firmware) BSS
selection
and roaming. If there is a driver that uses roaming offload with
NL80211_CMD_ASSOCIATE, the same attribute could be used there (but
I'm
not sure how exact such offloading would work in practice since I'd
expect both authentication and (re)association to be offloaded).


Sounds reasonable. Just would like to explore the use-case a bit
more.
Looking at tools like NetworkManager and android network list, the
user
is always presented with just SSID listed once. For NetworkManager


While NM has band locking properties, there is currently no "prefer
5ghz" since as Jouni said, the supplicant should probably just prefer
5ghz right now.  In any case, the best path from an NM perspective
would be a supplicant per-network property that would then be sent for
CONNECT-capable drivers, or which the supplicant would manually handle
for softmac drivers through its existing AP selection code.

Dan


details can be configured for a connection and the bss selection
parameters could be one of those. What level of detail would be
needed
there. Not saying we can not have more detail in the nl80211 API.


I guess we have two different designs, one where the roaming
logic is in
firmware and other where wpasupplicant is responsible for this.
(And I
assume that brcfmac belongs to the former group.) Ideally it
would be
nice that we would have a same configuration knob for both but I
don't
know if that's really feasible.


Both of these would work as long as wpa_supplicant has means for
providing such configuration to the driver in a generic manner.
That
NL80211_CMD_CONNECT extension with a new optional attribute would
be
such a generic design.


So does the driver need to advertise support for bss selection
parameters or can it simply ignore the parameters. Assuming the
latter
for now.

Regards,
Arend
--
To unsubscribe from this list: send the line "unsubscribe linux
-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pull-request: mac80211 2015-12-02

2015-12-03 Thread David Miller
From: Johannes Berg 
Date: Wed, 02 Dec 2015 22:42:10 +0100

> 
>> Please add them and send a new pull request, I'll just skip over your
>> existing one.
> 
> Ok, here we go, below a new pull request.

Pulled, thanks!
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Can we increase IEEE80211_MAX_QUEUES

2015-12-03 Thread Ben Greear

On 12/03/2015 12:21 PM, Johannes Berg wrote:

On Thu, 2015-12-03 at 12:16 -0800, Ben Greear wrote:

ath10k wants to use vdev-id as a queue-id, and I want to support up
to
64 vdevs.  In the 4.2 kernel, this is causing splats when using lots
of
vdevs because then queue is out of range.

Can we just increase IEEE80211_MAX_QUEUES to 64?



I think not, that would likely cause a lot of data structures to grow
too much. We'd have to do more dynamic things in that case, I suppose.

Does the original premise even make sense though? A single queue for
each vdev seems a bit strange.


I think it is all fakery in the driver, but I'm not sure how easy it
would be to fix.

I'm not certain why I'm suddenly seeing this, but I just started using 4.2 
kernel
again and maybe that is the difference.  I also tweaked firmware recently...

I'll make a stab at allowing 64 queues, and also try to figure out why
I started seeing the problem.

Thanks,
Ben

--
Ben Greear 
Candela Technologies Inc  http://www.candelatech.com

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Can we increase IEEE80211_MAX_QUEUES

2015-12-03 Thread Johannes Berg
On Thu, 2015-12-03 at 21:21 +0100, Johannes Berg wrote:
> 
> Does the original premise even make sense though? A single queue for
> each vdev seems a bit strange.
> 

Btw, it might make more sense to use Felix's txq scheduling thing for
this, where you get a txq for each station. You can still combine them
back any way you want in the driver.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Can we increase IEEE80211_MAX_QUEUES

2015-12-03 Thread Johannes Berg
On Thu, 2015-12-03 at 12:16 -0800, Ben Greear wrote:
> ath10k wants to use vdev-id as a queue-id, and I want to support up
> to
> 64 vdevs.  In the 4.2 kernel, this is causing splats when using lots
> of
> vdevs because then queue is out of range.
> 
> Can we just increase IEEE80211_MAX_QUEUES to 64?
> 

I think not, that would likely cause a lot of data structures to grow
too much. We'd have to do more dynamic things in that case, I suppose.

Does the original premise even make sense though? A single queue for
each vdev seems a bit strange.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Can we increase IEEE80211_MAX_QUEUES

2015-12-03 Thread Ben Greear

ath10k wants to use vdev-id as a queue-id, and I want to support up to
64 vdevs.  In the 4.2 kernel, this is causing splats when using lots of
vdevs because then queue is out of range.

Can we just increase IEEE80211_MAX_QUEUES to 64?

Thanks,
Ben

--
Ben Greear 
Candela Technologies Inc  http://www.candelatech.com

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: iw set txpower error

2015-12-03 Thread Emmanuel Grumbach
On Thu, Dec 3, 2015 at 8:10 PM, Kobi Cohen-Arazi
 wrote:
> Hi all,
>
> I’m trying to change txpower with iw. Using AR9580 HW + ath9k driver
> with Kernel 4.1.6.
>
> The call fails in mac80211 with the following error: "Failed
> check-sdata-in-driver check, flags: 0x0".
> stack:
> -  start stack

Try that one:

https://kernel.googlesource.com/pub/scm/linux/kernel/git/jberg/mac80211/+/5ad11b50fda1306b5317124f97f0a7a4c022b022

> 
> [44387.506210] WARNING: CPU: 2 PID: 19731 at
> net/mac80211/driver-ops.h:12
> ieee80211_bss_info_change_notify+0x1d2/0x1e0 [mac80211]()
> [44387.506211] wlp2s0:  Failed check-sdata-in-driver check, flags: 0x0
> [44387.506212] Modules linked in: ath9k(OE) ath9k_common(OE)
> ath9k_hw(OE) ath(OE) mac80211 cfg80211 rfkill nfsv3 rpcsec_gss_krb5
> nfsv4 dns_resolver nfs fscache xt_CHECKSUM iptable_mangle xt_conntrack
> ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4
> nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype tun br_netfilter nf_nat
> nf_conntrack bridge stp llc dm_thin_pool dm_persistent_data
> dm_bio_prison libcrc32c loop arc4 intel_rapl iosf_mbi
> x86_pkg_temp_thermal coretemp kvm_intel kvm snd_hda_codec_hdmi
> snd_hda_codec_realtek snd_hda_codec_generic crct10dif_pclmul
> snd_soc_rt5640 snd_hda_intel crc32_pclmul snd_soc_rl6231
> snd_hda_controller crc32c_intel snd_soc_core snd_hda_codec
> ghash_clmulni_intel snd_hda_core snd_compress snd_pcm_dmaengine
> snd_hwdep snd_seq iTCO_wdt iTCO_vendor_support snd_seq_device
> [44387.506241]  ir_lirc_codec lirc_dev ir_xmp_decoder
> ir_mce_kbd_decoder ir_sharp_decoder ir_sanyo_decoder ir_sony_decoder
> ir_jvc_decoder ir_nec_decoder ir_rc6_decoder ir_rc5_decoder rc_rc6_mce
> snd_pcm nuvoton_cir tpm_tis dw_dmac i2c_hid regmap_i2c tpm rc_core
> dw_dmac_core snd_timer i2c_designware_platform i2c_i801
> i2c_designware_core snd_soc_sst_acpi snd lpc_ich soundcore shpchp
> mfd_core nfsd auth_rpcgss nfs_acl lockd grace sunrpc i915 i2c_algo_bit
> drm_kms_helper e1000e drm ptp pps_core sdhci_acpi sdhci mmc_core video
> [last unloaded: rfkill]
> [44387.506264] CPU: 2 PID: 19731 Comm: iwconfig Tainted: GW
> OE   4.1.6-100.fc21.x86_64 #1
> WYLPT10H.86A.0035.2015.0126.1814 01/26/2015
> [44387.506267]   a8ea5b62 8800942cbb58
> 817940d5
> [44387.506269]   8800942cbbb0 8800942cbb98
> 810a163a
> [44387.506270]  8800942cbc20 8800d49b2840 0001
> 8801c92c86a0
> [44387.506272] Call Trace:
> [44387.506278]  [] dump_stack+0x45/0x57
> [44387.506281]  [] warn_slowpath_common+0x8a/0xc0
> [44387.506283]  [] warn_slowpath_fmt+0x55/0x70
> [44387.506286]  [] ? iw_handler_get_private+0x70/0x70
> [44387.506293]  []
> ieee80211_bss_info_change_notify+0x1d2/0x1e0 [mac80211]
> [44387.506300]  []
> ieee80211_recalc_txpower+0x35/0x40 [mac80211]
> [44387.506309]  [] ieee80211_set_tx_power+0x4c/0x1b0
> [mac80211]
> [44387.506320]  []
> cfg80211_wext_siwtxpower+0x9f/0x1c0 [cfg80211]
> [44387.506334]  [] ioctl_standard_call+0x52/0xe0
> [44387.506336]  [] ? iw_handler_get_private+0x70/0x70
> [44387.506340]  [] ? ioctl_standard_iw_point+0x390/0x390
> [44387.506342]  [] wireless_process_ioctl+0x17e/0x1d0
> [44387.506345]  [] wext_handle_ioctl+0x78/0xe0
> [44387.506348]  [] dev_ioctl+0x2c3/0x5d0
> [44387.506353]  [] ? handle_mm_fault+0x117f/0x17f0
> [44387.506356]  [] ? sk_prot_alloc+0xdc/0x180
> [44387.506359]  [] sock_ioctl+0x132/0x2c0
> [44387.506362]  [] ? __d_instantiate+0x9e/0x100
> [44387.506365]  [] do_vfs_ioctl+0x2f8/0x500
> [44387.506369]  [] ? __do_page_fault+0x1c1/0x450
> [44387.506372]  [] SyS_ioctl+0x81/0xa0
> [44387.506375]  [] ? do_page_fault+0x2f/0x80
> [44387.506378]  [] system_call_fastpath+0x12/0x71
> [44387.506380] ---[ end trace de552a3121eef335 ]---
> --- end stack
> ---
>
> The call in driver-ops.h:check_sdata_in_driver() fails:
>
> static inline bool check_sdata_in_driver(struct ieee80211_sub_if_data *sdata)
> {
> return !WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER),
>  "%s:  Failed
> check-sdata-in-driver check, flags: 0x%x\n",
>  sdata->dev ? sdata->dev->name :
> sdata->name, sdata->flags);
> }
>
> AFAIU, this should not happen.
> ath9k_add_interface is being called before trying to set txpower. I verified 
> it.
> When ath9k_add_interface returns, driver-ops.h:drv_add_interface()
> should set SDATA_IN_DRIVER flag.
>
> Any idea why the sdata->flags would still show up with 0x0 in the
> above function ?
>
> Thank you,
> Kobi
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wirele

Re: [PATCH v4 2/3] mac80211: Prevent build failure with CONFIG_UBSAN=y

2015-12-03 Thread Andrey Ryabinin
2015-12-03 20:05 GMT+03:00 Johannes Berg :
> On Thu, 2015-12-03 at 18:50 +0300, Andrey Ryabinin wrote:
>> With upcoming CONFIG_UBSAN the following BUILD_BUG_ON in
>> net/mac80211/debugfs.c starts to trigger:
>>   BUILD_BUG_ON(hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void
>> *)0x1);
>>
>> It seems, that compiler instrumentation causes some code
>> deoptimizations.
>> Because of that GCC is not being able to resolve condition in
>> BUILD_BUG_ON()
>> at compile time.
>>
>> We could make size of hw_flag_names array unspecified and replace the
>> condition in BUILD_BUG_ON() with following:
>>   ARRAY_SIZE(hw_flag_names) != NUM_IEEE80211_HW_FLAGS
>>
>> That will have the same effect as before (adding new flag without
>> updating
>> array will trigger build failure) except it doesn't fail with
>> CONFIG_UBSAN.
>> As a bonus this patch slightly decreases size of hw_flag_names array.
>>
> Seems fine, would you want to take it through some other tree together
> with UBSAN, or do you expect that to still take long enough to allow
> this to trickle through our trees?
>

I expect that Andrew will take it with UBSAN for 4.5
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


iw set txpower error

2015-12-03 Thread Kobi Cohen-Arazi
Hi all,

I’m trying to change txpower with iw. Using AR9580 HW + ath9k driver
with Kernel 4.1.6.

The call fails in mac80211 with the following error: "Failed
check-sdata-in-driver check, flags: 0x0".
stack:
-  start stack

[44387.506210] WARNING: CPU: 2 PID: 19731 at
net/mac80211/driver-ops.h:12
ieee80211_bss_info_change_notify+0x1d2/0x1e0 [mac80211]()
[44387.506211] wlp2s0:  Failed check-sdata-in-driver check, flags: 0x0
[44387.506212] Modules linked in: ath9k(OE) ath9k_common(OE)
ath9k_hw(OE) ath(OE) mac80211 cfg80211 rfkill nfsv3 rpcsec_gss_krb5
nfsv4 dns_resolver nfs fscache xt_CHECKSUM iptable_mangle xt_conntrack
ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4
nf_defrag_ipv4 nf_nat_ipv4 xt_addrtype tun br_netfilter nf_nat
nf_conntrack bridge stp llc dm_thin_pool dm_persistent_data
dm_bio_prison libcrc32c loop arc4 intel_rapl iosf_mbi
x86_pkg_temp_thermal coretemp kvm_intel kvm snd_hda_codec_hdmi
snd_hda_codec_realtek snd_hda_codec_generic crct10dif_pclmul
snd_soc_rt5640 snd_hda_intel crc32_pclmul snd_soc_rl6231
snd_hda_controller crc32c_intel snd_soc_core snd_hda_codec
ghash_clmulni_intel snd_hda_core snd_compress snd_pcm_dmaengine
snd_hwdep snd_seq iTCO_wdt iTCO_vendor_support snd_seq_device
[44387.506241]  ir_lirc_codec lirc_dev ir_xmp_decoder
ir_mce_kbd_decoder ir_sharp_decoder ir_sanyo_decoder ir_sony_decoder
ir_jvc_decoder ir_nec_decoder ir_rc6_decoder ir_rc5_decoder rc_rc6_mce
snd_pcm nuvoton_cir tpm_tis dw_dmac i2c_hid regmap_i2c tpm rc_core
dw_dmac_core snd_timer i2c_designware_platform i2c_i801
i2c_designware_core snd_soc_sst_acpi snd lpc_ich soundcore shpchp
mfd_core nfsd auth_rpcgss nfs_acl lockd grace sunrpc i915 i2c_algo_bit
drm_kms_helper e1000e drm ptp pps_core sdhci_acpi sdhci mmc_core video
[last unloaded: rfkill]
[44387.506264] CPU: 2 PID: 19731 Comm: iwconfig Tainted: GW
OE   4.1.6-100.fc21.x86_64 #1
WYLPT10H.86A.0035.2015.0126.1814 01/26/2015
[44387.506267]   a8ea5b62 8800942cbb58
817940d5
[44387.506269]   8800942cbbb0 8800942cbb98
810a163a
[44387.506270]  8800942cbc20 8800d49b2840 0001
8801c92c86a0
[44387.506272] Call Trace:
[44387.506278]  [] dump_stack+0x45/0x57
[44387.506281]  [] warn_slowpath_common+0x8a/0xc0
[44387.506283]  [] warn_slowpath_fmt+0x55/0x70
[44387.506286]  [] ? iw_handler_get_private+0x70/0x70
[44387.506293]  []
ieee80211_bss_info_change_notify+0x1d2/0x1e0 [mac80211]
[44387.506300]  []
ieee80211_recalc_txpower+0x35/0x40 [mac80211]
[44387.506309]  [] ieee80211_set_tx_power+0x4c/0x1b0
[mac80211]
[44387.506320]  []
cfg80211_wext_siwtxpower+0x9f/0x1c0 [cfg80211]
[44387.506334]  [] ioctl_standard_call+0x52/0xe0
[44387.506336]  [] ? iw_handler_get_private+0x70/0x70
[44387.506340]  [] ? ioctl_standard_iw_point+0x390/0x390
[44387.506342]  [] wireless_process_ioctl+0x17e/0x1d0
[44387.506345]  [] wext_handle_ioctl+0x78/0xe0
[44387.506348]  [] dev_ioctl+0x2c3/0x5d0
[44387.506353]  [] ? handle_mm_fault+0x117f/0x17f0
[44387.506356]  [] ? sk_prot_alloc+0xdc/0x180
[44387.506359]  [] sock_ioctl+0x132/0x2c0
[44387.506362]  [] ? __d_instantiate+0x9e/0x100
[44387.506365]  [] do_vfs_ioctl+0x2f8/0x500
[44387.506369]  [] ? __do_page_fault+0x1c1/0x450
[44387.506372]  [] SyS_ioctl+0x81/0xa0
[44387.506375]  [] ? do_page_fault+0x2f/0x80
[44387.506378]  [] system_call_fastpath+0x12/0x71
[44387.506380] ---[ end trace de552a3121eef335 ]---
--- end stack
---

The call in driver-ops.h:check_sdata_in_driver() fails:

static inline bool check_sdata_in_driver(struct ieee80211_sub_if_data *sdata)
{
return !WARN(!(sdata->flags & IEEE80211_SDATA_IN_DRIVER),
 "%s:  Failed
check-sdata-in-driver check, flags: 0x%x\n",
 sdata->dev ? sdata->dev->name :
sdata->name, sdata->flags);
}

AFAIU, this should not happen.
ath9k_add_interface is being called before trying to set txpower. I verified it.
When ath9k_add_interface returns, driver-ops.h:drv_add_interface()
should set SDATA_IN_DRIVER flag.

Any idea why the sdata->flags would still show up with 0x0 in the
above function ?

Thank you,
Kobi
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] ath10k: allow Mesh Point to install peer security key

2015-12-03 Thread Peter Oh
Mesh Point requires peer security key install when running
in secured mode since it's a type of peer links, otherwise peer
link will be removed due to key install failure.

MFP feature set is required to run Mesh in secured mode and
QCA988X firmware, 10.2.4.70.14-2 and above, is the only one
supporting secured Mesh at this moment.

Signed-off-by: Peter Oh 
---
 drivers/net/wireless/ath/ath10k/mac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/mac.c 
b/drivers/net/wireless/ath/ath10k/mac.c
index bcb364d..b4bdeb0 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -250,7 +250,8 @@ static int ath10k_install_peer_wep_keys(struct ath10k_vif 
*arvif,
lockdep_assert_held(&ar->conf_mutex);
 
if (WARN_ON(arvif->vif->type != NL80211_IFTYPE_AP &&
-   arvif->vif->type != NL80211_IFTYPE_ADHOC))
+   arvif->vif->type != NL80211_IFTYPE_ADHOC &&
+   arvif->vif->type != NL80211_IFTYPE_MESH_POINT))
return -EINVAL;
 
spin_lock_bh(&ar->data_lock);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wireless-testing regression: Could not configure driver mode

2015-12-03 Thread John W. Linville
Sorry for the merge damage.  I was (and still am) trying to deal with
some merge conflicts when pulling the mac80211 tree, FWIW...

On Thu, Dec 03, 2015 at 08:54:16AM +0200, Kalle Valo wrote:
> Hi John,
> 
> with latest wireless-testing[1] I noticed that I cannot start AP mode
> anymore with ath10k:
> 
> nl80211: Subscribe to mgmt frames with AP handle 0x9e5b410
> nl80211: Register frame type=0xb0 nl_handle=0x9e5b410 match=
> nl80211: Register frame command failed (type=176): ret=-95 (Operation not 
> supported)
> nl80211: Register frame match - hexdump(len=0): [NULL]
> nl80211: Could not configure driver mode
> 
> With help of Johannes we find out that there are odd changes in
> wireless-testing[2]. Reverting the change in cfg.c fixed my regression,
> but I don't know really know what has happened.
> 
> Kalle
> 
> [1] To be exact I was using ath.git master branch but that's just
> wireless-testing plus latest ath patches so should affect here.
> 
> [2] $ git diff master-2015-11-27..master-2015-11-30 -- net/mac80211
> diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
> index 2d1c4c35186d..b3a708366a5a 100644
> --- a/net/mac80211/cfg.c
> +++ b/net/mac80211/cfg.c
> @@ -3384,8 +3384,6 @@ const struct cfg80211_ops mac80211_config_ops = {
> .set_bitrate_mask = ieee80211_set_bitrate_mask,
> .remain_on_channel = ieee80211_remain_on_channel,
> .cancel_remain_on_channel = ieee80211_cancel_remain_on_channel,
> -   .mgmt_tx = ieee80211_mgmt_tx,
> -   .mgmt_tx_cancel_wait = ieee80211_mgmt_tx_cancel_wait,
> .set_cqm_rssi_config = ieee80211_set_cqm_rssi_config,
> .mgmt_frame_register = ieee80211_mgmt_frame_register,
> .set_antenna = ieee80211_set_antenna,
> diff --git a/net/mac80211/offchannel.c b/net/mac80211/offchannel.c
> index ce8e1a6c7281..cfd3356e26fd 100644
> --- a/net/mac80211/offchannel.c
> +++ b/net/mac80211/offchannel.c
> @@ -916,6 +916,13 @@ int ieee80211_mgmt_tx(struct wiphy *wiphy, struct 
> wireless_dev *wdev,
> kfree_skb(skb);
> goto out_unlock;
> }
> +   } else {
> +   /* Assign a dummy non-zero cookie, it's not sent to
> +* userspace in this case but we rely on its value
> +* internally in the need_offchan case to distinguish
> +* mgmt-tx from remain-on-channel.
> +*/
> +   *cookie = 0x;
> }
>  
> if (!need_offchan) {
> 
> 

-- 
John W. LinvilleSomeday the world will need a hero, and you
linvi...@tuxdriver.com  might be all we have.  Be ready.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v4 2/3] mac80211: Prevent build failure with CONFIG_UBSAN=y

2015-12-03 Thread Johannes Berg
On Thu, 2015-12-03 at 18:50 +0300, Andrey Ryabinin wrote:
> With upcoming CONFIG_UBSAN the following BUILD_BUG_ON in
> net/mac80211/debugfs.c starts to trigger:
>   BUILD_BUG_ON(hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void
> *)0x1);
> 
> It seems, that compiler instrumentation causes some code
> deoptimizations.
> Because of that GCC is not being able to resolve condition in
> BUILD_BUG_ON()
> at compile time.
> 
> We could make size of hw_flag_names array unspecified and replace the
> condition in BUILD_BUG_ON() with following:
>   ARRAY_SIZE(hw_flag_names) != NUM_IEEE80211_HW_FLAGS
> 
> That will have the same effect as before (adding new flag without
> updating
> array will trigger build failure) except it doesn't fail with
> CONFIG_UBSAN.
> As a bonus this patch slightly decreases size of hw_flag_names array.
> 
Seems fine, would you want to take it through some other tree together
with UBSAN, or do you expect that to still take long enough to allow
this to trickle through our trees?

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v3] staging: wilc1000: replace 'ptr > 0' check by 'ptr' check.

2015-12-03 Thread Mario J. Rugiero
This silences a sparse warning about incompatible comparisons, while making the
intent of the check a bit clearer.

Signed-off-by: Mario J. Rugiero 
---
 drivers/staging/wilc1000/host_interface.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c
index d5b7725..0c87f6c 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -2270,7 +2270,7 @@ static void Handle_AddBeacon(struct host_if_drv *hif_drv,
*pu8CurrByte++ = ((pstrSetBeaconParam->tail_len >> 16) & 0xFF);
*pu8CurrByte++ = ((pstrSetBeaconParam->tail_len >> 24) & 0xFF);
 
-   if (pstrSetBeaconParam->tail > 0)
+   if (pstrSetBeaconParam->tail)
memcpy(pu8CurrByte, pstrSetBeaconParam->tail, 
pstrSetBeaconParam->tail_len);
pu8CurrByte += pstrSetBeaconParam->tail_len;
 
-- 
2.6.3

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v4 2/3] mac80211: Prevent build failure with CONFIG_UBSAN=y

2015-12-03 Thread Andrey Ryabinin
With upcoming CONFIG_UBSAN the following BUILD_BUG_ON in
net/mac80211/debugfs.c starts to trigger:
BUILD_BUG_ON(hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void *)0x1);

It seems, that compiler instrumentation causes some code deoptimizations.
Because of that GCC is not being able to resolve condition in BUILD_BUG_ON()
at compile time.

We could make size of hw_flag_names array unspecified and replace the
condition in BUILD_BUG_ON() with following:
ARRAY_SIZE(hw_flag_names) != NUM_IEEE80211_HW_FLAGS

That will have the same effect as before (adding new flag without updating
array will trigger build failure) except it doesn't fail with CONFIG_UBSAN.
As a bonus this patch slightly decreases size of hw_flag_names array.

Signed-off-by: Andrey Ryabinin 
Cc: Johannes Berg 
Cc: "David S. Miller" 
---
 net/mac80211/debugfs.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c
index abbdff0..3e24d0d 100644
--- a/net/mac80211/debugfs.c
+++ b/net/mac80211/debugfs.c
@@ -91,7 +91,7 @@ static const struct file_operations reset_ops = {
 };
 #endif
 
-static const char *hw_flag_names[NUM_IEEE80211_HW_FLAGS + 1] = {
+static const char *hw_flag_names[] = {
 #define FLAG(F)[IEEE80211_HW_##F] = #F
FLAG(HAS_RATE_CONTROL),
FLAG(RX_INCLUDES_FCS),
@@ -126,9 +126,6 @@ static const char *hw_flag_names[NUM_IEEE80211_HW_FLAGS + 
1] = {
FLAG(SUPPORTS_AMSDU_IN_AMPDU),
FLAG(BEACON_TX_STATUS),
FLAG(NEEDS_UNIQUE_STA_ADDR),
-
-   /* keep last for the build bug below */
-   (void *)0x1
 #undef FLAG
 };
 
@@ -148,7 +145,7 @@ static ssize_t hwflags_read(struct file *file, char __user 
*user_buf,
/* fail compilation if somebody adds or removes
 * a flag without updating the name array above
 */
-   BUILD_BUG_ON(hw_flag_names[NUM_IEEE80211_HW_FLAGS] != (void *)0x1);
+   BUILD_BUG_ON(ARRAY_SIZE(hw_flag_names) != NUM_IEEE80211_HW_FLAGS);
 
for (i = 0; i < NUM_IEEE80211_HW_FLAGS; i++) {
if (test_bit(i, local->hw.flags))
-- 
2.4.10

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 24/41] iwlwifi: mvm: move fw-dbg code to separate file

2015-12-03 Thread Kalle Valo
Emmanuel Grumbach  writes:

>> Indeed... Thanks for catching this...
>> Will re-spin...
>
>  I pushed -f the tree with the same tag. Should be fine now. Thanks again.

I would prefer that you create a new tag in cases like this. Just to
make sure that I don't accidentally pull the old tag.

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: pull request: iwlwifi-next 2015-12-01

2015-12-03 Thread Kalle Valo
"Grumbach, Emmanuel"  writes:

> This is a pull request for -next. It is based on your tree after the
> reorganisation. Details in the tag. Let me know if you have issues.
>
> Please pull. Thanks.
>
>
> The following changes since commit 6d808eba602b00f77f26191f45328774ff057cc0:
>
>   mac80211_hwsim: move Kconfig entry for sorting alphabetically (2015-11-18 
> 15:23:36 +0200)
>
> are available in the git repository at:
>
>   https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git 
> tags/iwlwifi-next-for-kalle-2015-12-01

Pulled, thanks.

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] staging: cleanup: Fix incompatible type comparison in wilc1000/host_interface.c

2015-12-03 Thread Dan Carpenter
On Thu, Dec 03, 2015 at 12:18:34PM -0300, Mario J. Rugiero wrote:
> Would be v3, or remains v2 because of the lack of further changes
> afterwards?

Bump the version number.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] staging: cleanup: Fix incompatible type comparison in wilc1000/host_interface.c

2015-12-03 Thread Mario J. Rugiero
Would be v3, or remains v2 because of the lack of further changes 
afterwards?


Regards,
Mario.

El 03/12/15 a las 12:17, Dan Carpenter escribió:

On Thu, Dec 03, 2015 at 12:13:59PM -0300, Mario J. Rugiero wrote:

Thank you. Then the patch itself should see no changes as of now, am
I right?
Should I submit a new one anyway to fix the subject line?

Yes, please.

regards,
dan carpenter



--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] staging: cleanup: Fix incompatible type comparison in wilc1000/host_interface.c

2015-12-03 Thread Dan Carpenter
On Thu, Dec 03, 2015 at 12:13:59PM -0300, Mario J. Rugiero wrote:
> Thank you. Then the patch itself should see no changes as of now, am
> I right?
> Should I submit a new one anyway to fix the subject line?

Yes, please.

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/1] staging: cleanup: Fix incompatible type comparison in wilc1000/host_interface.c

2015-12-03 Thread Mario J. Rugiero
Thank you. Then the patch itself should see no changes as of now, am I 
right?

Should I submit a new one anyway to fix the subject line?

Regards,
Mario.
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wlan0: set_features() failed (-1); wanted 0x0000000000004008, left 0x0000000000004808

2015-12-03 Thread Kalle Valo
Johannes Berg  writes:

> On Thu, 2015-12-03 at 09:03 +0100, Janusz Dziedzic wrote:
>> 
>> Missing:
>> net: fix feature changes on devices without ndo_set_features ?
>> 
>
> According to the *code* that's there, but maybe Kalle hasn't recompiled
> it to the latest tree quite right?

Actually I was too hasty when reading the logs and missed that I haven't
seen these warnings since November 30th or so. I guess during after the
patch above trickled down to wireless-testing and fixed the issue.

So everything is good, sorry for the noise.

-- 
Kalle Valo
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH V5] wlcore/wl18xx: fw logger over sdio

2015-12-03 Thread Guy Mishol
From: Shahar Patury 

enable the FW Logger to work over the SDIO interface instead of only
over UART.
in new design we will use fw internal memory instead of packet ram
that was used in older (and wl12xx) design.
this change will reduce the impact on tp and stability.
adding new event to notify fw logger is ready to be read.
adding dynamic configuration to debugfs.

Signed-off-by: Shahar Patury 
---
V5: Resubmitted again due to cpu interface changes

 drivers/net/wireless/ti/wl18xx/event.c   |2 +
 drivers/net/wireless/ti/wl18xx/event.h   |1 +
 drivers/net/wireless/ti/wl18xx/main.c|9 ++-
 drivers/net/wireless/ti/wlcore/cmd.h |1 -
 drivers/net/wireless/ti/wlcore/debugfs.c |   60 +++
 drivers/net/wireless/ti/wlcore/event.c   |   82 +
 drivers/net/wireless/ti/wlcore/event.h   |9 +++
 drivers/net/wireless/ti/wlcore/io.c  |   11 ++--
 drivers/net/wireless/ti/wlcore/io.h  |4 +-
 drivers/net/wireless/ti/wlcore/main.c|   96 +++--
 drivers/net/wireless/ti/wlcore/rx.c  |1 -
 drivers/net/wireless/ti/wlcore/sysfs.c   |   26 
 drivers/net/wireless/ti/wlcore/wlcore.h  |3 -
 13 files changed, 177 insertions(+), 128 deletions(-)

diff --git a/drivers/net/wireless/ti/wl18xx/event.c 
b/drivers/net/wireless/ti/wl18xx/event.c
index 09c7e09..719907a 100644
--- a/drivers/net/wireless/ti/wl18xx/event.c
+++ b/drivers/net/wireless/ti/wl18xx/event.c
@@ -205,6 +205,8 @@ int wl18xx_process_mailbox_events(struct wl1271 *wl)
 mbox->sc_ssid,
 mbox->sc_pwd_len,
 mbox->sc_pwd);
+   if (vector & FW_LOGGER_INDICATION)
+   wlcore_event_fw_logger(wl);
 
return 0;
 }
diff --git a/drivers/net/wireless/ti/wl18xx/event.h 
b/drivers/net/wireless/ti/wl18xx/event.h
index f3d4f13..070de12 100644
--- a/drivers/net/wireless/ti/wl18xx/event.h
+++ b/drivers/net/wireless/ti/wl18xx/event.h
@@ -41,6 +41,7 @@ enum {
SMART_CONFIG_SYNC_EVENT_ID   = BIT(22),
SMART_CONFIG_DECODE_EVENT_ID = BIT(23),
TIME_SYNC_EVENT_ID   = BIT(24),
+   FW_LOGGER_INDICATION= BIT(25),
 };
 
 enum wl18xx_radar_types {
diff --git a/drivers/net/wireless/ti/wl18xx/main.c 
b/drivers/net/wireless/ti/wl18xx/main.c
index 50cce42..60eda4d 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -461,7 +461,7 @@ static struct wlcore_conf wl18xx_conf = {
},
.fwlog = {
.mode = WL12XX_FWLOG_CONTINUOUS,
-   .mem_blocks   = 2,
+   .mem_blocks   = 0,
.severity = 0,
.timestamp= WL12XX_FWLOG_TIMESTAMP_DISABLED,
.output   = WL12XX_FWLOG_OUTPUT_DBG_PINS,
@@ -584,7 +584,7 @@ static const struct wlcore_partition_set 
wl18xx_ptable[PART_TABLE_LEN] = {
.mem  = { .start = 0x00A0, .size  = 0x00012000 },
.reg  = { .start = 0x00807000, .size  = 0x5000 },
.mem2 = { .start = 0x0080, .size  = 0xB000 },
-   .mem3 = { .start = 0x, .size  = 0x },
+   .mem3 = { .start = 0x00401594, .size  = 0x1020 },
},
[PART_DOWN] = {
.mem  = { .start = 0x, .size  = 0x00014000 },
@@ -602,7 +602,7 @@ static const struct wlcore_partition_set 
wl18xx_ptable[PART_TABLE_LEN] = {
.mem  = { .start = 0x0080, .size  = 0x50FC },
.reg  = { .start = 0x00B00404, .size  = 0x1000 },
.mem2 = { .start = 0x00C0, .size  = 0x0400 },
-   .mem3 = { .start = 0x, .size  = 0x },
+   .mem3 = { .start = 0x00401594, .size  = 0x1020 },
},
[PART_PHY_INIT] = {
.mem  = { .start = WL18XX_PHY_INIT_MEM_ADDR,
@@ -1029,7 +1029,8 @@ static int wl18xx_boot(struct wl1271 *wl)
DFS_CHANNELS_CONFIG_COMPLETE_EVENT |
SMART_CONFIG_SYNC_EVENT_ID |
SMART_CONFIG_DECODE_EVENT_ID |
-   TIME_SYNC_EVENT_ID;
+   TIME_SYNC_EVENT_ID |
+   FW_LOGGER_INDICATION;
 
wl->ap_event_mask = MAX_TX_FAILURE_EVENT_ID;
 
diff --git a/drivers/net/wireless/ti/wlcore/cmd.h 
b/drivers/net/wireless/ti/wlcore/cmd.h
index 8dc46c0..e28e2f2 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.h
+++ b/drivers/net/wireless/ti/wlcore/cmd.h
@@ -626,7 +626,6 @@ struct wl12xx_cmd_remove_peer {
  */
 enum wl12xx_fwlogger_log_mode {
WL12XX_FWLOG_CONTINUOUS,
-   WL12XX_FWLOG_ON_DEMAND
 };
 
 /* Include/exclude timestamps from the log messages */
diff --git a/drivers/net/wireless/ti/wlcore/debugfs.c 

RE: [PATCH v2] mac80211_hwsim: check ATTR_FREQ for wmediumd (netlink) packets

2015-12-03 Thread Adam R. Welle
>                 if (rx_status.freq != data2->channel->center_freq &&
> (!data2->tmp_chan ||
>  rx_status.freq != data2->tmp_chan->center_freq)) {

Perfect, thank you!

Adam

N�r��yb�X��ǧv�^�)޺{.n�+{��*ޕ�,�{ay�ʇڙ�,j��f���h���z��w���
���j:+v���w�j�mzZ+�ݢj"��!�i

Re: iw ignores channel switch

2015-12-03 Thread Johannes Berg
On Thu, 2015-12-03 at 12:01 +0100, Reiner Karlsberg wrote:
> 
>  Interface wlan0
>  ifindex 21 #steadily
> increasing, not re-used ?

Correct. You'll eventually roll over after 2^32-1 ... this has nothing
to do with wifi btw - look at ethernet devices :)

[snip irrelevant use of the station interface]

> root@OpenWrt:/tmp# iw dev wmon0 set channel 1

Is 'wmon0' still up at that point? It should work then, not sure why it
wouldn't, but it's certainly not an iw problem but more likely a kernel
problem. Since openwrt also has a fair number of patches I'd ask you to
please retest on a regular kernel first, or report the bug to them.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2] mac80211_hwsim: check ATTR_FREQ for wmediumd (netlink) packets

2015-12-03 Thread Johannes Berg
On Wed, 2015-12-02 at 19:30 +, Adam R. Welle wrote:
> > Applied. I added locking and made a change to accept both the off-
> > channel and non-offchannel since the internal datapath also does
> > that
> > and we don't stop other operation for off-channel.
> 
> Does your change only throw away packets when tmp_chan is set? I was
> under the impression that most of the time tmp_chan would be null.
> 
Yeah, umm, that expression was wrong. Thanks.

It should be

                if (rx_status.freq != data2->channel->center_freq &&
(!data2->tmp_chan ||
 rx_status.freq != data2->tmp_chan->center_freq)) {

I'll fix it.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wlan0: set_features() failed (-1); wanted 0x0000000000004008, left 0x0000000000004808

2015-12-03 Thread Johannes Berg
On Thu, 2015-12-03 at 09:03 +0100, Janusz Dziedzic wrote:
> 
> Missing:
> net: fix feature changes on devices without ndo_set_features ?
> 

According to the *code* that's there, but maybe Kalle hasn't recompiled
it to the latest tree quite right?

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH V4] wlcore/wl18xx: fw logger over sdio

2015-12-03 Thread Guy Mishol
From: Shahar Patury 

enable the FW Logger to work over the SDIO interface instead of only
over UART.
in new design we will use fw internal memory instead of packet ram
that was used in older (and wl12xx) design.
this change will reduce the impact on tp and stability.
adding new event to notify fw logger is ready to be read.
adding dynamic configuration to debugfs.

Signed-off-by: Shahar Patury 
---
V4: Resubmitted again due to compiler dependencies fixes

 drivers/net/wireless/ti/wl18xx/event.c   |2 +
 drivers/net/wireless/ti/wl18xx/event.h   |1 +
 drivers/net/wireless/ti/wl18xx/main.c|9 ++-
 drivers/net/wireless/ti/wlcore/cmd.h |1 -
 drivers/net/wireless/ti/wlcore/debugfs.c |   60 +++
 drivers/net/wireless/ti/wlcore/event.c   |   80 +
 drivers/net/wireless/ti/wlcore/event.h   |9 +++
 drivers/net/wireless/ti/wlcore/io.c  |   11 ++--
 drivers/net/wireless/ti/wlcore/io.h  |4 +-
 drivers/net/wireless/ti/wlcore/main.c|   96 +++--
 drivers/net/wireless/ti/wlcore/rx.c  |1 -
 drivers/net/wireless/ti/wlcore/sysfs.c   |   26 
 drivers/net/wireless/ti/wlcore/wlcore.h  |3 -
 13 files changed, 175 insertions(+), 128 deletions(-)

diff --git a/drivers/net/wireless/ti/wl18xx/event.c 
b/drivers/net/wireless/ti/wl18xx/event.c
index 09c7e09..719907a 100644
--- a/drivers/net/wireless/ti/wl18xx/event.c
+++ b/drivers/net/wireless/ti/wl18xx/event.c
@@ -205,6 +205,8 @@ int wl18xx_process_mailbox_events(struct wl1271 *wl)
 mbox->sc_ssid,
 mbox->sc_pwd_len,
 mbox->sc_pwd);
+   if (vector & FW_LOGGER_INDICATION)
+   wlcore_event_fw_logger(wl);
 
return 0;
 }
diff --git a/drivers/net/wireless/ti/wl18xx/event.h 
b/drivers/net/wireless/ti/wl18xx/event.h
index f3d4f13..070de12 100644
--- a/drivers/net/wireless/ti/wl18xx/event.h
+++ b/drivers/net/wireless/ti/wl18xx/event.h
@@ -41,6 +41,7 @@ enum {
SMART_CONFIG_SYNC_EVENT_ID   = BIT(22),
SMART_CONFIG_DECODE_EVENT_ID = BIT(23),
TIME_SYNC_EVENT_ID   = BIT(24),
+   FW_LOGGER_INDICATION= BIT(25),
 };
 
 enum wl18xx_radar_types {
diff --git a/drivers/net/wireless/ti/wl18xx/main.c 
b/drivers/net/wireless/ti/wl18xx/main.c
index 50cce42..60eda4d 100644
--- a/drivers/net/wireless/ti/wl18xx/main.c
+++ b/drivers/net/wireless/ti/wl18xx/main.c
@@ -461,7 +461,7 @@ static struct wlcore_conf wl18xx_conf = {
},
.fwlog = {
.mode = WL12XX_FWLOG_CONTINUOUS,
-   .mem_blocks   = 2,
+   .mem_blocks   = 0,
.severity = 0,
.timestamp= WL12XX_FWLOG_TIMESTAMP_DISABLED,
.output   = WL12XX_FWLOG_OUTPUT_DBG_PINS,
@@ -584,7 +584,7 @@ static const struct wlcore_partition_set 
wl18xx_ptable[PART_TABLE_LEN] = {
.mem  = { .start = 0x00A0, .size  = 0x00012000 },
.reg  = { .start = 0x00807000, .size  = 0x5000 },
.mem2 = { .start = 0x0080, .size  = 0xB000 },
-   .mem3 = { .start = 0x, .size  = 0x },
+   .mem3 = { .start = 0x00401594, .size  = 0x1020 },
},
[PART_DOWN] = {
.mem  = { .start = 0x, .size  = 0x00014000 },
@@ -602,7 +602,7 @@ static const struct wlcore_partition_set 
wl18xx_ptable[PART_TABLE_LEN] = {
.mem  = { .start = 0x0080, .size  = 0x50FC },
.reg  = { .start = 0x00B00404, .size  = 0x1000 },
.mem2 = { .start = 0x00C0, .size  = 0x0400 },
-   .mem3 = { .start = 0x, .size  = 0x },
+   .mem3 = { .start = 0x00401594, .size  = 0x1020 },
},
[PART_PHY_INIT] = {
.mem  = { .start = WL18XX_PHY_INIT_MEM_ADDR,
@@ -1029,7 +1029,8 @@ static int wl18xx_boot(struct wl1271 *wl)
DFS_CHANNELS_CONFIG_COMPLETE_EVENT |
SMART_CONFIG_SYNC_EVENT_ID |
SMART_CONFIG_DECODE_EVENT_ID |
-   TIME_SYNC_EVENT_ID;
+   TIME_SYNC_EVENT_ID |
+   FW_LOGGER_INDICATION;
 
wl->ap_event_mask = MAX_TX_FAILURE_EVENT_ID;
 
diff --git a/drivers/net/wireless/ti/wlcore/cmd.h 
b/drivers/net/wireless/ti/wlcore/cmd.h
index 8dc46c0..e28e2f2 100644
--- a/drivers/net/wireless/ti/wlcore/cmd.h
+++ b/drivers/net/wireless/ti/wlcore/cmd.h
@@ -626,7 +626,6 @@ struct wl12xx_cmd_remove_peer {
  */
 enum wl12xx_fwlogger_log_mode {
WL12XX_FWLOG_CONTINUOUS,
-   WL12XX_FWLOG_ON_DEMAND
 };
 
 /* Include/exclude timestamps from the log messages */
diff --git a/drivers/net/wireless/ti/wlcore/debu

Re: [PATCH 1/1] staging: cleanup: Fix incompatible type comparison in wilc1000/host_interface.c

2015-12-03 Thread glen lee



On 2015년 12월 03일 00:12, Mario J. Rugiero wrote:
OK. Since the maintainers are CC'd, I guess I should wait for a 
clarification about this?


Hi Mario,

The purpose of that is to check if tail is null or not. if it is not null, 
there is tail
to send, so copy to buff.

regards,
glen lee.



El 02/12/15 a las 10:29, Dan Carpenter escribió:

Put v2 in the subject.  Also the subsystem prefix is:

[PATCH v3] staging: wilc1000: ...

On Mon, Nov 30, 2015 at 09:09:04PM -0300, Mario J. Rugiero wrote:

This patch replaces an "if (ptr > 0)" comparison that seems to be a
confusing way to check for null by a simpler "if (ptr)" check.

Signed-off-by: Mario J. Rugiero 
---

v2: Remove the != NULL because checkpatch complains.


drivers/staging/wilc1000/host_interface.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/wilc1000/host_interface.c 
b/drivers/staging/wilc1000/host_interface.c

index d5b7725..0c87f6c 100644
--- a/drivers/staging/wilc1000/host_interface.c
+++ b/drivers/staging/wilc1000/host_interface.c
@@ -2270,7 +2270,7 @@ static void Handle_AddBeacon(struct 
host_if_drv *hif_drv,

  *pu8CurrByte++ = ((pstrSetBeaconParam->tail_len >> 16) & 0xFF);
  *pu8CurrByte++ = ((pstrSetBeaconParam->tail_len >> 24) & 0xFF);
  -if (pstrSetBeaconParam->tail > 0)
+if (pstrSetBeaconParam->tail)
Probably the intention was to check if "pstrSetBeaconParam->tail_len 
> 0"

but I'm not sure.  The wilc1000 maintainers are very responsive though
so maybe they will know for sure.

regards,
dan carpenter




___
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel


--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wlan0: set_features() failed (-1); wanted 0x0000000000004008, left 0x0000000000004808

2015-12-03 Thread Johannes Berg
On Thu, 2015-12-03 at 09:07 +0200, Kalle Valo wrote:

> I'm using ath.git master branch which is latest wireless-testing plus
> latest ath patches. Any ideas what's causing these? mac80211 or
> something else?

This is usually caused by a driver (in this case mac80211) implementing
ndo_set_features, but I never accepted that patch as far as I remember,
it's pending in patchwork. I don't see that in your tree either, so
that's very puzzling.

Clearly it's trying to turn off NETIF_F_GSO, as it should since the
drivers both don't advertise NETIF_F_SG right now.

The code you're looking at is in __netdev_update_features(), but I
can't explain how it would get into this message if ndo_set_features is
NULL. Perhaps you should recompile the kernel from scratch.

johannes
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: wlan0: set_features() failed (-1); wanted 0x0000000000004008, left 0x0000000000004808

2015-12-03 Thread Janusz Dziedzic
On 3 December 2015 at 08:07, Kalle Valo  wrote:
> Hi,
>
> For few weeks (I think) I have seen these kind of messages:
>
> ath10k_pci :02:00.0 wlan0: set_features() failed (-1); wanted 
> 0x4008, left 0x4808
>
> iwlwifi :03:00.0 wlan0: set_features() failed (-1); wanted 
> 0x4000, left 0x4800
>
> I'm using ath.git master branch which is latest wireless-testing plus
> latest ath patches. Any ideas what's causing these? mac80211 or
> something else?
>
Missing:
net: fix feature changes on devices without ndo_set_features ?

BR
Janusz

> --
> Kalle Valo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majord...@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html