Thread (12 messages) 12 messages, 3 authors, 2019-05-27

Re: [RFC PATCH 2/2] rtl8xxxu: Add watchdog to update rate mask by signal strength

From: Chris Chiu <hidden>
Date: 2019-05-27 06:38:53
Also in: linux-wireless, lkml

On Wed, May 22, 2019 at 2:38 AM Daniel Drake [off-list ref] wrote:
On Fri, May 10, 2019 at 2:37 AM Chris Chiu [off-list ref] wrote:
quoted
I've verified that multiple virtual interface can not work simultaneously in
STA mode. I assigned different mac address for different vifs, I can only
bring only one interface up. If I want to bring the second vif up, it always
complains "SIOCSIFFLAGS: Device or resource busy".
Interesting. Can you go deeper into that so that we can be more
confident of this limitation?

ieee80211_open() is the starting point.
ieee80211_check_concurrent_iface() is one candidate to generate -EBUSY
but from inspection, I don't think that's happening in this case,
perhaps you can keep following through in order to figure out which
part of the code is not allowing the 2nd STA interface to come up.

Daniel
The -EBUSY is returned by the ieee80211_check_combinations() in the
ieee80211_check_concurrent_iface() function which is invoked each time
doing ieee80211_open().
The ieee80211_check_combinations() returns the -EBUSY because of
cfg80211_check_combinations() will iterate all interfaces of different types
then checks the combination is valid or not, which in this case the number
of interface combination accumulated by cfg80211_iter_sum_ifcombos is 0
when I'm trying to bring up the second station interface.

Chris
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help