- Sep 11, 2009
-
-
Anton Vorontsov authored
According to specs, when auto-negotiation is disabled, Marvell PHYs need a software reset after changing speed/duplex forcing bits. Otherwise, the modified bits have no effect. Signed-off-by:
Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Julia Lawall authored
Error handling code following a kzalloc should free the allocated data. The semantic match that finds the problem is as follows: (http://www.emn.fr/x-info/coccinelle/ ) // <smpl> @r exists@ local idexpression x; statement S; expression E; identifier f,f1,l; position p1,p2; expression *ptr != NULL; @@ x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...); ... if (x == NULL) S <... when != x when != if (...) { <+...x...+> } ( x->f1 = E | (x->f1 == NULL || ...) | f(...,x->f1,...) ) ...> ( return \(0\|<+...x...+>\|ptr\); | return@p2 ...; ) @script:python@ p1 << r.p1; p2 << r.p2; @@ print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line) // </smpl> Signed-off-by:
Julia Lawall <julia@diku.dk> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Sep 03, 2009
-
-
Ben Hutchings authored
dev_ioctl() already checks capable(CAP_NET_ADMIN) before calling the driver's implementation of MDIO ioctls. Signed-off-by:
Ben Hutchings <bhutchings@solarflare.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Aug 26, 2009
-
-
Matt Carlson authored
This brings the 57780's phy into IEEE compliance by suppressing the common mode oscillation. Signed-off-by:
Matt Carlson <mcarlson@broadcom.com> Reviewed-by:
Michael Chan <mchan@broadcom.com> Reviewed-by:
Benjamin Li <benli@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Matt Carlson authored
This patch adds support for the AC131 fast ethernet transceiver. Signed-off-by:
Matt Carlson <mcarlson@broadcom.com> Reviewed-by:
Michael Chan <mchan@broadcom.com> Reviewed-by:
Benjamin Li <benli@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Matt Carlson authored
This patch adds support for the BCM50610M phy ID. Signed-off-by:
Matt Carlson <mcarlson@broadcom.com> Reviewed-by:
Michael Chan <mchan@broadcom.com> Reviewed-by:
Benjamin Li <benli@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jul 23, 2009
-
-
Mark Ware authored
Changes to the fs_enet driver aa73832c ("net: Rework fs_enet driver to use of_mdio infrastructure") cause kernel crashes when using the mdio-ofgpio driver. This patch replicates similar changes made to the fs_enet mii-bitbang drivers. It has been tested on a custom mpc8280 based board using an NFS mounted root. Signed-off-by:
Mark Ware <mware@elphinstone.net> Acked-by:
Grant Likely <grant.likely@secretlab.ca> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jul 14, 2009
-
-
Jiri Slaby authored
Don't forget to unlock a mutex in phy_scan_fixups on a fail path. Signed-off-by:
Jiri Slaby <jirislaby@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jul 07, 2009
-
-
Maxime Bizon authored
Signed-off-by:
Maxime Bizon <mbizon@freebox.fr> Signed-off-by:
Ralf Baechle <ralf@linux-mips.org> drivers/net/phy/Kconfig | 6 ++ drivers/net/phy/Makefile | 1 drivers/net/phy/bcm63xx.c | 132 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 drivers/net/phy/bcm63xx.c Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jul 02, 2009
-
-
Wade Farnsworth authored
The PHY_HALTED state disables phydev->link, but the link will not be updated upon entering PHY_RESUMING. Add a call to phy_read_status() to update the link before entering PHY_RUNNING. If the link is not up at this point, enter the PHY_NOLINK state instead. Also, when transitioning from PHY_RESUMING to PHY_RUNNING, calls to netif_carrier_on() and phydev->adjust_link() are missing. Add the calls similar to the other transitions to PHY_RUNNING. Signed-off-by:
Wade Farnsworth <wfarnsworth@mvista.com> Acked-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jun 17, 2009
-
-
Randy Dunlap authored
Fix kernel-doc parameter name in phy_device.c. Signed-off-by:
Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jun 03, 2009
-
-
Haiying Wang authored
Disable fiber/copper auto selection for Marvell m88e1111 SGMII support. Signed-off-by:
Haiying Wang <Haiying.Wang@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 27, 2009
-
-
Grant Likely authored
Add phy_connect_direct() and phy_attach_direct() functions so that drivers can use a pointer to the phy_device instead of trying to determine the phy's bus_id string. This patch is useful for OF device tree descriptions of phy devices where the driver doesn't need or know what the bus_id value in order to get a phy_device pointer. Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Grant Likely authored
This patch makes changes in preparation for supporting open firmware device tree descriptions of MDIO busses. Changes include: - Cleanup handling of phy_map[] entries; they are already NULLed when registering and so don't need to be re-cleared, and it is good practice to clear them out when unregistering. - Split phy_device registration out into a new function so that the OF helpers can do two stage registration (separate allocation and registration steps). Signed-off-by:
Grant Likely <grant.likely@secretlab.ca> Acked-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 16, 2009
-
-
Atsushi Nemoto authored
The commit a390d1f3 ("phylib: convert state_queue work to delayed_work") missed converting 'expires' value to 'delay' value. Signed-off-by:
Atsushi Nemoto <anemo@mba.ocn.ne.jp> Acked-by:
Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 13, 2009
-
-
Anatolij Gustschin authored
Add did_interrupt() function to check if a PHY port really caused an interrupt. This is needed in the case of shared PHY interrupt pin configuration to stop interrupt event processing for PHY ports which didn't cause an interrupt. Signed-off-by:
Anatolij Gustschin <agust@denx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Anatolij Gustschin authored
Marvell 88E1121R Dual PHY device can be hardware-configured to use shared interrupt pin for both PHY ports. For such PHY configurations using shared PHY interrupt phy_interrupt() handler will also schedule a work for PHY port which didn't cause an interrupt. This patch adds a possibility for PHY drivers to provide did_interrupt() function which reports if the PHY (or a PHY port in a multi-PHY device) generated an interrupt. This function is called in phy_change() as phy_change() shouldn't proceed if it is invoked for a PHY which didn't cause an interrupt. So check for interrupt originator in phy_change() to allow early-out. Signed-off-by:
Anatolij Gustschin <agust@denx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Sergei Poselenov authored
Add support for the Marvell M88E1121R Dual GigE PHY Signed-off-by:
Yuri Tikhonov <yur@emcraft.com> Signed-off-by:
Sergei Poselenov <sposelenov@emcraft.com> Signed-off-by:
Anatolij Gustschin <agust@denx.de> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 11, 2009
-
-
Dan Carpenter authored
platform_device_register_simple() returns ERR_PTR() and not NULL. Found by smatch (http://repo.or.cz/w/smatch.git ). Compile tested. Signed-off-by:
Dan Carpenter <error27@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Apr 02, 2009
-
-
Jean Delvare authored
It is a fairly common operation to have a pointer to a work and to need a pointer to the delayed work it is contained in. In particular, all delayed works which want to rearm themselves will have to do that. So it would seem fair to offer a helper function for this operation. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by:
Jean Delvare <khali@linux-fr.org> Acked-by:
Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Greg KH <greg@kroah.com> Cc: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
-
- Mar 23, 2009
-
-
Steve Glendinning authored
LAN8710 and LAN8720 are two new 10/100 ethernet PHY models. The two share the same phy id, this patch adds it to the smsc phy driver. Signed-off-by:
Steve Glendinning <steve.glendinning@smsc.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Mar 13, 2009
-
-
Marcin Slusarz authored
It closes a race in phy_stop_machine when reprogramming of phy_timer (from phy_state_machine) happens between del_timer_sync and cancel_work_sync. Without this change it could lead to crash if phy_device would be freed after phy_stop_machine (timer would fire and schedule freed work). Signed-off-by:
Marcin Slusarz <marcin.slusarz@gmail.com> Acked-by:
Jean Delvare <khali@linux-fr.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Feb 26, 2009
-
-
Stephen Hemminger authored
Signed-off-by:
Stephen Hemminger <shemminger@vyatta.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Feb 10, 2009
-
-
Paulius Zaleckas authored
mdc pin should always be output. Initialize it as output, so each board code does not need to do this. Signed-off-by:
Paulius Zaleckas <paulius.zaleckas@teltonika.lt> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Feb 01, 2009
-
-
Anton Vorontsov authored
In most cases (e.g. PCI drivers) MDIO and MAC controllers are represented by the same device. But for SOC ethernets we have separate devices. So, in SOC case, checking whether MDIO controller may wakeup is not only makes little sense, but also prevents us from doing per-netdevice wakeup management. This patch reworks suspend/resume code so that now it checks for net device's wakeup flags, not MDIO controller's ones. Each netdevice should manage its wakeup flags, and phylib will decide whether suspend an attached PHY or not. Signed-off-by:
Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jan 22, 2009
-
-
Steve Glendinning authored
All supported SMSC PHYs implement the standard "power down" bit 11 of BMCR, so this patch adds support using the generic genphy_{suspend,resume} functions. Signed-off-by:
Steve Glendinning <steve.glendinning@smsc.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Anton Vorontsov authored
Suspend/resume routines check for phydrv != NULL, but that is wrong because "phydrv" comes from container_of(drv). If drv is NULL, then container_of(drv) will return non-NULL result, and the checks won't work. The Freescale TBI PHYs are driver-less, so "drv" is NULL, and that leads to the following oops: Unable to handle kernel paging request for data at address 0xffffffe4 Faulting instruction address: 0xc0215554 Oops: Kernel access of bad area, sig: 11 [#1] [...] NIP [c0215554] mdio_bus_suspend+0x34/0x70 LR [c01cc508] suspend_device+0x258/0x2bc Call Trace: [cfad3da0] [cfad3db8] 0xcfad3db8 (unreliable) [cfad3db0] [c01cc508] suspend_device+0x258/0x2bc [cfad3dd0] [c01cc62c] dpm_suspend+0xc0/0x140 [cfad3e20] [c01cc6f4] device_suspend+0x48/0x5c [cfad3e40] [c0068dd8] suspend_devices_and_enter+0x8c/0x148 [cfad3e60] [c00690f8] enter_state+0x100/0x118 [cfad3e80] [c00691c0] state_store+0xb0/0xe4 [cfad3ea0] [c018c938] kobj_attr_store+0x24/0x3c [cfad3eb0] [c00ea9a8] flush_write_buffer+0x58/0x7c [cfad3ed0] [c00eadf0] sysfs_write_file+0x58/0xa0 [cfad3ef0] [c009e810] vfs_write+0xb4/0x16c [cfad3f10] [c009ed40] sys_write+0x4c/0x90 [cfad3f40] [c0014954] ret_from_syscall+0x0/0x38 [...] This patch fixes the issue, plus removes unneeded parentheses and fixes indentation level in mdio_bus_suspend(). Signed-off-by:
Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jan 21, 2009
-
-
Roel Kluin authored
both pdata->mdc and pdata->mdio are unsigned. Notice a negative return value. Signed-off-by:
Roel Kluin <roel.kluin@gmail.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Jan 14, 2009
-
-
Anton Vorontsov authored
Freescale on-chip TBI PHYs reports PHY ID as 0x0, but as of commit 3ee82383 Author: Giulio Benetti <giulio.benetti@micronovasrl.com> Date: Thu Nov 13 21:53:13 2008 +0000 phy: fix phy address bug PHYID returns 0xffff and not 0xffffffff when not found and in some case(at91sam9263) 0x0. Maybe this patch could be useful. phy_device.c treats PHY ID == 0x0 as bogus IDs, and that results in gianfar driver failure to see the TBI PHYs. This code snippet triggers: if (!priv->tbiphy) { printk(KERN_WARNING "SGMII mode requires that the device " "tree specify a tbi-handle\n"); return; } Although tbi-handle is specified in the device tree. Btw, technically PHY ID == 0x0 is a valid ID (if we ever see a PHY manufactured by Xerox :-). Signed-off-by:
Anton Vorontsov <avorontsov@ru.mvista.com> Acked-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Dec 25, 2008
-
-
Krzysztof Halasa authored
The PHYLIB mdio code has more problems in error paths: - mdiobus_release can be called before bus->state is set to MDIOBUS_REGISTERED - mdiobus_scan allocates resources which need to be freed - the comment is wrong, the resistors used are actually pull-ups. Signed-off-by:
Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Dec 17, 2008
-
-
Krzysztof Halasa authored
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->state = MDIOBUS_ALLOCATED. mdiobus_register() sets bus->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->state == MDIOBUS_ALLOCATED) { kfree(bus); return; } BUG_ON(bus->state != MDIOBUS_UNREGISTERED); Signed-off-by:
Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Dec 16, 2008
-
-
Andy Fleming authored
genphy_setup_forced hasn't actually reset the PHY for a long time, but a comment to that effect remained in the code, so code continued to act as if it *had* reset the PHY, and called the necessary fixup functions to respond to a PHY reset. With no reset, those functions are no longer needed, so we remove them. Signed-off-by:
Andy Fleming <afleming@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Dec 09, 2008
-
-
Chaithrika U S authored
Adds LSI ET1011C PHY driver. This driver is used by TI DM646x EVM. Signed-off-by:
Chaithrika U S <chaithrika@ti.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 28, 2008
-
-
Giuseppe Cavallaro authored
This patch adds the STMicroelectronics ste10xp PHY device driver. It supports both the ste100p and the ste101p devices. Suspend/resume alredy added. Signed-off-by:
Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
David S. Miller authored
Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Giuseppe Cavallaro authored
This patch adds the power management support into the physical abstraction layer. Suspend and resume functions respectively turns on/off the bit 11 into the PHY Basic mode control register. Generic PHY device starts supporting PM. In order to support the wake-on LAN and avoid to put in power down the PHY device, the MDIO is aware of what the Ethernet device wants to do. Voluntary, no CONFIG_PM defines were added into the sources. Also generic suspend/resume functions are exported to allow other drivers use them (such as genphy_config_aneg etc.). Within the phy_driver_register function, we need to remove the memset. It overrides the device driver owner and it is not good. Signed-off-by:
Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
Giuseppe Cavallaro authored
This patch adds the PHY device driver for the National Semiconductor DP83865 Gig PHYTER. Signed-off-by:
Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 25, 2008
-
-
Trent Piepho authored
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 <tpiepho@freescale.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 21, 2008
-
-
Matt Carlson authored
This patch adds the 57780 PHY ID to the broadcom module. Signed-off-by:
Matt Carlson <mcarlson@broadcom.com> Signed-off-by:
Michael Chan <mchan@broadcom.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-
- Nov 20, 2008
-
-
Giuseppe Cavallaro authored
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 <peppe.cavallaro@st.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
-