<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/ti, branch linux-4.4.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.4.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2021-11-26T10:58:41Z</updated>
<entry>
<title>net: davinci_emac: Fix interrupt pacing disable</title>
<updated>2021-11-26T10:58:41Z</updated>
<author>
<name>Maxim Kiselev</name>
</author>
<published>2021-11-01T15:23:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ababb7d9776146eb8c8a85b739abe839eb009623'/>
<id>urn:sha1:ababb7d9776146eb8c8a85b739abe839eb009623</id>
<content type='text'>
[ Upstream commit d52bcb47bdf971a59a2467975d2405fcfcb2fa19 ]

This patch allows to use 0 for `coal-&gt;rx_coalesce_usecs` param to
disable rx irq coalescing.

Previously we could enable rx irq coalescing via ethtool
(For ex: `ethtool -C eth0 rx-usecs 2000`) but we couldn't disable
it because this part rejects 0 value:

       if (!coal-&gt;rx_coalesce_usecs)
               return -EINVAL;

Fixes: 84da2658a619 ("TI DaVinci EMAC : Implement interrupt pacing functionality.")
Signed-off-by: Maxim Kiselev &lt;bigunclemax@gmail.com&gt;
Reviewed-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Link: https://lore.kernel.org/r/20211101152343.4193233-1-bigunclemax@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: ti: fix UAF in tlan_remove_one</title>
<updated>2021-07-28T07:12:34Z</updated>
<author>
<name>Pavel Skripkin</name>
</author>
<published>2021-07-09T14:58:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a18a8d9cfbb112ad72e625372849adc3986fd6bf'/>
<id>urn:sha1:a18a8d9cfbb112ad72e625372849adc3986fd6bf</id>
<content type='text'>
commit 0336f8ffece62f882ab3012820965a786a983f70 upstream.

priv is netdev private data and it cannot be
used after free_netdev() call. Using priv after free_netdev()
can cause UAF bug. Fix it by moving free_netdev() at the end of the
function.

Fixes: 1e0a8b13d355 ("tlan: cancel work at remove path")
Signed-off-by: Pavel Skripkin &lt;paskripkin@gmail.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>net: netcp: Fix an error message</title>
<updated>2021-06-03T06:22:08Z</updated>
<author>
<name>Christophe JAILLET</name>
</author>
<published>2021-05-08T05:38:22Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6bf627dbf0f4decd8e188c6952d4932b4a53636b'/>
<id>urn:sha1:6bf627dbf0f4decd8e188c6952d4932b4a53636b</id>
<content type='text'>
[ Upstream commit ddb6e00f8413e885ff826e32521cff7924661de0 ]

'ret' is known to be 0 here.
The expected error code is stored in 'tx_pipe-&gt;dma_queue', so use it
instead.

While at it, switch from %d to %pe which is more user friendly.

Fixes: 84640e27f230 ("net: netcp: Add Keystone NetCP core ethernet driver")
Signed-off-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&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: davinci_emac: Fix incorrect masking of tx and rx error channel</title>
<updated>2021-05-22T08:38:26Z</updated>
<author>
<name>Colin Ian King</name>
</author>
<published>2021-04-20T17:16:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=24f03b88d1226310e6f3630d700d184db957e64a'/>
<id>urn:sha1:24f03b88d1226310e6f3630d700d184db957e64a</id>
<content type='text'>
[ Upstream commit d83b8aa5207d81f9f6daec9888390f079cc5db3f ]

The bit-masks used for the TXERRCH and RXERRCH (tx and rx error channels)
are incorrect and always lead to a zero result. The mask values are
currently the incorrect post-right shifted values, fix this by setting
them to the currect values.

(I double checked these against the TMS320TCI6482 data sheet, section
5.30, page 127 to ensure I had the correct mask values for the TXERRCH
and RXERRCH fields in the MACSTATUS register).

Addresses-Coverity: ("Operands don't affect result")
Fixes: a6286ee630f6 ("net: Add TI DaVinci EMAC driver")
Signed-off-by: Colin Ian King &lt;colin.king@canonical.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: ethernet: davinci_emac: Fix platform_data overwrite</title>
<updated>2020-05-10T08:26:34Z</updated>
<author>
<name>Neil Armstrong</name>
</author>
<published>2016-04-20T08:56:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=213ac7e7a0b44ab51c570de189ec607a815202b3'/>
<id>urn:sha1:213ac7e7a0b44ab51c570de189ec607a815202b3</id>
<content type='text'>
commit 210990b05a1247886539078e857cd038881bb2d6 upstream.

