linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Pali Rohár" <pali.rohar@gmail.com>
To: Ming Lei <ming.lei@canonical.com>,
	"Luis R. Rodriguez" <mcgrof@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Kalle Valo <kvalo@codeaurora.org>,
	David Gnedt <david.gnedt@davizone.at>,
	Michal Kazior <michal.kazior@tieto.com>,
	Daniel Wagner <wagi@monom.org>, Tony Lindgren <tony@atomide.com>,
	Sebastian Reichel <sre@kernel.org>, Pavel Machek <pavel@ucw.cz>,
	Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>,
	Aaro Koskinen <aaro.koskinen@iki.fi>,
	Grazvydas Ignotas <notasas@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org,
	netdev@vger.kernel.org, "Pali Rohár" <pali.rohar@gmail.com>
Subject: [PATCH v2 4/6] wl1251: Set generated MAC address back to NVS data
Date: Fri, 10 Nov 2017 00:38:26 +0100	[thread overview]
Message-ID: <1510270708-14377-5-git-send-email-pali.rohar@gmail.com> (raw)
In-Reply-To: <1510270708-14377-1-git-send-email-pali.rohar@gmail.com>

In case there is no valid MAC address kernel generates random one. This
patch propagate this generated MAC address back to NVS data which will be
uploaded to wl1251 chip. So HW would have same MAC address as linux kernel
uses.

This should not change any functionality, but it is better to tell wl1251
correct mac address since beginning of chip usage.

Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
---
 drivers/net/wireless/ti/wl1251/main.c |   17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c
index d497ba5..1f423be 100644
--- a/drivers/net/wireless/ti/wl1251/main.c
+++ b/drivers/net/wireless/ti/wl1251/main.c
@@ -1481,6 +1481,21 @@ static int wl1251_read_nvs_mac(struct wl1251 *wl)
 	return 0;
 }
 
+static int wl1251_write_nvs_mac(struct wl1251 *wl)
+{
+	int i, ret;
+
+	ret = wl1251_check_nvs_mac(wl);
+	if (ret)
+		return ret;
+
+	/* MAC is stored in reverse order */
+	for (i = 0; i < ETH_ALEN; i++)
+		wl->nvs[NVS_OFF_MAC_DATA + i] = wl->mac_addr[ETH_ALEN - i - 1];
+
+	return 0;
+}
+
 static int wl1251_register_hw(struct wl1251 *wl)
 {
 	int ret;
@@ -1546,6 +1561,8 @@ int wl1251_init_ieee80211(struct wl1251 *wl)
 		static const u8 nokia_oui[3] = {0x00, 0x1f, 0xdf};
 		memcpy(wl->mac_addr, nokia_oui, 3);
 		get_random_bytes(wl->mac_addr + 3, 3);
+		if (!wl->use_eeprom)
+			wl1251_write_nvs_mac(wl);
 		wl1251_warning("MAC address in eeprom or nvs data is not valid");
 		wl1251_warning("Setting random MAC address: %pM", wl->mac_addr);
 	}
