<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/net/phy, branch v2.6.28</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=v2.6.28</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.28'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2008-12-17T08:24:13Z</updated>
<entry>
<title>net: kernel BUG at drivers/net/phy/mdio_bus.c:165!</title>
<updated>2008-12-17T08:24:13Z</updated>
<author>
<name>Krzysztof Halasa</name>
<email>khc@pm.waw.pl</email>
</author>
<published>2008-12-17T08:24:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e8e5752dc0a56a01527055b0c37510b1d6b6b861'/>
<id>urn:sha1:e8e5752dc0a56a01527055b0c37510b1d6b6b861</id>
<content type='text'>
kernel BUG at drivers/net/phy/mdio_bus.c:165!
Unable to handle kernel NULL pointer dereference at virtual address 00000000

How?

mdiobus_alloc() sets bus-&gt;state = MDIOBUS_ALLOCATED.

mdiobus_register() sets bus-&gt;state = MDIOBUS_REGISTERED but then can
   fail (mdiobus_scan()) returning an error to the caller.

The caller aborts correctly with mdiobus_free() which does:
        if (bus-&gt;state == MDIOBUS_ALLOCATED) {
                kfree(bus);
                return;
        }

        BUG_ON(bus-&gt;state != MDIOBUS_UNREGISTERED);

Signed-off-by: Krzysztof Halasa &lt;khc@pm.waw.pl&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>phylib: Add Vitesse VSC8221 SGMII PHY</title>
<updated>2008-11-25T09:00:47Z</updated>
<author>
<name>Trent Piepho</name>
<email>tpiepho@freescale.com</email>
</author>
<published>2008-11-25T09:00:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=11c6dd2c723a9ff9bdd4ee11b2798a08abc94e98'/>
<id>urn:sha1:11c6dd2c723a9ff9bdd4ee11b2798a08abc94e98</id>
<content type='text'>
PHY is mostly compatible with the existing VSC8244 PHY.  The init sequence
is different and the interrupt mask lacks some bits present in the VSC8244.

Rather than making a copy of the existing VSC234x config_intr function and
change one constant, I modify it to select the interrupt mask based on
which driver is calling it.  This lets it be used by both drivers.

Signed-off-by: Trent Piepho &lt;tpiepho@freescale.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>phy: fix phy_id detection also for broken hardware.</title>
<updated>2008-11-21T04:43:18Z</updated>
<author>
<name>Giuseppe Cavallaro</name>
<email>peppe.cavallaro@st.com</email>
</author>
<published>2008-11-21T04:43:18Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6436cbcd735a11fc93bf3353c68914bc545e6d1e'/>
<id>urn:sha1:6436cbcd735a11fc93bf3353c68914bc545e6d1e</id>
<content type='text'>
This patch fixes the case when the phy_ids is mostly Fs and in some case 0x0
due to broken hardware.

Signed-off-by: Giuseppe Cavallaro &lt;peppe.cavallaro@st.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>phylib: Fix auto-negotiation restart avoidance</title>
<updated>2008-11-19T23:52:41Z</updated>
<author>
<name>Trent Piepho</name>
<email>tpiepho@freescale.com</email>
</author>
<published>2008-11-19T23:52:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=de339c2aa7fea18410b1abeab5674bfbd4073a63'/>
<id>urn:sha1:de339c2aa7fea18410b1abeab5674bfbd4073a63</id>
<content type='text'>
A previous patch, 51e2a3846eab18711f4eb59cd0a4c33054e2980a, made
genphy_config_aneg() not restart aneg by calling genphy_restart_aneg() if
the advertisement hadn't changed.

But, genphy_restart_aneg() doesn't just restart aneg, it may also *enable*
aneg or un-isolate the PHY from the MII (those functions are controlled by
the same register).  The code to avoid calling genphy_restart_aneg() didn't
consider this.

So, modify genphy_config_aneg() to also check if the PHY needs to have aneg
enabled or be un-isolated before deciding not to restart aneg.

This caused a problem with certain Davicom PHYs, as that driver isolates
the PHY (why?) before calling genphy_config_aneg() and expects the PHY to
be un-isolated by that function.

