remove all broadcom interfaces from bridges and bring them down completely when wifi down is called
SVN-Revision: 5116
This commit is contained in:
		| @@ -70,6 +70,11 @@ setup_interface() { | ||||
| 	proto="${3:-$(config_get "$config" proto)}" | ||||
| 	config_get iftype "$config" type | ||||
| 	 | ||||
| 	ifconfig "$iface" 2>/dev/null >/dev/null && { | ||||
| 		# make sure the interface is removed from any existing bridge | ||||
| 		unbridge "$iface" | ||||
| 	} | ||||
|  | ||||
| 	# Setup VLAN interfaces | ||||
| 	add_vlan "$iface" | ||||
|  | ||||
| @@ -141,3 +146,15 @@ setup_interface() { | ||||
| 	esac | ||||
| } | ||||
|  | ||||
| unbridge() { | ||||
| 	local dev="$1" | ||||
| 	local brdev | ||||
|  | ||||
| 	brctl show | grep "$dev" >/dev/null && { | ||||
| 		# interface is still part of a bridge, correct that | ||||
|  | ||||
| 		for brdev in $(brctl show | awk '$2 ~ /^[0-9].*\./ { print $1 }'); do | ||||
| 			brctl delif "$brdev" "$dev" 2>/dev/null >/dev/null | ||||
| 		done | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -10,12 +10,5 @@ case "$iftype" in | ||||
| esac | ||||
|  | ||||
| for dev in $ifname; do | ||||
| 	brctl show | grep "$dev" >/dev/null && { | ||||
| 		# interface is still part of a bridge, correct that | ||||
|  | ||||
| 		for brdev in $(brctl show | awk '$2 ~ /^[0-9].*\./ { print $1 }'); do | ||||
| 			brctl delif "$brdev" "$dev" 2>/dev/null >/dev/null | ||||
| 		done | ||||
| 	} | ||||
| 	setup_interface "$dev" "$1" | ||||
| done | ||||
|   | ||||
| @@ -75,7 +75,17 @@ scan_broadcom() { | ||||
|  | ||||
| disable_broadcom() { | ||||
| 	wlc down | ||||
| 	ifconfig wl0 down | ||||
| 	( | ||||
| 		include /lib/network | ||||
| 		scan_interfaces | ||||
|  | ||||
| 		# make sure the interfaces are down and removed from all bridges | ||||
| 		for dev in wl0 wl0.1 wl0.2 wl0.3; do | ||||
| 			ifconfig "$dev" down 2>/dev/null >/dev/null && { | ||||
| 				unbridge "$dev" | ||||
| 			} | ||||
| 		done | ||||
| 	) | ||||
| } | ||||
|  | ||||
| enable_broadcom() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Felix Fietkau
					Felix Fietkau