<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/phy, branch v4.11</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.11</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.11'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2017-04-26T18:34:07Z</updated>
<entry>
<title>Revert "phy: micrel: Disable auto negotiation on startup"</title>
<updated>2017-04-26T18:34:07Z</updated>
<author>
<name>David S. Miller</name>
<email>davem@davemloft.net</email>
</author>
<published>2017-04-26T18:33:14Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=b43bd72835a5f7adef81fe53fa1fbe7b0e43df8e'/>
<id>urn:sha1:b43bd72835a5f7adef81fe53fa1fbe7b0e43df8e</id>
<content type='text'>
This reverts commit 99f81afc139c6edd14d77a91ee91685a414a1c66.

It was papering over the real problem, which is fixed by commit
f555f34fdc58 ("net: phy: fix auto-negotiation stall due to unavailable
interrupt")

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: fix auto-negotiation stall due to unavailable interrupt</title>
<updated>2017-04-26T18:32:00Z</updated>
<author>
<name>Alexander Kochetkov</name>
<email>al.kochet@gmail.com</email>
</author>
<published>2017-04-20T11:00:04Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f555f34fdc586a56204cd16d9a7c104ec6cb6650'/>
<id>urn:sha1:f555f34fdc586a56204cd16d9a7c104ec6cb6650</id>
<content type='text'>
The Ethernet link on an interrupt driven PHY was not coming up if the Ethernet
cable was plugged before the Ethernet interface was brought up.

The patch trigger PHY state machine to update link state if PHY was requested to
do auto-negotiation and auto-negotiation complete flag already set.

During power-up cycle the PHY do auto-negotiation, generate interrupt and set
auto-negotiation complete flag. Interrupt is handled by PHY state machine but
doesn't update link state because PHY is in PHY_READY state. After some time
MAC bring up, start and request PHY to do auto-negotiation. If there are no new
settings to advertise genphy_config_aneg() doesn't start PHY auto-negotiation.
PHY continue to stay in auto-negotiation complete state and doesn't fire
interrupt. At the same time PHY state machine expect that PHY started
auto-negotiation and is waiting for interrupt from PHY and it won't get it.

Fixes: 321beec5047a ("net: phy: Use interrupts when available in NOLINK state")
Signed-off-by: Alexander Kochetkov &lt;al.kochet@gmail.com&gt;
Cc: stable &lt;stable@vger.kernel.org&gt; # v4.9+
Tested-by: Roger Quadros &lt;rogerq@ti.com&gt;
Tested-by: Alexandre Belloni &lt;alexandre.belloni@free-electrons.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>dp83640: don't recieve time stamps twice</title>
<updated>2017-04-20T20:00:48Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2017-04-18T19:14:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9d386cd9a755c8293e8916264d4d053878a7c9c7'/>
<id>urn:sha1:9d386cd9a755c8293e8916264d4d053878a7c9c7</id>
<content type='text'>
This patch is prompted by a static checker warning about a potential
use after free.  The concern is that netif_rx_ni() can free "skb" and we
call it twice.

When I look at the commit that added this, it looks like some stray
lines were added accidentally.  It doesn't make sense to me that we
would recieve the same data two times.  I asked the author but never
recieved a response.

I can't test this code, but I'm pretty sure my patch is correct.

Fixes: 4b063258ab93 ("dp83640: Delay scheduled work.")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
Acked-by: Stefan Sørensen &lt;stefan.sorensen@spectralink.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: micrel: fix crash when statistic requested for KSZ9031 phy</title>
<updated>2017-04-17T17:29:49Z</updated>
<author>
<name>Grygorii Strashko</name>
<email>grygorii.strashko@ti.com</email>
</author>
<published>2017-04-13T19:11:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bfe72442578bb112626e476ffe1f276504d85b95'/>
<id>urn:sha1:bfe72442578bb112626e476ffe1f276504d85b95</id>
<content type='text'>
Now the command:
	ethtool --phy-statistics eth0
will cause system crash with meassage "Unable to handle kernel NULL pointer
dereference at virtual address 00000010" from:

 (kszphy_get_stats) from [&lt;c069f1d8&gt;] (ethtool_get_phy_stats+0xd8/0x210)
 (ethtool_get_phy_stats) from [&lt;c06a0738&gt;] (dev_ethtool+0x5b8/0x228c)
 (dev_ethtool) from [&lt;c06b5484&gt;] (dev_ioctl+0x3fc/0x964)
 (dev_ioctl) from [&lt;c0679f7c&gt;] (sock_ioctl+0x170/0x2c0)
 (sock_ioctl) from [&lt;c02419d4&gt;] (do_vfs_ioctl+0xa8/0x95c)
 (do_vfs_ioctl) from [&lt;c02422c4&gt;] (SyS_ioctl+0x3c/0x64)
 (SyS_ioctl) from [&lt;c0107d60&gt;] (ret_fast_syscall+0x0/0x44)

The reason: phy_driver structure for KSZ9031 phy has no .probe() callback
defined. As result, struct phy_device *phydev-&gt;priv pointer will not be
initializes (null).
This issue will affect also following phys:
 KSZ8795, KSZ886X, KSZ8873MLL, KSZ9031, KSZ9021, KSZ8061, KS8737

Fix it by:
- adding .probe() = kszphy_probe() callback to KSZ9031, KSZ9021
phys. The kszphy_probe() can be re-used as it doesn't do any phy specific
settings.
- removing statistic callbacks from other phys (KSZ8795, KSZ886X,
KSZ8873MLL, KSZ8061, KS8737) as they doesn't have corresponding
statistic counters.

Fixes: 2b2427d06426 ("phy: micrel: Add ethtool statistics counters")
Signed-off-by: Grygorii Strashko &lt;grygorii.strashko@ti.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Reviewed-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: phy: handle state correctly in phy_stop_machine</title>
<updated>2017-03-24T19:27:06Z</updated>
<author>
<name>Nathan Sullivan</name>
<email>nathan.sullivan@ni.com</email>
</author>
<published>2017-03-22T20:27:01Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=49d52e8108a21749dc2114b924c907db43358984'/>
<id>urn:sha1:49d52e8108a21749dc2114b924c907db43358984</id>
<content type='text'>
If the PHY is halted on stop, then do not set the state to PHY_UP.  This
ensures the phy will be restarted later in phy_start when the machine is
started again.

Fixes: 00db8189d984 ("This patch adds a PHY Abstraction Layer to the Linux Kernel, enabling ethernet drivers to remain as ignorant as is reasonable of the connected PHY's design and operation details.")
Signed-off-by: Nathan Sullivan &lt;nathan.sullivan@ni.com&gt;
Signed-off-by: Brad Mouring &lt;brad.mouring@ni.com&gt;
Acked-by: Xander Huff &lt;xander.huff@ni.com&gt;
Acked-by: Kyle Roeschley &lt;kyle.roeschley@ni.com&gt;
Reviewed-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: phy: Export mdiobus_register_board_info()</title>
<updated>2017-03-24T00:13:22Z</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2017-03-23T05:40:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=f35ec35e5e726e7137deaee0dec24f8cbf07a48f'/>
<id>urn:sha1:f35ec35e5e726e7137deaee0dec24f8cbf07a48f</id>
<content type='text'>
We can build modular code that uses mdiobus_register_board_info() which would
lead to linking failure since this symbol is not expoerted.

Fixes: 648ea0134069 ("net: phy: Allow pre-declaration of MDIO devices")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Reviewed-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: marvell: Fix double free of hwmon device</title>
<updated>2017-03-10T06:41:03Z</updated>
<author>
<name>Andrew Lunn</name>
<email>andrew@lunn.ch</email>
</author>
<published>2017-03-09T19:53:31Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=296739839fa2851e6badc77dcfc45050094cb102'/>
<id>urn:sha1:296739839fa2851e6badc77dcfc45050094cb102</id>
<content type='text'>
The hwmon temperature sensor devices is registered using a devm_hwmon
API call.  The marvell_release() would then manually free the device,
not using a devm_hmon API, resulting in the device being removed
twice, leading to a crash in kernfs_find_ns() during the second
removal.

Remove the manual removal, which makes marvell_release() empty, so
remove it as well.

Signed-off-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Fixes: 0b04680fdae4 ("phy: marvell: Add support for temperature sensor")
Acked-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>spi_ks8995: regs_size incorrect for some devices</title>
<updated>2017-03-07T21:33:24Z</updated>
<author>
<name>Blomme, Maarten</name>
<email>Maarten.Blomme@flir.com</email>
</author>
<published>2017-03-02T12:08:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=239870f2a0ebf75cc8f6d987dc528c5243f93d69'/>
<id>urn:sha1:239870f2a0ebf75cc8f6d987dc528c5243f93d69</id>
<content type='text'>
Signed-off-by: Maarten Blomme &lt;Maarten.Blomme@flir.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>spi_ks8995: fix "BUG: key accdaa28 not in .data!"</title>
<updated>2017-03-07T21:33:23Z</updated>
<author>
<name>Blomme, Maarten</name>
<email>Maarten.Blomme@flir.com</email>
</author>
<published>2017-03-02T12:08:36Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=4342696df764ec65dcdfbd0c10d90ea52505f8ba'/>
<id>urn:sha1:4342696df764ec65dcdfbd0c10d90ea52505f8ba</id>
<content type='text'>
Signed-off-by: Maarten Blomme &lt;Maarten.Blomme@flir.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: phy: Do not perform software reset for Generic PHY</title>
<updated>2017-03-06T01:57:27Z</updated>
<author>
<name>Florian Fainelli</name>
<email>f.fainelli@gmail.com</email>
</author>
<published>2017-03-05T20:34:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=0878fff1f42c18e448ab5b8b4f6a3eb32365b5b6'/>
<id>urn:sha1:0878fff1f42c18e448ab5b8b4f6a3eb32365b5b6</id>
<content type='text'>
The Generic PHY driver is a catch-all PHY driver and it should preserve
whatever prior initialization has been done by boot loader or firmware
agents. For specific PHY device configuration it is expected that a
specialized PHY driver would take over that role.

Resetting the generic PHY was a bad idea that has lead to several
complaints and downstream workarounds e.g: in OpenWrt/LEDE so restore
the behavior prior to 87aa9f9c61ad ("net: phy: consolidate PHY
reset in phy_init_hw()").

Reported-by: Felix Fietkau &lt;nbd@nbd.name&gt;
Fixes: 87aa9f9c61ad ("net: phy: consolidate PHY reset in phy_init_hw()")
Signed-off-by: Florian Fainelli &lt;f.fainelli@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
