<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/microchip, branch linux-5.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-10-24T07:57:15Z</updated>
<entry>
<title>eth: lan743x: reject extts for non-pci11x1x devices</title>
<updated>2022-10-24T07:57:15Z</updated>
<author>
<name>Raju Lakkaraju</name>
</author>
<published>2022-09-30T09:27:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d06ee1cbffc6a84ef28a65beec1a2c19b830c77a'/>
<id>urn:sha1:d06ee1cbffc6a84ef28a65beec1a2c19b830c77a</id>
<content type='text'>
[ Upstream commit cb4b12071a4b68df323c339f60805834246b3e9e ]

Remove PTP_PF_EXTTS support for non-PCI11x1x devices since they do not support
the PTP-IO Input event triggered timestamping mechanisms added

Fixes: 60942c397af6 ("net: lan743x: Add support for PTP-IO Event Input External Timestamp (extts)")
Signed-off-by: Raju Lakkaraju &lt;Raju.Lakkaraju@microchip.com&gt;
Reviewed-by: Horatiu Vultur &lt;horatiu.vultur@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: lan966x: improve error handle in lan966x_fdma_rx_get_frame()</title>
<updated>2022-09-08T09:23:59Z</updated>
<author>
<name>Dan Carpenter</name>
</author>
<published>2022-08-26T15:00:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8164b6c32f290609d98d78f0e4f4cf567b29d51e'/>
<id>urn:sha1:8164b6c32f290609d98d78f0e4f4cf567b29d51e</id>
<content type='text'>
[ Upstream commit 13a9d08c296228d18289de60b83792c586e1d073 ]

Don't just print a warning.  Clean up and return an error as well.

Fixes: c8349639324a ("net: lan966x: Add FDMA functionality")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Reviewed-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Link: https://lore.kernel.org/r/YwjgDm/SVd5c1tQU@kili
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: fix handling uneven length packets in manual extraction</title>
<updated>2022-09-08T09:23:59Z</updated>
<author>
<name>Casper Andersson</name>
</author>
<published>2022-08-25T08:49:55Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=615391126f5dbb966191355636bd665a035e006a'/>
<id>urn:sha1:615391126f5dbb966191355636bd665a035e006a</id>
<content type='text'>
[ Upstream commit 7498a457ecf7ff2c4d379360aa8f24566bb1543e ]

Packets that are not of length divisible by 4 (e.g. 77, 78, 79) would
have the checksum included up to next multiple of 4 (a 77 bytes packet
would have 3 bytes of ethernet checksum included). The check for the
value expects it in host (Little) endian.

Fixes: f3cad2611a77 ("net: sparx5: add hostmode with phylink support")
Signed-off-by: Casper Andersson &lt;casper.casan@gmail.com&gt;
Reviewed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Link: https://lore.kernel.org/r/20220825084955.684637-1-casper.casan@gmail.com
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 checking for return value of platform_get_irq_byname()</title>
<updated>2022-09-05T08:31:32Z</updated>
<author>
<name>Li Qiong</name>
</author>
<published>2022-08-12T03:09:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d462a681d7d98ecb1b48605f6625802acd85d31'/>
<id>urn:sha1:0d462a681d7d98ecb1b48605f6625802acd85d31</id>
<content type='text'>
[ Upstream commit 40b4ac880e21d917da7f3752332fa57564a4c202 ]

The platform_get_irq_byname() returns non-zero IRQ number
or negative error number. "if (irq)" always true, chang it
to "if (irq &gt; 0)"

Signed-off-by: Li Qiong &lt;liqiong@nfschina.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: Fix usage of lan966x-&gt;mac_lock when used by FDB</title>
<updated>2022-07-19T03:00:00Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-07-14T19:40:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=675c807ae26b267233b97cd5006979a6bb8d54d4'/>
<id>urn:sha1:675c807ae26b267233b97cd5006979a6bb8d54d4</id>
<content type='text'>
When the SW bridge was trying to add/remove entries to/from HW, the
access to HW was not protected by any lock. In this way, it was
possible to have race conditions.
Fix this by using the lan966x-&gt;mac_lock to protect parallel access to HW
for this cases.

