mac80211: gracefully handle preexisting VIF
authorJo-Philipp Wich <jo@mein.io>
Sun, 14 May 2017 17:47:07 +0000 (19:47 +0200)
committerJo-Philipp Wich <jo@mein.io>
Wed, 13 Dec 2017 14:29:01 +0000 (15:29 +0100)
commitf0a493160cbc3feb683b6efb23ec80e0564d1be2
tree1036a983ad24e16c44c0df5822971f8565037378
parent827f108b42504bd468a771cf610373d16f8fd378
mac80211: gracefully handle preexisting VIF

Gracefully handle cases where the to-be-created wireless interface already
exists on the system which might commonly happen with non-multi-SSID capable
wireless drivers.

This fixes commit 8301e613655c2d95fa5430a1a57d92d966fdc70b which caused
previously ignored "Too many open files in system (-23)" errors to fail the
wireless setup procedure.

With the updated approach we'll still try recreating the vif after one
second if the first attempt to do so failed with ENFILE but we will now
consider the operation successfull if a second attempt still yields ENFILE
with the requested ifname already existing on the system.

Fixes FS#664, FS#704.

Suggested-by: Vittorio Gambaletta <openwrt@vittgam.net>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit 4a033475453b63d0d5ae41489e7c395882567698)
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh