<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/microchip, branch linux-5.17.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.17.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.17.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-06-14T16:41:21Z</updated>
<entry>
<title>net: lan966x: check devm_of_phy_get() for -EDEFER_PROBE</title>
<updated>2022-06-14T16:41:21Z</updated>
<author>
<name>Michael Walle</name>
</author>
<published>2022-05-25T23:12:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73337dd9fbf33c84c9180e90498fa1d89fab1292'/>
<id>urn:sha1:73337dd9fbf33c84c9180e90498fa1d89fab1292</id>
<content type='text'>
[ Upstream commit b58cdd4388b1d8f5bee9f5a3897a7e780d1eaa48 ]

At the moment, if devm_of_phy_get() returns an error the serdes
simply isn't set. While it is bad to ignore an error in general, there
is a particular bug that network isn't working if the serdes driver is
compiled as a module. In that case, devm_of_phy_get() returns
-EDEFER_PROBE and the error is silently ignored.

The serdes is optional, it is not there if the port is using RGMII, in
which case devm_of_phy_get() returns -ENODEV. Rearrange the error
handling so that -ENODEV will be handled but other error codes will
abort the probing.

Fixes: d28d6d2e37d1 ("net: lan966x: add port module support")
Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Link: https://lore.kernel.org/r/20220525231239.1307298-1-michael@walle.cc
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: Fix assignment of the MAC address</title>
<updated>2022-05-25T07:59:07Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-05-13T18:00:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fb1d8618301089622677c0ca033b54f94a3aed0b'/>
<id>urn:sha1:fb1d8618301089622677c0ca033b54f94a3aed0b</id>
<content type='text'>
[ Upstream commit af8ca6eaa9b24a90484218e356f959a94bff22fa ]

The following two scenarios were failing for lan966x.
1. If the port had the address X and then trying to assign the same
   address, then the HW was just removing this address because first it
   tries to learn new address and then delete the old one. As they are
   the same the HW remove it.
2. If the port eth0 was assigned the same address as one of the other
   ports eth1 then when assigning back the address to eth0 then the HW
   was deleting the address of eth1.

The case 1. is fixed by checking if the port has already the same
address while case 2. is fixed by checking if the address is used by any
other port.

Fixes: e18aba8941b40b ("net: lan966x: add mactable support")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Link: https://lore.kernel.org/r/20220513180030.3076793-1-horatiu.vultur@microchip.com
Signed-off-by: Paolo Abeni &lt;pabeni@redhat.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: fix a couple off by one bugs</title>
<updated>2022-05-09T07:16:23Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2022-04-21T15:46:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6ca00c9306602c3029ef2e45376b49ec8a54703'/>
<id>urn:sha1:e6ca00c9306602c3029ef2e45376b49ec8a54703</id>
<content type='text'>
[ Upstream commit 9810c58c7051ae83e7ac326fca3daa823da6b778 ]

The lan966x-&gt;ports[] array has lan966x-&gt;num_phys_ports elements.  These
are assigned in lan966x_probe().  That means the &gt; comparison should be
changed to &gt;=.

The first off by one check is harmless but the second one could lead to
an out of bounds access and a crash.

Fixes: 5ccd66e01cbe ("net: lan966x: add support for interrupts from analyzer")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: Stop processing the MAC entry is port is wrong.</title>
<updated>2022-04-20T07:36:16Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-04-09T18:41:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9990f717d8344f8f9e1ea690f3b71661d289a724'/>
<id>urn:sha1:9990f717d8344f8f9e1ea690f3b71661d289a724</id>
<content type='text'>
[ Upstream commit 269219321eb7d7645a3122cf40a420c5dc655eb9 ]

Currently when getting a new MAC is learn, the HW generates an
interrupt. So then the SW will check the new entry and checks if it
arrived on a correct port. If it didn't just generate a warning.
But this could still crash the system. Therefore stop processing that
entry when an issue is seen.

Fixes: 5ccd66e01cbef8 ("net: lan966x: add support for interrupts from analyzer")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: Fix when a port's upper is changed.</title>
<updated>2022-04-20T07:36:16Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-04-09T18:41:42Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=069ed376c995978b11964275a920a61b49970298'/>
<id>urn:sha1:069ed376c995978b11964275a920a61b49970298</id>
<content type='text'>
[ Upstream commit d7a947d289dc205fc717c004dcebe33b15305afd ]

On lan966x it is not allowed to have foreign interfaces under a bridge
which already contains lan966x ports. So when a port leaves the bridge
it would call switchdev_bridge_port_unoffload which eventually will
notify the other ports that bridge left the vlan group but that is not
true because the bridge is still part of the vlan group.

Therefore when a port leaves the bridge, stop generating replays because
already the HW cleared after itself and the other ports don't need to do
anything else.

Fixes: cf2f60897e921e ("net: lan966x: Add support to offload the forwarding.")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: sparx5: uses, depends on BRIDGE or !BRIDGE</title>
<updated>2022-04-08T11:58:56Z</updated>
<author>
<name>Randy Dunlap</name>
</author>
<published>2022-03-30T01:20:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ae90ae9499d11963bb49ebc2a93e9ff1d366fa1f'/>
<id>urn:sha1:ae90ae9499d11963bb49ebc2a93e9ff1d366fa1f</id>
<content type='text'>
commit f9512d654f62604664251dedd437a22fe484974a upstream.

Fix build errors when BRIDGE=m and SPARX5_SWITCH=y:

