Skip to content
Snippets Groups Projects
  1. Oct 08, 2008
  2. Sep 24, 2008
  3. Aug 27, 2008
  4. Aug 07, 2008
  5. 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
  6. Jul 17, 2008
  7. Jul 16, 2008
  8. Jul 04, 2008
  9. Jun 30, 2008
  10. May 30, 2008
  11. 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
  12. May 06, 2008
  13. Apr 16, 2008
  14. Apr 11, 2008
  15. Feb 23, 2008
  16. Jan 28, 2008
  17. Jan 23, 2008
  18. 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
  19. Jan 09, 2008
  20. Dec 13, 2007
  21. 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
  22. 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
  23. Oct 10, 2007
  24. Jul 08, 2007
  25. May 09, 2007
    • Timur Tabi's avatar
      [POWERPC] Change rheap functions to use ulongs instead of pointers · 4c35630c
      Timur Tabi authored
      
      The rheap allocation functions return a pointer, but the actual value is based
      on how the heap was initialized, and so it can be anything, e.g. an offset
      into a buffer.  A ulong is a better representation of the value returned by
      the allocation functions.
      
      This patch changes all of the relevant rheap functions to use a unsigned long
      integers instead of a pointer.  In case of an error, the value returned is
      a negative error code that has been cast to an unsigned long.  The caller can
      use the IS_ERR_VALUE() macro to check for this.
      
      All code which calls the rheap functions is updated accordingly.  Macros
      IS_MURAM_ERR() and IS_DPERR(), have been deleted in favor of IS_ERR_VALUE().
      
      Also added error checking to rh_attach_region().
      
      Signed-off-by: default avatarTimur Tabi <timur@freescale.com>
      Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
      4c35630c
  26. May 02, 2007
    • Jean Delvare's avatar
      PCI: Cleanup the includes of <linux/pci.h> · 6473d160
      Jean Delvare authored
      I noticed that many source files include <linux/pci.h> while they do
      not appear to need it. Here is an attempt to clean it all up.
      
      In order to find all possibly affected files, I searched for all
      files including <linux/pci.h> but without any other occurence of "pci"
      or "PCI". I removed the include statement from all of these, then I
      compiled an allmodconfig kernel on both i386 and x86_64 and fixed the
      false positives manually.
      
      My tests covered 66% of the affected files, so there could be false
      positives remaining. Untested files are:
      
      arch/alpha/kernel/err_common.c
      arch/alpha/kernel/err_ev6.c
      arch/alpha/kernel/err_ev7.c
      arch/ia64/sn/kernel/huberror.c
      arch/ia64/sn/kernel/xpnet.c
      arch/m68knommu/kernel/dma.c
      arch/mips/lib/iomap.c
      arch/powerpc/platforms/pseries/ras.c
      arch/ppc/8260_io/enet.c
      arch/ppc/8260_io/fcc_enet.c
      arch/ppc/8xx_io/enet.c
      arch/ppc/syslib/ppc4xx_sgdma.c
      arch/sh64/mach-cayman/iomap.c
      arch/xtensa/kernel/xtensa_ksyms.c
      arch/xtensa/platform-iss/setup.c
      drivers/i2c/busses/i2c-at91.c
      drivers/i2c/busses/i2c-mpc.c
      drivers/media/video/saa711x.c
      drivers/misc/hdpuftrs/hdpu_cpustate.c
      drivers/misc/hdpuftrs/hdpu_nexus.c
      drivers/net/au1000_eth.c
      drivers/net/fec_8xx/fec_main.c
      drivers/net/fec_8xx/fec_mii.c
      drivers/net/fs_enet/fs_enet-main.c
      drivers/net/fs_enet/mac-fcc.c
      drivers/net/fs_enet/mac-fec.c
      drivers/net/fs_enet/mac-scc.c
      drivers/net/fs_enet/mii-bitbang.c
      drivers/net/fs_enet/mii-fec.c
      drivers/net/ibm_emac/ibm_emac_core.c
      drivers/net/lasi_82596.c
      drivers/parisc/hppb.c
      drivers/sbus/sbus.c
      drivers/video/g364fb.c
      drivers/video/platinumfb.c
      drivers/video/stifb.c
      drivers/video/valkyriefb.c
      include/asm-arm/arch-ixp4xx/dma.h
      sound/oss/au1550_ac97.c
      
      I would welcome test reports for these files. I am fine with removing
      the untested files from the patch if the general opinion is that these
      changes aren't safe. The tested part would still be nice to have.
      
      Note that this patch depends on another header fixup patch I submitted
      to LKML yesterday:
        [PATCH] scatterlist.h needs types.h
        http://lkml.org/lkml/2007/3/01/141
      
      
      
      Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      6473d160
Loading