Skip to content
Snippets Groups Projects
  1. Apr 28, 2009
  2. Apr 27, 2009
  3. Apr 13, 2009
  4. Apr 11, 2009
  5. Jan 21, 2009
  6. Jan 14, 2009
  7. Dec 22, 2008
  8. Nov 03, 2008
  9. Oct 27, 2008
  10. Oct 08, 2008
  11. Sep 24, 2008
  12. Aug 27, 2008
  13. Aug 07, 2008
  14. Jul 22, 2008
    • Anton Vorontsov's avatar
      netdev: bunch of drivers: avoid WARN at net/core/dev.c:1328 · c8f15686
      Anton Vorontsov authored
      
      The drivers were touching net queue before it has been started, so
      without this patch, the drivers will potentially WARN at
      net/core/dev.c:1328.
      
      I don't have the hardware for the drivers below, so this patch is
      untested, and thus should be carefully peer reviewed.
      
      tc35815.c
      au1000_eth.c
      bfin_mac.c
      macb.c
      ^ The four drivers are using phylib, they're calling netif_start_queue()
      in open() callback. So trivially remove netif_tx_schedule_all().
      Phylib will handle netif_carrier_*().
      
      cpmac.c
      fec_mpc52xx.c
      fs_enet/fs_enet-main.c
      sh_eth.c
      ^ The same as above, but these were also needlessly calling
      netif_carrier_*() functions. So removed queue calls and also remove
      carrier calls, since phylib will handle it. fs_enet-main.c also didn't
      call netif_start_queue() at open(), this is fixed now.
      
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c8f15686
  15. Jul 17, 2008
  16. Jul 16, 2008
  17. Jul 04, 2008
  18. Jun 30, 2008
  19. May 30, 2008
  20. May 22, 2008
    • Julia Lawall's avatar
      drivers/net/fs_enet: remove null pointer dereference · 4ecc8c06
      Julia Lawall authored
      The following code appears in the function fs_init_instance in the file drivers/net/fs_enet/fs_enet-main.c.
      
      	if (fep->ops == NULL) {
      		printk(KERN_ERR DRV_MODULE_NAME
      		       ": %s No matching ops found (%d).\n",
      		       ndev->name, fpi->fs_no);
      		err = -EINVAL;
      		goto err;
      	}
      
      This code implies that at the point of err, fep->ops can be NULL, so an
      extra test is needed before dereferencing this value.
      
      This problem was found using the following semantic match
      (http://www.emn.fr/x-info/coccinelle/
      
      )
      
      // <smpl>
      @@
      expression E, E1;
      identifier f;
      statement S1,S2,S3;
      @@
      
      * if (E == NULL)
      {
        ... when != if (E == NULL) S1 else S2
            when != E = E1
      * E->f
        ... when any
        return ...;
      }
      else S3
      // </smpl>
      
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      4ecc8c06
  21. May 06, 2008
  22. Apr 16, 2008
  23. Apr 11, 2008
  24. Feb 23, 2008
  25. Jan 28, 2008
  26. Jan 23, 2008
  27. Jan 12, 2008
    • Anton Vorontsov's avatar
      fs_enet: check for phydev existence in the ethtool handlers · dfd9a421
      Anton Vorontsov authored
      
      Otherwise oops will happen if ethernet device has not been opened:
      
      Unable to handle kernel paging request for data at address 0x0000014c
      Faulting instruction address: 0xc016f7f0
      Oops: Kernel access of bad area, sig: 11 [#1]
      MPC85xx
      NIP: c016f7f0 LR: c01722a0 CTR: 00000000
      REGS: c79ddc70 TRAP: 0300   Not tainted  (2.6.24-rc3-g820a386b)
      MSR: 00029000 <EE,ME>  CR: 20004428  XER: 20000000
      DEAR: 0000014c, ESR: 00000000
      TASK = c789f5e0[999] 'snmpd' THREAD: c79dc000
      GPR00: c01aceb8 c79ddd20 c789f5e0 00000000 c79ddd3c 00000000 c79ddd64 00000000
      GPR08: 00000000 c7845b60 c79dde3c c01ace80 20004422 200249fc 000002a0 100da728
      GPR16: 100c0000 00000000 00000000 00000000 20022078 00000009 200220e0 bfc85558
      GPR24: c79ddd3c 00000000 00000000 c02e0e70 c022fc64 ffffffff c7845800 bfc85498
      NIP [c016f7f0] phy_ethtool_gset+0x0/0x4c
      LR [c01722a0] fs_get_settings+0x18/0x28
      Call Trace:
      [c79ddd20] [c79dde38] 0xc79dde38 (unreliable)
      [c79ddd30] [c01aceb8] dev_ethtool+0x294/0x11ec
      [c79dde30] [c01aaa44] dev_ioctl+0x454/0x6a8
      [c79ddeb0] [c019b9d4] sock_ioctl+0x84/0x230
      [c79dded0] [c007ded8] do_ioctl+0x34/0x8c
      [c79ddee0] [c007dfbc] vfs_ioctl+0x8c/0x41c
      [c79ddf10] [c007e38c] sys_ioctl+0x40/0x74
      [c79ddf40] [c000d4c0] ret_from_syscall+0x0/0x3c
      Instruction dump:
      81630000 800b0030 2f800000 419e0010 7c0803a6 4e800021 7c691b78 80010014
      7d234b78 38210010 7c0803a6 4e800020 <8003014c> 7c6b1b78 38600000 90040004
      
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
      Acked-by: default avatarVitaly Bordug <vitb@kernel.crashing.org>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      dfd9a421
  28. Jan 09, 2008
  29. Dec 13, 2007
  30. Nov 14, 2007
    • Jochen Friedrich's avatar
      [FS_ENET]: Fix module build. · 8a856397
      Jochen Friedrich authored
      
      If fs_enet is build as module, on PPC_CPM_NEW_BINDING platforms
      mii-fec/mii-bitbang should be build as module, as well. On other
      platforms, mii-fec/mii-bitbang must be included into the main module.
      Otherwise some symbols remain undefined. Additionally, fs_enet uses
      libphy, so add a select PHYLIB.
      
        Building modules, stage 2.
        MODPOST 5 modules
      ERROR: "fs_scc_ops" [drivers/net/fs_enet/fs_enet.ko] undefined!
      make[1]: *** [__modpost] Error 1
      make: *** [modules] Error 2
      
      Signed-off-by: default avatarJochen Friedrich <jochen@scram.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8a856397
  31. Oct 17, 2007
    • Scott Wood's avatar
      fs_enet: Update for API changes · f860f49e
      Scott Wood authored
      
      This driver was recently broken by several changes for which this
      driver was not (or was improperly) updated:
      
      1. SET_MODULE_OWNER() was removed.
      2. netif_napi_add() was only being called when building with
      the old CPM binding.
      3. The received/budget test was backwards.
      4. to_net_dev() was wrong -- the device struct embedded in
      the net_device struct is not the same as the of_platform
      device in the private struct.
      5. napi_disable/napi_enable was being called even when napi
      was not being used.
      
      These changes have been fixed, and napi is now on by default.
      
      Signed-off-by: default avatarScott Wood <scottwood@freescale.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      f860f49e
  32. Oct 10, 2007
Loading