-- 
1.7.9.5

  parent reply	other threads:[~2017-11-09 23:38 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-24 16:52 [PATCH 0/6] wl1251: Fix MAC address for Nokia N900 Pali Rohár
2016-12-24 16:52 ` [PATCH 1/6] firmware: Add request_firmware_prefer_user() function Pali Rohár
2016-12-24 16:52 ` [PATCH 2/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data Pali Rohár
2016-12-25 20:15   ` Arend Van Spriel
2016-12-25 20:46     ` Pali Rohár
2016-12-26 15:43       ` Pavel Machek
2016-12-26 16:04         ` Pali Rohár
2016-12-26 16:35     ` Pavel Machek
2017-01-03 17:59       ` Luis R. Rodriguez
2017-05-03 19:02         ` Arend Van Spriel
2017-05-04  2:28           ` Luis R. Rodriguez
2017-05-12 20:55             ` Arend Van Spriel
2017-01-27  7:33   ` Kalle Valo
2017-01-27  8:58     ` Arend Van Spriel
2017-01-27  9:43     ` Pali Rohár
2017-01-27 10:05       ` Arend Van Spriel
2017-01-27 10:10         ` Pali Rohár
2017-01-27 10:19           ` Arend Van Spriel
2017-01-27 10:34             ` Pali Rohár
2017-01-27 11:49               ` Kalle Valo
2017-01-27 11:57                 ` Pali Rohár
2017-01-27 12:26                   ` Kalle Valo
2017-01-27 12:53                     ` Arend Van Spriel
2017-01-27 13:16                       ` Pali Rohár
2017-01-27 13:11                     ` Pali Rohár
2017-01-27 15:23                       ` Kalle Valo
2017-01-27 15:41                         ` Pali Rohár
2017-01-27 19:40                         ` Pavel Machek
2017-01-30 17:53                           ` Tony Lindgren
2017-01-30 18:03                             ` Pali Rohár
2017-01-31  6:35                             ` Kalle Valo
2017-01-31 15:59                               ` Tony Lindgren
2017-02-01  8:33                                 ` Pali Rohár
2017-02-01  9:35                                   ` Michal Kazior
2017-01-29 17:10                       ` Luis R. Rodriguez
2017-01-27 12:03           ` Pavel Machek
2016-12-24 16:52 ` [PATCH 3/6] wl1251: Update wl->nvs_len after wl->nvs is valid Pali Rohár
2016-12-24 18:02   ` Pavel Machek
2016-12-24 16:52 ` [PATCH 4/6] wl1251: Generate random MAC address only if driver does not have valid Pali Rohár
2016-12-24 18:08   ` Pavel Machek
2016-12-24 18:38     ` Pali Rohár
2016-12-24 16:53 ` [PATCH 5/6] wl1251: Parse and use MAC address from supplied NVS data Pali Rohár
2016-12-24 18:14   ` Pavel Machek
2016-12-24 18:40     ` Pali Rohár
2017-01-27  7:54   ` Kalle Valo
2016-12-24 16:53 ` [PATCH 6/6] wl1251: Set generated MAC address back to " Pali Rohár
2016-12-24 18:17   ` Pavel Machek
2016-12-24 18:44     ` Pali Rohár
2017-01-27  7:56   ` Kalle Valo
2017-01-27  9:05     ` Pali Rohár
2017-01-27  9:30       ` Kalle Valo
2017-11-09 23:38 ` [PATCH v2 0/6] wl1251: Fix MAC address for Nokia N900 Pali Rohár
2017-11-09 23:38   ` [PATCH v2 1/6] wl1251: Update wl->nvs_len after wl->nvs is valid Pali Rohár
2018-02-27 13:51     ` [v2,1/6] " Kalle Valo
2017-11-09 23:38   ` [PATCH v2 2/6] wl1251: Generate random MAC address only if driver does not have valid Pali Rohár
2017-11-09 23:38   ` [PATCH v2 3/6] wl1251: Parse and use MAC address from supplied NVS data Pali Rohár
2017-11-09 23:38   ` Pali Rohár [this message]
2017-11-09 23:38   ` [PATCH v2 5/6] firmware: Add request_firmware_prefer_user() function Pali Rohár
2017-11-10 20:26     ` Luis R. Rodriguez
2017-11-10 20:28       ` Luis R. Rodriguez
2017-11-10 21:08       ` Pali Rohár
2017-11-10 23:35         ` Luis R. Rodriguez
2017-11-09 23:38   ` [PATCH v2 6/6] wl1251: Use request_firmware_prefer_user() for loading NVS calibration data Pali Rohár
2018-01-02 19:23   ` [PATCH v2 0/6] wl1251: Fix MAC address for Nokia N900 Pali Rohár
2018-01-05  1:45     ` Luis R. Rodriguez
2018-01-27 14:14       ` Pali Rohár
2018-02-19  8:27         ` Kalle Valo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1510270708-14377-5-git-send-email-pali.rohar@gmail.com \
    --to=pali.rohar@gmail.com \
    --cc=aaro.koskinen@iki.fi \
    --cc=david.gnedt@davizone.at \
    --cc=gregkh@linuxfoundation.org \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=michal.kazior@tieto.com \
    --cc=ming.lei@canonical.com \
    --cc=netdev@vger.kernel.org \
    --cc=notasas@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=sre@kernel.org \
    --cc=tony@atomide.com \
    --cc=wagi@monom.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).