Signed-off-by: Trent Piepho &lt;tpiepho@freescale.com&gt;
Reported-by: Scott Wood &lt;scottwood@freescale.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>phy: fix phy address bug</title>
<updated>2008-11-16T09:49:41Z</updated>
<author>
<name>Giulio Benetti</name>
<email>giulio.benetti@micronovasrl.com</email>
</author>
<published>2008-11-13T21:53:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3ee82383f0098a2e13acc8cf1be8e47512f41e5a'/>
<id>urn:sha1:3ee82383f0098a2e13acc8cf1be8e47512f41e5a</id>
<content type='text'>
PHYID returns 0xffff and not 0xffffffff when not found and in some
case(at91sam9263) 0x0. Maybe this patch could be useful.

Signed-off-by: Giulio Benetti &lt;giulio.benetti@micronovasrl.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>phy: Add support for Marvell 88E1118 PHY</title>
<updated>2008-11-15T22:04:27Z</updated>
<author>
<name>Ron Madrid</name>
<email>ron_madrid@sbcglobal.net</email>
</author>
<published>2008-11-06T09:05:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=605f196efbf8dcbb3581e76ddd0573899dffcf1f'/>
<id>urn:sha1:605f196efbf8dcbb3581e76ddd0573899dffcf1f</id>
<content type='text'>
This patch will add support for the Marvell 88E1118 PHY which supports gigabit ethernet among other things.

Signed-off-by: Ron Madrid &lt;ron_madrid@sbcglobal.net&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>phylib: fix premature freeing of struct mii_bus</title>
<updated>2008-11-14T23:19:40Z</updated>
<author>
<name>Lennert Buytenhek</name>
<email>buytenh@wantstofly.org</email>
</author>
<published>2008-11-09T04:34:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=3e44017b589f001941723dfdfede2ca6284dddce'/>
<id>urn:sha1:3e44017b589f001941723dfdfede2ca6284dddce</id>
<content type='text'>
Commit 46abc02175b3c246dd5141d878f565a8725060c9 ("phylib: give mdio
buses a device tree presence") added a call to device_unregister() in
a situation where the caller did not intend for the device to be
freed yet, but apart from just unregistering the device from the
system, device_unregister() does an additional put_device() that is
intended to free it.

The right function to use in this situation is device_del(), which
unregisters the device from the system like device_unregister() does,
but without dropping the reference count an additional time.

Bug report from Bryan Wu &lt;cooloney@kernel.org&gt;.

Signed-off-by: Lennert Buytenhek &lt;buytenh@marvell.com&gt;
Tested-by: Bryan Wu &lt;cooloney@kernel.org&gt;
Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
</content>
</entry>
<entry>
<title>NET: convert the phy_device file to use bus_find_device_by_name</title>
<updated>2008-10-16T16:24:52Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-01-27T18:29:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=26853ab6f9a4c482be4b638477335704724d4854'/>
<id>urn:sha1:26853ab6f9a4c482be4b638477335704724d4854</id>
<content type='text'>
The driver core now has this helper function, so might as well use it
instead of forcing the phy code to roll their own version.

Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>net: export genphy_restart_aneg</title>
<updated>2008-10-14T01:48:09Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@kernel.org</email>
</author>
<published>2008-10-14T01:48:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=892871dcc39c23d3e30f8c317a5bfbab74084a40'/>
<id>urn:sha1:892871dcc39c23d3e30f8c317a5bfbab74084a40</id>
<content type='text'>
This patch fixes the following build error caused by
commit ed94493fb38a665cebcf750dfabe8a6dd13e136f
(mv643xx_eth: convert to phylib):

&lt;--  snip  --&gt;

...
  Building modules, stage 2.
  MODPOST 1280 modules
ERROR: "genphy_restart_aneg" [drivers/net/mv643xx_eth.ko] undefined!
...
make[2]: *** [__modpost] Error 1

&lt;--  snip  --&gt;

Signed-off-by: Adrian Bunk &lt;bunk@kernel.org&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net/phy: add missing kernel-doc</title>
<updated>2008-10-14T01:46:22Z</updated>
<author>
<name>Randy Dunlap</name>
<email>randy.dunlap@oracle.com</email>
</author>
<published>2008-10-14T01:46:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=78c36b15a02941403be5f1d28c06074f1e192079'/>
<id>urn:sha1:78c36b15a02941403be5f1d28c06074f1e192079</id>
<content type='text'>
Fix kernel-doc warning, missing description:

Warning(lin2627-g3-kdocfixes//drivers/net/phy/mdio_bus.c:63): No description found for parameter 'd'

Signed-off-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
