2017-07-04 06:58:00

by Reizer, Eyal

[permalink] [raw]
Subject: [v2] wlcore: add missing nvs file name info for wilink8

When working with wl18xx the nvs file is used for defining an alternate
mac address and override the default mac address that is stored inside
the wl18xx chip.

The following commits:
c815fde wlcore: spi: Populate config firmware data
d776fc8 wlcore: sdio: Populate config firmware data

Populated the nvs entry for wilink6 and wilink7 only while it is=20
still needed for wilink8 as well.=20
This broke user space backward compatibility when upgrading from older=20
kernels, as the alternate mac address would not be read from the nvs that i=
s=20
already present in the file system (lib/firmware/ti-connectivity/wl1271-nvs=
.bin)=20
causing mac address change of the wlan interface.

This patch fix this and update the structure field with the same default nv=
s file=20
name that has been used before.

Cc: stable <[email protected]>
Signed-off-by: Eyal Reizer <[email protected]>
---
drivers/net/wireless/ti/wlcore/sdio.c | 1 +
drivers/net/wireless/ti/wlcore/spi.c | 1 +
2 files changed, 2 insertions(+)

diff --git a/drivers/net/wireless/ti/wlcore/sdio.c b/drivers/net/wireless/t=
i/wlcore/sdio.c
index 2fb3871..f8a1fea 100644
--- a/drivers/net/wireless/ti/wlcore/sdio.c
+++ b/drivers/net/wireless/ti/wlcore/sdio.c
@@ -230,6 +230,7 @@ static const struct wilink_family_data wl128x_data =3D =
{
static const struct wilink_family_data wl18xx_data =3D {
.name =3D "wl18xx",
.cfg_name =3D "ti-connectivity/wl18xx-conf.bin",
+ .nvs_name =3D "ti-connectivity/wl1271-nvs.bin",
};
=20
static const struct of_device_id wlcore_sdio_of_match_table[] =3D {
diff --git a/drivers/net/wireless/ti/wlcore/spi.c b/drivers/net/wireless/ti=
/wlcore/spi.c
index fdabb92..62ce54a 100644
--- a/drivers/net/wireless/ti/wlcore/spi.c
+++ b/drivers/net/wireless/ti/wlcore/spi.c
@@ -92,6 +92,7 @@ static const struct wilink_family_data wl128x_data =3D {
static const struct wilink_family_data wl18xx_data =3D {
.name =3D "wl18xx",
.cfg_name =3D "ti-connectivity/wl18xx-conf.bin",
+ .nvs_name =3D "ti-connectivity/wl1271-nvs.bin",
};
=20
struct wl12xx_spi_glue {
--=20
2.7.4


2017-07-04 08:19:21

by Tony Lindgren

[permalink] [raw]
Subject: Re: [v2] wlcore: add missing nvs file name info for wilink8

* Reizer, Eyal <[email protected]> [170703 23:58]:
> When working with wl18xx the nvs file is used for defining an alternate
> mac address and override the default mac address that is stored inside
> the wl18xx chip.
>
> The following commits:
> c815fde wlcore: spi: Populate config firmware data
> d776fc8 wlcore: sdio: Populate config firmware data
>
> Populated the nvs entry for wilink6 and wilink7 only while it is
> still needed for wilink8 as well.
> This broke user space backward compatibility when upgrading from older
> kernels, as the alternate mac address would not be read from the nvs that is
> already present in the file system (lib/firmware/ti-connectivity/wl1271-nvs.bin)
> causing mac address change of the wlan interface.
>
> This patch fix this and update the structure field with the same default nvs file
> name that has been used before.

I think more checks on the nvs file being used are needed to avoid other
nasty issues, see the comments I just made in the earlier version of this
patch.

Regards,

Tony

2017-07-04 08:47:53

by Reizer, Eyal

[permalink] [raw]
Subject: RE: [v2] wlcore: add missing nvs file name info for wilink8

Hi Tony,

> > When working with wl18xx the nvs file is used for defining an alternate
> > mac address and override the default mac address that is stored inside
> > the wl18xx chip.
> >
> > The following commits:
> > c815fde wlcore: spi: Populate config firmware data
> > d776fc8 wlcore: sdio: Populate config firmware data
> >
> > Populated the nvs entry for wilink6 and wilink7 only while it is
> > still needed for wilink8 as well.
> > This broke user space backward compatibility when upgrading from older
> > kernels, as the alternate mac address would not be read from the nvs th=
at is
> > already present in the file system (lib/firmware/ti-connectivity/wl1271=
-
> nvs.bin)
> > causing mac address change of the wlan interface.
> >
> > This patch fix this and update the structure field with the same defaul=
t nvs
> file
> > name that has been used before.
>=20
> I think more checks on the nvs file being used are needed to avoid other
> nasty issues, see the comments I just made in the earlier version of this
> patch.
>=20
Just replied on your comments for v1

Best Regards,
Eyal