Search Linux Wireless

Re: bug in compat-wireless 3.6, rt2x00 iftype is wrong

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Fair enough, this is just behavior that was newly enforced without
comments that I could find.  For the several years that I've been
working with compat-wireless, I've been able to change the channel of
an unassociated Managed interface with a coupled monitoring interface
using iwconfig or iw on either.  Then, that behavior broke.  I see the
logic behind the behavior.

On Sat, Nov 3, 2012 at 7:14 AM, Johannes Berg <johannes@xxxxxxxxxxxxxxxx> wrote:
> On Fri, 2012-11-02 at 15:57 -0400, George Nychis wrote:
>> The issue seems to be that in all of these drivers, wdev is NULL when
>> you hit set_channel()  in the older and newer driver.  In the old
>> driver, cfg8011_set_freq() is called with wdev has NULL and it still
>> calls rdev->ops->set_channel(....) which succeeds.
>>
>> However, in the new driver cfg80211_set_monitor_channel() is called
>> since wdev was NULL, but now instead of still calling
>> rdev->ops->set_channel() or rdev->ops->set_monitor_channel() it
>> returns -EBUSY because if(!cfg80211_has_monitors_only(rdev)) returns
>> true.  Is this really the expected behavior, or is meant to only
>> return -EBUSY if there are only monitors, rather? (i.e.,
>> if(cfg80211_has_monitors_only(rdev)) )
>
> No, this is the correct behaviour, if you have non-monitor interfaces
> you can't set the channel since the channel setting would be done with
> other actions, e.g. associating a managed mode interface.
>
> I don't really understand your original complaint though, the iftype you
> set will be the one the interface is in ...
>
> johannes
>
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux