wifi: iwlmei: don't send nic info with invalid mac address
authorAvraham Stern <avraham.stern@intel.com>
Tue, 22 Aug 2023 07:33:19 +0000 (10:33 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 22 Aug 2023 11:19:53 +0000 (13:19 +0200)
In case the SAP connection is established before the interface is
added, the mac address is still not set. Don't send the nic info
SAP message in this case since it will result in sending an invalid
mac address. The nic info message will be sent with a valid mac
address when the interface is added.

Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230822103048.a49436bed387.I0ca88d72456e6e9f939bbc2e0c52ffb173fbc97e@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mei/main.c

index 78b78a7..1dd9106 100644 (file)
@@ -774,9 +774,13 @@ static void iwl_mei_set_init_conf(struct iwl_mei *mei)
                iwl_mei_send_sap_msg_payload(mei->cldev, &sar_msg.hdr);
        }
 
-       ether_addr_copy(nic_info_msg.mac_address, iwl_mei_cache.mac_address);
-       ether_addr_copy(nic_info_msg.nvm_address, iwl_mei_cache.nvm_address);
-       iwl_mei_send_sap_msg_payload(mei->cldev, &nic_info_msg.hdr);
+       if (is_valid_ether_addr(iwl_mei_cache.mac_address)) {
+               ether_addr_copy(nic_info_msg.mac_address,
+                               iwl_mei_cache.mac_address);
+               ether_addr_copy(nic_info_msg.nvm_address,
+                               iwl_mei_cache.nvm_address);
+               iwl_mei_send_sap_msg_payload(mei->cldev, &nic_info_msg.hdr);
+       }
 
        iwl_mei_send_sap_msg_payload(mei->cldev, &rfkill_msg.hdr);
 }