When the DaVinci emac driver is removed and re-probed, the actual
pdev-&gt;dev.platform_data is populated with an unwanted valid pointer saved by
the previous davinci_emac_of_get_pdata() call, causing a kernel crash when
calling priv-&gt;int_disable() in emac_int_disable().

Unable to handle kernel paging request at virtual address c8622a80
...
[&lt;c0426fb4&gt;] (emac_int_disable) from [&lt;c0427700&gt;] (emac_dev_open+0x290/0x5f8)
[&lt;c0427700&gt;] (emac_dev_open) from [&lt;c04c00ec&gt;] (__dev_open+0xb8/0x120)
[&lt;c04c00ec&gt;] (__dev_open) from [&lt;c04c0370&gt;] (__dev_change_flags+0x88/0x14c)
[&lt;c04c0370&gt;] (__dev_change_flags) from [&lt;c04c044c&gt;] (dev_change_flags+0x18/0x48)
[&lt;c04c044c&gt;] (dev_change_flags) from [&lt;c052bafc&gt;] (devinet_ioctl+0x6b4/0x7ac)
[&lt;c052bafc&gt;] (devinet_ioctl) from [&lt;c04a1428&gt;] (sock_ioctl+0x1d8/0x2c0)
[&lt;c04a1428&gt;] (sock_ioctl) from [&lt;c014f054&gt;] (do_vfs_ioctl+0x41c/0x600)
[&lt;c014f054&gt;] (do_vfs_ioctl) from [&lt;c014f2a4&gt;] (SyS_ioctl+0x6c/0x7c)
[&lt;c014f2a4&gt;] (SyS_ioctl) from [&lt;c000ff60&gt;] (ret_fast_syscall+0x0/0x1c)

Fixes: 42f59967a091 ("net: ethernet: davinci_emac: add OF support")
Cc: Brian Hutchinson &lt;b.hutchman@gmail.com&gt;
Signed-off-by: Neil Armstrong &lt;narmstrong@baylibre.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>net: ethernet: ti: cpsw: fix secondary-emac probe error path</title>
<updated>2020-05-10T08:26:30Z</updated>
<author>
<name>Johan Hovold</name>
</author>
<published>2016-11-17T16:40:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b5ec0bdc572c2ee119a847a3774d9eea4711882d'/>
<id>urn:sha1:b5ec0bdc572c2ee119a847a3774d9eea4711882d</id>
<content type='text'>
commit a7fe9d466f6a33558a38c7ca9d58bcc83512d577 upstream.

Make sure to deregister the primary device in case the secondary emac
fails to probe.

kernel BUG at /home/johan/work/omicron/src/linux/net/core/dev.c:7743!
...
[&lt;c05b3dec&gt;] (free_netdev) from [&lt;c04fe6c0&gt;] (cpsw_probe+0x9cc/0xe50)
[&lt;c04fe6c0&gt;] (cpsw_probe) from [&lt;c047b28c&gt;] (platform_drv_probe+0x5c/0xc0)