Fixes: 25ee9561ec622 ("net: lan966x: More MAC table functionality")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: Fix usage of lan966x-&gt;mac_lock inside lan966x_mac_irq_handler</title>
<updated>2022-07-19T03:00:00Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-07-14T19:40:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c1924684369762b112428a333ad00eac6ca89d96'/>
<id>urn:sha1:c1924684369762b112428a333ad00eac6ca89d96</id>
<content type='text'>
The problem with this spin lock is that it was just protecting the list
of the MAC entries in SW and not also the access to the MAC entries in HW.
Because the access to HW is indirect, then it could happen to have race
conditions.
For example when SW introduced an entry in MAC table and the irq mac is
trying to read something from the MAC.
Update such that also the access to MAC entries in HW is protected by
this lock.

Fixes: 5ccd66e01cbef ("net: lan966x: add support for interrupts from analyzer")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: Fix usage of lan966x-&gt;mac_lock when entry is removed</title>
<updated>2022-07-19T03:00:00Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-07-14T19:40:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=99343cfa4f7560abf933fff7ab3ea58a6905c917'/>
<id>urn:sha1:99343cfa4f7560abf933fff7ab3ea58a6905c917</id>
<content type='text'>
To remove an entry to the MAC table, it is required first to setup the
entry and then issue a command for the MAC to forget the entry.
So if it happens for two threads to remove simultaneously an entry
in MAC table then it would be a race condition.
Fix this by using lan966x-&gt;mac_lock to protect the HW access.

Fixes: e18aba8941b40 ("net: lan966x: add mactable support")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: Fix usage of lan966x-&gt;mac_lock when entry is added</title>
<updated>2022-07-19T02:59:59Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-07-14T19:40:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43243bb3195b0dc27741679471e23baed1efe98e'/>
<id>urn:sha1:43243bb3195b0dc27741679471e23baed1efe98e</id>
<content type='text'>
To add an entry to the MAC table, it is required first to setup the
entry and then issue a command for the MAC to learn the entry.
So if it happens for two threads to add simultaneously an entry in MAC
table then it would be a race condition.
Fix this by using lan966x-&gt;mac_lock to protect the HW access.

Fixes: fc0c3fe7486f2 ("net: lan966x: Add function lan966x_mac_ip_learn()")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: Fix taking rtnl_lock while holding spin_lock</title>
<updated>2022-07-19T02:59:59Z</updated>
<author>
<name>Horatiu Vultur</name>
</author>
<published>2022-07-14T19:40:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=45533a534a45cb12c20c81615d17306176cb1c57'/>
<id>urn:sha1:45533a534a45cb12c20c81615d17306176cb1c57</id>
<content type='text'>
When the HW deletes an entry in MAC table then it generates an
interrupt. The SW will go through it's own list of MAC entries and if it
is not found then it would notify the listeners about this. The problem
is that when the SW will go through it's own list it would take a spin
lock(lan966x-&gt;mac_lock) and when it notifies that the entry is deleted.
But to notify the listeners it taking the rtnl_lock which is illegal.

This is fixed by instead of notifying right away that the entry is
deleted, move the entry on a temp list and once, it checks all the
entries then just notify that the entries from temp list are deleted.

Fixes: 5ccd66e01cbe ("net: lan966x: add support for interrupts from analyzer")
Signed-off-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Reviewed-by: Vladimir Oltean &lt;vladimir.oltean@nxp.com&gt;
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: lan966x: hardcode the number of external ports</title>
<updated>2022-07-06T00:52:08Z</updated>
<author>
<name>Michael Walle</name>
</author>
<published>2022-07-04T15:36:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e6fa930f73a15238f3cb0c204e2f786c919b815c'/>
<id>urn:sha1:e6fa930f73a15238f3cb0c204e2f786c919b815c</id>
<content type='text'>
Instead of counting the child nodes in the device tree, hardcode the
number of ports in the driver itself.  The counting won't work at all
if an ethernet port is marked as disabled, e.g. because it is not
connected on the board at all.

It turns out that the LAN9662 and LAN9668 use the same switching IP
with the same synthesis parameters. The only difference is that the
output ports are not connected. Thus, we can just hardcode the
number of physical ports to 8.

Fixes: db8bcaad5393 ("net: lan966x: add the basic lan966x driver")
Signed-off-by: Michael Walle &lt;michael@walle.cc&gt;
Reviewed-by: Horatiu Vultur &lt;horatiu.vultur@microchip.com&gt;
Link: https://lore.kernel.org/r/20220704153654.1167886-1-michael@walle.cc
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
</feed>