riscv64-linux-ld: drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.o: in function `.L305':
sparx5_switchdev.c:(.text+0xdb0): undefined reference to `br_vlan_enabled'
riscv64-linux-ld: drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.o: in function `.L283':
sparx5_switchdev.c:(.text+0xee0): undefined reference to `br_vlan_enabled'

Fixes: 3cfa11bac9bb ("net: sparx5: add the basic sparx5 driver")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Cc: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Cc: Lars Povlsen &lt;lars.povlsen@microchip.com&gt;
Cc: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Cc: UNGLinuxDriver@microchip.com
Cc: Paolo Abeni &lt;pabeni@redhat.com&gt;
Link: https://lore.kernel.org/r/20220330012025.29560-1-rdunlap@infradead.org
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>net: sparx5: switchdev: fix possible NULL pointer dereference</title>
<updated>2022-04-08T11:58:34Z</updated>
<author>
<name>Zheng Yongjun</name>
</author>
<published>2022-03-26T08:12:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e7e1fff76c4c57688dc7d53a3b6212182d5628d0'/>
<id>urn:sha1:e7e1fff76c4c57688dc7d53a3b6212182d5628d0</id>
<content type='text'>
[ Upstream commit 0906f3a3df07835e37077d8971aac65347f2ed57 ]

As the possible failure of the allocation, devm_kzalloc() may return NULL
pointer.
Therefore, it should be better to check the 'db' in order to prevent
the dereference of NULL pointer.

Fixes: 10615907e9b51 ("net: sparx5: switchdev: adding frame DMA functionality")
Signed-off-by: Zheng Yongjun &lt;zhengyongjun3@huawei.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: sparx5: depends on PTP_1588_CLOCK_OPTIONAL</title>
<updated>2022-04-08T11:58:34Z</updated>
<author>
<name>Randy Dunlap</name>
</author>
<published>2022-03-26T18:02:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=05a62f47ec0410a61876b269308e301af63c862c'/>
<id>urn:sha1:05a62f47ec0410a61876b269308e301af63c862c</id>
<content type='text'>
[ Upstream commit 08be6b13db23f68146c600dd5adfd92e99d9ec6e ]

Fix build errors when PTP_1588_CLOCK=m and SPARX5_SWTICH=y.

arc-linux-ld: drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.o: in function `sparx5_get_ts_info':
sparx5_ethtool.c:(.text+0x146): undefined reference to `ptp_clock_index'
arc-linux-ld: sparx5_ethtool.c:(.text+0x146): undefined reference to `ptp_clock_index'
arc-linux-ld: drivers/net/ethernet/microchip/sparx5/sparx5_ptp.o: in function `sparx5_ptp_init':
sparx5_ptp.c:(.text+0xd56): undefined reference to `ptp_clock_register'
arc-linux-ld: sparx5_ptp.c:(.text+0xd56): undefined reference to `ptp_clock_register'
arc-linux-ld: drivers/net/ethernet/microchip/sparx5/sparx5_ptp.o: in function `sparx5_ptp_deinit':
sparx5_ptp.c:(.text+0xf30): undefined reference to `ptp_clock_unregister'
arc-linux-ld: sparx5_ptp.c:(.text+0xf30): undefined reference to `ptp_clock_unregister'
arc-linux-ld: sparx5_ptp.c:(.text+0xf38): undefined reference to `ptp_clock_unregister'
arc-linux-ld: sparx5_ptp.c:(.text+0xf46): undefined reference to `ptp_clock_unregister'
arc-linux-ld: drivers/net/ethernet/microchip/sparx5/sparx5_ptp.o:sparx5_ptp.c:(.text+0xf46): more undefined references to `ptp_clock_unregister' follow

Fixes: 3cfa11bac9bb ("net: sparx5: add the basic sparx5 driver")
Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Cc: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Cc: UNGLinuxDriver@microchip.com
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jakub Kicinski &lt;kuba@kernel.org&gt;
Cc: Paolo Abeni &lt;pabeni@redhat.com&gt;
Cc: Steen Hegelund &lt;steen.hegelund@microchip.com&gt;
Cc: Bjarni Jonasson &lt;bjarni.jonasson@microchip.com&gt;
Cc: Lars Povlsen &lt;lars.povlsen@microchip.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: sparx5: Add #include to remove warning</title>
<updated>2022-02-28T11:34:26Z</updated>
<author>
<name>Casper Andersson</name>
</author>
<published>2022-02-25T12:43:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90d4025285748448809701a44cf466a3f5443eaa'/>
<id>urn:sha1:90d4025285748448809701a44cf466a3f5443eaa</id>
<content type='text'>
main.h uses NUM_TARGETS from main_regs.h, but
the missing include never causes any errors
because everywhere main.h is (currently)
included, main_regs.h is included before.
But since it is dependent on main_regs.h
it should always be included.

Signed-off-by: Casper Andersson &lt;casper.casan@gmail.com&gt;
Reviewed-by: Joacim Zetterling &lt;joacim.zetterling@westermo.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: sparx5: Fix add vlan when invalid operation</title>
<updated>2022-02-25T12:54:48Z</updated>
<author>
<name>Casper Andersson</name>
</author>
<published>2022-02-25T10:15:16Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b3a34dc362c03215031b268fcc0b988e69490231'/>
<id>urn:sha1:b3a34dc362c03215031b268fcc0b988e69490231</id>
<content type='text'>
Check if operation is valid before changing any
settings in hardware. Otherwise it results in
changes being made despite it not being a valid
operation.

Fixes: 78eab33bb68b ("net: sparx5: add vlan support")

Signed-off-by: Casper Andersson &lt;casper.casan@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
