Skip to content
Snippets Groups Projects
  1. Sep 11, 2009
  2. Sep 03, 2009
  3. Aug 26, 2009
  4. Jul 23, 2009
  5. Jul 14, 2009
  6. Jul 07, 2009
  7. Jul 02, 2009
  8. Jun 17, 2009
  9. Jun 03, 2009
  10. Apr 27, 2009
  11. Apr 16, 2009
  12. Apr 13, 2009
  13. Apr 11, 2009
  14. Apr 02, 2009
  15. Mar 23, 2009
  16. Mar 13, 2009
  17. Feb 26, 2009
  18. Feb 10, 2009
  19. Feb 01, 2009
  20. Jan 22, 2009
    • Steve Glendinning's avatar
      phy: Add suspend/resume support to SMSC PHYs · c64d2a9a
      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: default avatarSteve Glendinning <steve.glendinning@smsc.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c64d2a9a
    • Anton Vorontsov's avatar
      phylib: Fix oops in suspend/resume paths · 6f051069
      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: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f051069
  21. Jan 21, 2009
  22. Jan 14, 2009
    • Anton Vorontsov's avatar
      phylib: Fix Freescale TBI PHY detection · f0d44ae3
      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: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: default avatarAndy Fleming <afleming@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f0d44ae3
  23. Dec 25, 2008
  24. Dec 17, 2008
    • Krzysztof Halasa's avatar
      net: kernel BUG at drivers/net/phy/mdio_bus.c:165! · e8e5752d
      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: default avatarKrzysztof Halasa <khc@pm.waw.pl>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e8e5752d
  25. Dec 16, 2008
  26. Dec 09, 2008
  27. Nov 28, 2008
  28. Nov 25, 2008
  29. Nov 21, 2008
  30. Nov 20, 2008
Loading