2
0
Эх сурвалжийг харах

wireless: update prev_config on SET_DATA notify

Fixes passing phy name from setup to teardown

Signed-off-by: Felix Fietkau <nbd@nbd.name>
Felix Fietkau 8 сар өмнө
parent
commit
7a58b995fd
1 өөрчлөгдсөн 9 нэмэгдсэн , 0 устгасан
  1. 9 0
      wireless.c

+ 9 - 0
wireless.c

@@ -692,6 +692,14 @@ wdev_set_config_state(struct wireless_device *wdev, enum interface_config_state
 		__wireless_device_set_down(wdev);
 }
 
+static void
+wdev_prepare_prev_config(struct wireless_device *wdev)
+{
+	prepare_config(wdev, &b, false);
+	free(wdev->prev_config);
+	wdev->prev_config = blob_memdup(b.head);
+}
+
 static void
 wdev_change_config(struct wireless_device *wdev, struct wireless_device *wd_new)
 {
@@ -1511,6 +1519,7 @@ wireless_device_notify(struct wireless_device *wdev, struct blob_attr *data,
 			wireless_vlan_set_data(vlan);
 		else if (vif)
 			wireless_interface_set_data(vif);
+		wdev_prepare_prev_config(wdev);
 		break;
 	case NOTIFY_CMD_PROCESS_ADD:
 		return wireless_device_add_process(wdev, cur);