From: Kalle Valo <kvalo@codeaurora.org>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: Ming Lei <ming.lei@canonical.com>,
"Luis R. Rodriguez" <mcgrof@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.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>,
linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [PATCH 5/6] wl1251: Parse and use MAC address from supplied NVS data
Date: Fri, 27 Jan 2017 09:54:34 +0200 [thread overview]
Message-ID: <87poj9ndj9.fsf@codeaurora.org> (raw)
In-Reply-To: <1482598381-16513-6-git-send-email-pali.rohar@gmail.com> ("Pali \=\?utf-8\?Q\?Roh\=C3\=A1r\=22's\?\= message of "Sat, 24 Dec 2016 17:53:00 +0100")
Pali Roh=C3=A1r <pali.rohar@gmail.com> writes:
> This patch implements parsing MAC address from NVS data which are sent to
> wl1251 chip. Calibration NVS data could contain valid MAC address and it
> will be used instead randomly generated.
>
> This patch also move code for requesting NVS data from userspace to driver
> initialization code to make sure that NVS data will be there at time when
> permanent MAC address is needed.
>
> Calibration NVS data for wl1251 are model specific. Every one device with
> wl1251 chip should have been calibrated in factory and needs to provide o=
wn
> calibration data.
>
> Default example wl1251-nvs.bin data found in linux-firmware repository and
> contains MAC address 00:00:20:07:03:09. So this MAC address is marked as
> invalid as it is not real device specific address, just example one.
>
> Format of calibration NVS data can be found at:
> http://notaz.gp2x.de/misc/pnd/wl1251/nvs_map.txt
>
> Signed-off-by: Pali Roh=C3=A1r <pali.rohar@gmail.com>
[...]
> +static int wl1251_read_nvs_mac(struct wl1251 *wl)
> +{
> + u8 mac[ETH_ALEN];
> + int i;
> +
> + if (wl->nvs_len < 0x24)
> + return -ENODATA;
> +
> + /* length is 2 and data address is 0x546c (mask is 0xfffe) */
> + if (wl->nvs[0x19] !=3D 2 || wl->nvs[0x1a] !=3D 0x6d || wl->nvs[0x1b] !=
=3D 0x54)
> + return -EINVAL;
> +
> + /* MAC is stored in reverse order */
> + for (i =3D 0; i < ETH_ALEN; i++)
> + mac[i] =3D wl->nvs[0x1c + ETH_ALEN - i - 1];
No magic numbers, please. Replace all nvs offsets with proper defines to
make the code more readable.
--=20
Kalle Valo
WARNING: multiple messages have this Message-ID (diff)
From: Kalle Valo <kvalo@codeaurora.org>
To: "Pali Rohár" <pali.rohar@gmail.com>
Cc: Ming Lei <ming.lei@canonical.com>,
"Luis R. Rodriguez" <mcgrof@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.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>,
linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [PATCH 5/6] wl1251: Parse and use MAC address from supplied NVS data
Date: Fri, 27 Jan 2017 09:54:34 +0200 [thread overview]
Message-ID: <87poj9ndj9.fsf@codeaurora.org> (raw)
In-Reply-To: <1482598381-16513-6-git-send-email-pali.rohar@gmail.com> ("Pali \=\?utf-8\?Q\?Roh\=C3\=A1r\=22's\?\= message of "Sat, 24 Dec 2016 17:53:00 +0100")
Pali Rohár <pali.rohar@gmail.com> writes:
> This patch implements parsing MAC address from NVS data which are sent to
> wl1251 chip. Calibration NVS data could contain valid MAC address and it
> will be used instead randomly generated.
>
> This patch also move code for requesting NVS data from userspace to driver
> initialization code to make sure that NVS data will be there at time when
> permanent MAC address is needed.
>
> Calibration NVS data for wl1251 are model specific. Every one device with
> wl1251 chip should have been calibrated in factory and needs to provide own
> calibration data.
>
> Default example wl1251-nvs.bin data found in linux-firmware repository and
> contains MAC address 00:00:20:07:03:09. So this MAC address is marked as
> invalid as it is not real device specific address, just example one.
>
> Format of calibration NVS data can be found at:
> http://notaz.gp2x.de/misc/pnd/wl1251/nvs_map.txt
>
> Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
[...]
> +static int wl1251_read_nvs_mac(struct wl1251 *wl)
> +{
> + u8 mac[ETH_ALEN];
> + int i;
> +
> + if (wl->nvs_len < 0x24)
> + return -ENODATA;
> +
> + /* length is 2 and data address is 0x546c (mask is 0xfffe) */
> + if (wl->nvs[0x19] != 2 || wl->nvs[0x1a] != 0x6d || wl->nvs[0x1b] != 0x54)
> + return -EINVAL;
> +
> + /* MAC is stored in reverse order */
> + for (i = 0; i < ETH_ALEN; i++)
> + mac[i] = wl->nvs[0x1c + ETH_ALEN - i - 1];
No magic numbers, please. Replace all nvs offsets with proper defines to
make the code more readable.
--
Kalle Valo
next prev parent reply other threads:[~2017-01-27 7:54 UTC|newest]
Thread overview: 88+ 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 ` 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 ` 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-24 16:52 ` 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-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-04 2:28 ` Luis R. Rodriguez
2017-05-12 20:55 ` Arend Van Spriel
2017-01-27 7:33 ` Kalle Valo
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:49 ` Kalle Valo
2017-01-27 11:57 ` Pali Rohár
2017-01-27 12:26 ` Kalle Valo
2017-01-27 12:26 ` Kalle Valo
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: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 6:35 ` Kalle Valo
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-02-01 9:35 ` Michal Kazior
2017-01-29 17:10 ` Luis R. Rodriguez
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 16:52 ` 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 16:53 ` 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 [this message]
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 7:56 ` Kalle Valo
2017-01-27 9:05 ` Pali Rohár
2017-01-27 9:30 ` Kalle Valo
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
2018-02-27 13:51 ` 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 ` [PATCH v2 4/6] wl1251: Set generated MAC address back to " Pali Rohár
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
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=87poj9ndj9.fsf@codeaurora.org \
--to=kvalo@codeaurora.org \
--cc=aaro.koskinen@iki.fi \
--cc=david.gnedt@davizone.at \
--cc=gregkh@linuxfoundation.org \
--cc=ivo.g.dimitrov.75@gmail.com \
--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=pali.rohar@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.