* [PATCH net] net: dsa: microchip: set the correct number of ports
@ 2020-07-02 9:44 Codrin Ciubotariu
2020-07-02 13:50 ` Andrew Lunn
2020-07-02 21:27 ` David Miller
0 siblings, 2 replies; 4+ messages in thread
From: Codrin Ciubotariu @ 2020-07-02 9:44 UTC (permalink / raw)
To: netdev, linux-kernel
Cc: woojung.huh, UNGLinuxDriver, andrew, vivien.didelot, f.fainelli,
davem, kuba, Codrin Ciubotariu
The number of ports is incorrectly set to the maximum available for a DSA
switch. Even if the extra ports are not used, this causes some functions
to be called later, like port_disable() and port_stp_state_set(). If the
driver doesn't check the port index, it will end up modifying unknown
registers.
Fixes: b987e98e50ab ("dsa: add DSA switch driver for Microchip KSZ9477")
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
---
drivers/net/dsa/microchip/ksz8795.c | 3 +++
drivers/net/dsa/microchip/ksz9477.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/drivers/net/dsa/microchip/ksz8795.c b/drivers/net/dsa/microchip/ksz8795.c
index 47d65b77caf7..7c17b0f705ec 100644
--- a/drivers/net/dsa/microchip/ksz8795.c
+++ b/drivers/net/dsa/microchip/ksz8795.c
@@ -1268,6 +1268,9 @@ static int ksz8795_switch_init(struct ksz_device *dev)
return -ENOMEM;
}
+ /* set the real number of ports */
+ dev->ds->num_ports = dev->port_cnt;
+
return 0;
}
diff --git a/drivers/net/dsa/microchip/ksz9477.c b/drivers/net/dsa/microchip/ksz9477.c
index 9a51b8a4de5d..8d15c3016024 100644
--- a/drivers/net/dsa/microchip/ksz9477.c
+++ b/drivers/net/dsa/microchip/ksz9477.c
@@ -1588,6 +1588,9 @@ static int ksz9477_switch_init(struct ksz_device *dev)
return -ENOMEM;
}
+ /* set the real number of ports */
+ dev->ds->num_ports = dev->port_cnt;
+
return 0;
}
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net] net: dsa: microchip: set the correct number of ports
2020-07-02 9:44 [PATCH net] net: dsa: microchip: set the correct number of ports Codrin Ciubotariu
@ 2020-07-02 13:50 ` Andrew Lunn
2020-07-02 15:16 ` Codrin.Ciubotariu
2020-07-02 21:27 ` David Miller
1 sibling, 1 reply; 4+ messages in thread
From: Andrew Lunn @ 2020-07-02 13:50 UTC (permalink / raw)
To: Codrin Ciubotariu
Cc: netdev, linux-kernel, woojung.huh, UNGLinuxDriver, vivien.didelot,
f.fainelli, davem, kuba
On Thu, Jul 02, 2020 at 12:44:50PM +0300, Codrin Ciubotariu wrote:
> The number of ports is incorrectly set to the maximum available for a DSA
> switch. Even if the extra ports are not used, this causes some functions
> to be called later, like port_disable() and port_stp_state_set(). If the
> driver doesn't check the port index, it will end up modifying unknown
> registers.
>
> Fixes: b987e98e50ab ("dsa: add DSA switch driver for Microchip KSZ9477")
> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Thanks for the minimum patch.
If you wait about a week, net will get merged into net-next. You can
then submit a refactoring patch based on your previous version.
Andrew
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH net] net: dsa: microchip: set the correct number of ports
2020-07-02 13:50 ` Andrew Lunn
@ 2020-07-02 15:16 ` Codrin.Ciubotariu
0 siblings, 0 replies; 4+ messages in thread
From: Codrin.Ciubotariu @ 2020-07-02 15:16 UTC (permalink / raw)
To: andrew
Cc: netdev, linux-kernel, Woojung.Huh, UNGLinuxDriver, vivien.didelot,
f.fainelli, davem, kuba
On 02.07.2020 16:50, Andrew Lunn wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>
> On Thu, Jul 02, 2020 at 12:44:50PM +0300, Codrin Ciubotariu wrote:
>> The number of ports is incorrectly set to the maximum available for a DSA
>> switch. Even if the extra ports are not used, this causes some functions
>> to be called later, like port_disable() and port_stp_state_set(). If the
>> driver doesn't check the port index, it will end up modifying unknown
>> registers.
>>
>> Fixes: b987e98e50ab ("dsa: add DSA switch driver for Microchip KSZ9477")
>> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
>
> Reviewed-by: Andrew Lunn <andrew@lunn.ch>
>
> Thanks for the minimum patch.
>
> If you wait about a week, net will get merged into net-next. You can
> then submit a refactoring patch based on your previous version.
>
> Andrew
>
Sure thing. This small version does the job, so I will see about the
refactoring, maybe I will group it with something else...
Thank you for your review!
Best regards,
Codrin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH net] net: dsa: microchip: set the correct number of ports
2020-07-02 9:44 [PATCH net] net: dsa: microchip: set the correct number of ports Codrin Ciubotariu
2020-07-02 13:50 ` Andrew Lunn
@ 2020-07-02 21:27 ` David Miller
1 sibling, 0 replies; 4+ messages in thread
From: David Miller @ 2020-07-02 21:27 UTC (permalink / raw)
To: codrin.ciubotariu
Cc: netdev, linux-kernel, woojung.huh, UNGLinuxDriver, andrew,
vivien.didelot, f.fainelli, kuba
From: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Date: Thu, 2 Jul 2020 12:44:50 +0300
> The number of ports is incorrectly set to the maximum available for a DSA
> switch. Even if the extra ports are not used, this causes some functions
> to be called later, like port_disable() and port_stp_state_set(). If the
> driver doesn't check the port index, it will end up modifying unknown
> registers.
>
> Fixes: b987e98e50ab ("dsa: add DSA switch driver for Microchip KSZ9477")
> Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Applied and queued up for -stable, thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-07-02 21:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-07-02 9:44 [PATCH net] net: dsa: microchip: set the correct number of ports Codrin Ciubotariu
2020-07-02 13:50 ` Andrew Lunn
2020-07-02 15:16 ` Codrin.Ciubotariu
2020-07-02 21:27 ` David Miller
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).