* [PATCH wireless-next] wifi: rt2x00: check for of_get_mac_address error
@ 2026-04-27 5:16 Rosen Penev
2026-04-27 7:32 ` Stanislaw Gruszka
0 siblings, 1 reply; 4+ messages in thread
From: Rosen Penev @ 2026-04-27 5:16 UTC (permalink / raw)
To: linux-wireless; +Cc: Stanislaw Gruszka, open list
is_valid_ether_addr is already a check of of_get_mac_address, in which
case it returns an error if false. Just set a random MAC on all errors
except for EPROBE_DEFER.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
index 2d778ea5f1b5..51b836343f07 100644
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
@@ -991,7 +991,7 @@ int rt2x00lib_set_mac_address(struct rt2x00_dev *rt2x00dev, u8 *eeprom_mac_addr)
if (ret == -EPROBE_DEFER)
return ret;
- if (!is_valid_ether_addr(eeprom_mac_addr)) {
+ if (ret) {
eth_random_addr(eeprom_mac_addr);
rt2x00_eeprom_dbg(rt2x00dev, "MAC: %pM\n", eeprom_mac_addr);
}
--
2.54.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH wireless-next] wifi: rt2x00: check for of_get_mac_address error
2026-04-27 5:16 [PATCH wireless-next] wifi: rt2x00: check for of_get_mac_address error Rosen Penev
@ 2026-04-27 7:32 ` Stanislaw Gruszka
2026-04-27 10:45 ` Johannes Berg
0 siblings, 1 reply; 4+ messages in thread
From: Stanislaw Gruszka @ 2026-04-27 7:32 UTC (permalink / raw)
To: Rosen Penev; +Cc: linux-wireless, open list
On Sun, Apr 26, 2026 at 10:16:52PM -0700, Rosen Penev wrote:
> is_valid_ether_addr is already a check of of_get_mac_address, in which
> case it returns an error if false. Just set a random MAC on all errors
> except for EPROBE_DEFER.
>
> Signed-off-by: Rosen Penev <rosenp@gmail.com>
Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
> ---
> drivers/net/wireless/ralink/rt2x00/rt2x00dev.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
> index 2d778ea5f1b5..51b836343f07 100644
> --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
> +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
> @@ -991,7 +991,7 @@ int rt2x00lib_set_mac_address(struct rt2x00_dev *rt2x00dev, u8 *eeprom_mac_addr)
> if (ret == -EPROBE_DEFER)
> return ret;
>
> - if (!is_valid_ether_addr(eeprom_mac_addr)) {
> + if (ret) {
> eth_random_addr(eeprom_mac_addr);
> rt2x00_eeprom_dbg(rt2x00dev, "MAC: %pM\n", eeprom_mac_addr);
> }
> --
> 2.54.0
>
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH wireless-next] wifi: rt2x00: check for of_get_mac_address error
2026-04-27 7:32 ` Stanislaw Gruszka
@ 2026-04-27 10:45 ` Johannes Berg
2026-04-27 10:54 ` Stanislaw Gruszka
0 siblings, 1 reply; 4+ messages in thread
From: Johannes Berg @ 2026-04-27 10:45 UTC (permalink / raw)
To: Stanislaw Gruszka, Rosen Penev; +Cc: linux-wireless, open list
On Mon, 2026-04-27 at 09:32 +0200, Stanislaw Gruszka wrote:
> On Sun, Apr 26, 2026 at 10:16:52PM -0700, Rosen Penev wrote:
> > is_valid_ether_addr is already a check of of_get_mac_address, in which
> > case it returns an error if false. Just set a random MAC on all errors
> > except for EPROBE_DEFER.
> >
> > Signed-off-by: Rosen Penev <rosenp@gmail.com>
> Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
Are you sure? I just randomly checked one caller to see what the
*eeprom_mac_addr would contain, and I see
mac = rt2x00_eeprom_addr(rt2x00dev, EEPROM_MAC_ADDR_0);
rt2x00lib_set_mac_address(rt2x00dev, mac);
so that case assumes it can get it from EEPROM and override with OF, but
if OF fails then it would still use the EEPROM address as long as it's
valid ...
johannes
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH wireless-next] wifi: rt2x00: check for of_get_mac_address error
2026-04-27 10:45 ` Johannes Berg
@ 2026-04-27 10:54 ` Stanislaw Gruszka
0 siblings, 0 replies; 4+ messages in thread
From: Stanislaw Gruszka @ 2026-04-27 10:54 UTC (permalink / raw)
To: Johannes Berg; +Cc: Rosen Penev, linux-wireless, open list
On Mon, Apr 27, 2026 at 12:45:14PM +0200, Johannes Berg wrote:
> On Mon, 2026-04-27 at 09:32 +0200, Stanislaw Gruszka wrote:
> > On Sun, Apr 26, 2026 at 10:16:52PM -0700, Rosen Penev wrote:
> > > is_valid_ether_addr is already a check of of_get_mac_address, in which
> > > case it returns an error if false. Just set a random MAC on all errors
> > > except for EPROBE_DEFER.
> > >
> > > Signed-off-by: Rosen Penev <rosenp@gmail.com>
> > Acked-by: Stanislaw Gruszka <stf_xl@wp.pl>
>
> Are you sure? I just randomly checked one caller to see what the
> *eeprom_mac_addr would contain, and I see
>
> mac = rt2x00_eeprom_addr(rt2x00dev, EEPROM_MAC_ADDR_0);
> rt2x00lib_set_mac_address(rt2x00dev, mac);
>
> so that case assumes it can get it from EEPROM and override with OF, but
> if OF fails then it would still use the EEPROM address as long as it's
> valid ...
You have right, please drop the patch.
BTW, the code should be changed to move getting the address from OF
out of _set routine.
Regards
Stanislaw
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-04-27 10:54 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-27 5:16 [PATCH wireless-next] wifi: rt2x00: check for of_get_mac_address error Rosen Penev
2026-04-27 7:32 ` Stanislaw Gruszka
2026-04-27 10:45 ` Johannes Berg
2026-04-27 10:54 ` Stanislaw Gruszka
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox