<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/Intel-BMC/linux.git/drivers/net/ethernet/mscc, branch dev-5.2</title>
<subtitle>Intel OpenBMC Linux kernel source tree (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.2</id>
<link rel='self' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/atom?h=dev-5.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/'/>
<updated>2019-08-09T15:51:45+00:00</updated>
<entry>
<title>ocelot: Cancel delayed work before wq destruction</title>
<updated>2019-08-09T15:51:45+00:00</updated>
<author>
<name>Claudiu Manoil</name>
<email>claudiu.manoil@nxp.com</email>
</author>
<published>2019-07-25T13:33:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=2dc83212e7af41cd87adfe8de3571fec8ca3edec'/>
<id>urn:sha1:2dc83212e7af41cd87adfe8de3571fec8ca3edec</id>
<content type='text'>
[ Upstream commit c5d139697d5d9ecf9c7cd92d7d7838a173508900 ]

Make sure the delayed work for stats update is not pending before
wq destruction.
This fixes the module unload path.
The issue is there since day 1.

Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")

Signed-off-by: Claudiu Manoil &lt;claudiu.manoil@nxp.com&gt;
Reviewed-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>ocelot: Dont allocate another multicast list, use __dev_mc_sync</title>
<updated>2019-05-22T19:08:43+00:00</updated>
<author>
<name>Claudiu Manoil</name>
<email>claudiu.manoil@nxp.com</email>
</author>
<published>2019-05-21T16:52:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=40a1578d631a8ac1cf0ef797c435114107747859'/>
<id>urn:sha1:40a1578d631a8ac1cf0ef797c435114107747859</id>
<content type='text'>
Doing kmalloc in atomic context is always an issue,
more so for a list that can grow significantly.
Turns out that the driver only uses the duplicated
list of multicast mac addresses to keep track of
what addresses to delete from h/w before committing
the new list from kernel to h/w back again via set_rx_mode,
every time this list gets updated by the kernel.
Given that the h/w knows how to add and delete mac addresses
based on the mac address value alone, __dev_mc_sync should be
the much better choice of kernel API for these operations
avoiding the considerable overhead of maintaining a duplicated
list in the driver.

Signed-off-by: Claudiu Manoil &lt;claudiu.manoil@nxp.com&gt;
Tested-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Acked-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ocelot: Clean up stats update deferred work</title>
<updated>2019-04-17T04:43:53+00:00</updated>
<author>
<name>Claudiu Manoil</name>
<email>claudiu.manoil@nxp.com</email>
</author>
<published>2019-04-16T14:51:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=1e1caa9735f90b5452fc48685c23552e56aa1920'/>
<id>urn:sha1:1e1caa9735f90b5452fc48685c23552e56aa1920</id>
<content type='text'>
This is preventive cleanup that may save troubles later.
No need to cancel repeateadly queued work if code is properly
refactored.
Don't let the ethtool -s process interfere with the stat workqueue
scheduling.

Signed-off-by: Claudiu Manoil &lt;claudiu.manoil@nxp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ocelot: Don't sleep in atomic context (irqs_disabled())</title>
<updated>2019-04-17T04:43:53+00:00</updated>
<author>
<name>Claudiu Manoil</name>
<email>claudiu.manoil@nxp.com</email>
</author>
<published>2019-04-16T14:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=a8fd48b50deaa20808bbf0f6685f6f1acba6a64c'/>
<id>urn:sha1:a8fd48b50deaa20808bbf0f6685f6f1acba6a64c</id>
<content type='text'>
Preemption disabled at:
 [&lt;ffff000008cabd54&gt;] dev_set_rx_mode+0x1c/0x38
 Call trace:
 [&lt;ffff00000808a5c0&gt;] dump_backtrace+0x0/0x3d0
 [&lt;ffff00000808a9a4&gt;] show_stack+0x14/0x20
 [&lt;ffff000008e6c0c0&gt;] dump_stack+0xac/0xe4
 [&lt;ffff0000080fe76c&gt;] ___might_sleep+0x164/0x238
 [&lt;ffff0000080fe890&gt;] __might_sleep+0x50/0x88
 [&lt;ffff0000082261e4&gt;] kmem_cache_alloc+0x17c/0x1d0
 [&lt;ffff000000ea0ae8&gt;] ocelot_set_rx_mode+0x108/0x188 [mscc_ocelot_common]
 [&lt;ffff000008cabcf0&gt;] __dev_set_rx_mode+0x58/0xa0
 [&lt;ffff000008cabd5c&gt;] dev_set_rx_mode+0x24/0x38

Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")

Signed-off-by: Claudiu Manoil &lt;claudiu.manoil@nxp.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2019-03-04T21:26:15+00:00</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2019-03-04T21:26:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=18a4d8bf250a33c015955f0dec27259780ef6448'/>
<id>urn:sha1:18a4d8bf250a33c015955f0dec27259780ef6448</id>
<content type='text'>
</content>
</entry>
<entry>
<title>net: mscc: Enable all ports in QSGMII</title>
<updated>2019-03-03T20:57:12+00:00</updated>
<author>
<name>Kavya Sree Kotagiri</name>
<email>kavyasree.kotagiri@microchip.com</email>
</author>
<published>2019-02-28T07:32:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=084e5bb16bd7dc2b551bbd9fb358bf73e03ee8d8'/>
<id>urn:sha1:084e5bb16bd7dc2b551bbd9fb358bf73e03ee8d8</id>
<content type='text'>
When Ocelot phy-mode is QSGMII, all 4 ports involved in
QSGMII shall be kept out of reset and
Tx lanes shall be enabled to pass the data.

Fixes: a556c76adc05 ("net: mscc: Add initial Ocelot switch support")
Signed-off-by: Kavya Sree Kotagiri &lt;kavyasree.kotagiri@microchip.com&gt;
Signed-off-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Co-developed-by: Steen Hegelund &lt;Steen.Hegelund@microchip.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Remove switchdev_ops</title>
<updated>2019-02-27T20:39:56+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2019-02-27T19:44:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=3d705f07d16b1d872c556b4ebf44deabeca0e9c1'/>
<id>urn:sha1:3d705f07d16b1d872c556b4ebf44deabeca0e9c1</id>
<content type='text'>
Now that we have converted all possible callers to using a switchdev
notifier for attributes we do not have a need for implementing
switchdev_ops anymore, and this can be removed from all drivers the
net_device structure.

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Reviewed-by: Ido Schimmel &lt;idosch@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: mscc: ocelot: Handle SWITCHDEV_PORT_ATTR_SET</title>
<updated>2019-02-27T20:39:56+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2019-02-27T19:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=56da64bc003bb9d39b69017074dd7909c72b68b1'/>
<id>urn:sha1:56da64bc003bb9d39b69017074dd7909c72b68b1</id>
<content type='text'>
Following patches will change the way we communicate setting a port's
attribute and use notifiers to perform those tasks.

Ocelot does not currently have an atomic notifier registered for
switchdev events, so we need to register one in order to deal with
atomic context SWITCHDEV_PORT_ATTR_SET events.

Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>mscc: ocelot: Implement ndo_get_port_parent_id()</title>
<updated>2019-02-06T22:16:12+00:00</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2019-02-06T17:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=751302c35ea0ae5aac9918e85199eb9f56a5afac'/>
<id>urn:sha1:751302c35ea0ae5aac9918e85199eb9f56a5afac</id>
<content type='text'>
Ocelot only supports SWITCHDEV_ATTR_ID_PORT_PARENT_ID as a valid
switchdev attribute getter, convert it to use ndo_get_port_parent_id()
and get rid of the switchdev_ops::switchdev_port_attr_get altogether.

Acked-by: Jiri Pirko &lt;jiri@mellanox.com&gt;
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: Add extack argument to ndo_fdb_add()</title>
<updated>2019-01-17T23:18:47+00:00</updated>
<author>
<name>Petr Machata</name>
<email>petrm@mellanox.com</email>
</author>
<published>2019-01-16T23:06:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/Intel-BMC/linux.git/commit/?id=87b0984ebfabafcfe959e52ca5cdab5eeb2d60c0'/>
<id>urn:sha1:87b0984ebfabafcfe959e52ca5cdab5eeb2d60c0</id>
<content type='text'>
Drivers may not be able to support certain FDB entries, and an error
code is insufficient to give clear hints as to the reasons of rejection.

In order to make it possible to communicate the rejection reason, extend
ndo_fdb_add() with an extack argument. Adapt the existing
implementations of ndo_fdb_add() to take the parameter (and ignore it).
Pass the extack parameter when invoking ndo_fdb_add() from rtnl_fdb_add().

Signed-off-by: Petr Machata &lt;petrm@mellanox.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