Fixes: d9ba8f9e6298 ("driver: net: ethernet: cpsw: dual emac interface
implementation")
Signed-off-by: Johan Hovold &lt;johan@kernel.org&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>net: ethernet: ti: cpsw: fix device and of_node leaks</title>
<updated>2020-05-10T08:26:30Z</updated>
<author>
<name>Johan Hovold</name>
</author>
<published>2016-11-03T17:40:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d637933dec07aa434ccc38382888e0c85bf65f76'/>
<id>urn:sha1:d637933dec07aa434ccc38382888e0c85bf65f76</id>
<content type='text'>
commit c7262aaace1b17a650598063e3b9ee1785fde377 upstream.

Make sure to drop the references taken by of_get_child_by_name() and
bus_find_device() before returning from cpsw_phy_sel().

Note that holding a reference to the cpsw-phy-sel device does not
prevent the devres-managed private data from going away.

Fixes: 5892cd135e16 ("drivers: net: cpsw-phy-sel: Add new driver...")
Cc: Mugunthan V N &lt;mugunthanvnm@ti.com&gt;
Cc: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Cc: linux-omap@vger.kernel.org
Signed-off-by: Johan Hovold &lt;johan@kernel.org&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>net: ethernet: davinci_emac: Fix devioctl while in fixed link</title>
<updated>2020-05-10T08:26:30Z</updated>
<author>
<name>Neil Armstrong</name>
</author>
<published>2016-04-25T17:41:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0697b3069b5eac0f718fae5dcff521b943fdd89a'/>
<id>urn:sha1:0697b3069b5eac0f718fae5dcff521b943fdd89a</id>
<content type='text'>
commit 62522ef3c399996f6c8120bfd14b94280bc9f490 upstream.

When configured in fixed link, the DaVinci emac driver sets the
priv-&gt;phydev to NULL and further ioctl calls to the phy_mii_ioctl()
causes the kernel to crash.

Cc: Brian Hutchinson &lt;b.hutchman@gmail.com&gt;
Fixes: 1bb6aa56bb38 ("net: davinci_emac: Add support for fixed-link PHY")
Signed-off-by: Neil Armstrong &lt;narmstrong@baylibre.com&gt;
Reviewed-by: Mugunthan V N &lt;mugunthanvnm@ti.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>drivers: net: cpsw: don't ignore phy-mode if phy-handle is used</title>
<updated>2020-05-10T08:26:10Z</updated>
<author>
<name>David Rivshin</name>
</author>
<published>2016-04-28T01:38:26Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2251a2e560e7edf41647b2aa36764483bde1101d'/>
<id>urn:sha1:2251a2e560e7edf41647b2aa36764483bde1101d</id>
<content type='text'>
commit ae092b5bded24d5dc7dae0e0aef4669c169ce874 upstream.

The phy-mode emac property was only being processed in the phy_id
or fixed-link cases. However if phy-handle was specified instead,
an error message would complain about the lack of phy_id or
fixed-link, and then jump past the of_get_phy_mode(). This would
result in the PHY mode defaulting to MII, regardless of what the
devicetree specified.

Fixes: 9e42f715264f ("drivers: net: cpsw: add phy-handle parsing")
Signed-off-by: David Rivshin &lt;drivshin@allworx.com&gt;
Tested-by: Nicolas Chauvet &lt;kwizart@gmail.com&gt;
Tested-by: Andrew Goodbody &lt;andrew.goodbody@cambrionix.com&gt;
Reviewed-by: Mugunthan V N &lt;mugunthanvnm@ti.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>net: davinci_cpdma: use dma_addr_t for DMA address</title>
<updated>2020-01-04T12:34:37Z</updated>
<author>
<name>Arnd Bergmann</name>
</author>
<published>2016-01-29T11:39:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=75d70b155dffed9b4f0feebeae0012ebac495d6f'/>
<id>urn:sha1:75d70b155dffed9b4f0feebeae0012ebac495d6f</id>
<content type='text'>
commit 84092996673211f16ef3b942a191d7952e9dfea9 upstream.

The davinci_cpdma mixes up physical addresses as seen from the CPU
and DMA addresses as seen from a DMA master, since it can operate
on both normal memory or an on-chip buffer. If dma_addr_t is
different from phys_addr_t, this means we get a compile-time warning
about the type mismatch:

ethernet/ti/davinci_cpdma.c: In function 'cpdma_desc_pool_create':
ethernet/ti/davinci_cpdma.c:182:48: error: passing argument 3 of 'dma_alloc_coherent' from incompatible pointer type [-Werror=incompatible-pointer-types]
   pool-&gt;cpumap = dma_alloc_coherent(dev, size, &amp;pool-&gt;phys,
In file included from ethernet/ti/davinci_cpdma.c:21:0:
dma-mapping.h:398:21: note: expected 'dma_addr_t * {aka long long unsigned int *}' but argument is of type 'phys_addr_t * {aka unsigned int *}'
 static inline void *dma_alloc_coherent(struct device *dev, size_t size,

This slightly restructures the code so the address we use for
mapping RAM into a DMA address is always a dma_addr_t, avoiding
the warning. The code is correct even if both types are 32-bit
because the DMA master in this device only supports 32-bit addressing
anyway, independent of the types that are used.

We still assign this value to pool-&gt;phys, and that is wrong if
the driver is ever used with an IOMMU, but that value appears to
be never used, so there is no problem really. I've added a couple
of comments about where we do things that are slightly violating
the API.

Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Daniel Wagner &lt;dwagner@suse.de&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
