07 Aug, 2008

1 commit


23 Jul, 2008

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (82 commits)
    ipw2200: Call netif_*_queue() interfaces properly.
    netxen: Needs to include linux/vmalloc.h
    [netdrvr] atl1d: fix !CONFIG_PM build
    r6040: rework init_one error handling
    r6040: bump release number to 0.18
    r6040: handle RX fifo full and no descriptor interrupts
    r6040: change the default waiting time
    r6040: use definitions for magic values in descriptor status
    r6040: completely rework the RX path
    r6040: call napi_disable when puting down the interface and set lp->dev accordingly.
    mv643xx_eth: fix NETPOLL build
    r6040: rework the RX buffers allocation routine
    r6040: fix scheduling while atomic in r6040_tx_timeout
    r6040: fix null pointer access and tx timeouts
    r6040: prefix all functions with r6040
    rndis_host: support WM6 devices as modems
    at91_ether: use netstats in net_device structure
    sfc: Create one RX queue and interrupt per CPU package by default
    sfc: Use a separate workqueue for resets
    sfc: I2C adapter initialisation fixes
    ...

    Linus Torvalds
     
  • 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: Anton Vorontsov
    Signed-off-by: David S. Miller

    Anton Vorontsov
     

22 Jul, 2008

1 commit


18 Jul, 2008

2 commits


17 Jul, 2008

1 commit


14 Jul, 2008

1 commit


06 Jul, 2008

1 commit


04 Jul, 2008

1 commit


30 Jun, 2008

1 commit


31 May, 2008

1 commit


22 May, 2008

1 commit

  • 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/)

    //
    @@
    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
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Jeff Garzik

    Julia Lawall
     

07 May, 2008

1 commit


17 Apr, 2008

1 commit

  • Having the id field be an int was making more complex bus topologies
    excessively difficult. For now, just convert it to a string, and
    change all instances of "bus->id = val" to
    snprintf(id, MII_BUS_ID_LEN, "%x", val).

    Signed-off-by: Andy Fleming
    Signed-off-by: Jeff Garzik

    Andy Fleming
     

12 Apr, 2008

1 commit


24 Feb, 2008

1 commit


28 Jan, 2008

1 commit


24 Jan, 2008

3 commits


13 Jan, 2008

1 commit

  • 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 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 7c6b1b78 38600000 90040004

    Signed-off-by: Anton Vorontsov
    Acked-by: Vitaly Bordug
    Signed-off-by: Jeff Garzik

    Anton Vorontsov
     

09 Jan, 2008

1 commit


21 Dec, 2007

1 commit


14 Dec, 2007

2 commits

  • This patch moves the CPM command handling into commproc.c
    for CPM1 and cpm2_common.c. This is yet another preparation
    to get rid of drivers accessing the CPM via the global cpmp.

    Signed-off-by: Jochen Friedrich
    Acked-by: Scott Wood
    Acked-by: Arnd Bergmann
    Signed-off-by: Vitaly Bordug

    Jochen Friedrich
     
  • fpi->cp_command should be overwritten only if CONFIG_PPC_CPM_NEW_BINDING
    is NOT set. Otherwise it is already set from the device tree.

    Signed-off-by: Jochen Friedrich
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Vitaly Bordug
    Signed-off-by: Kumar Gala

    Jochen Friedrich
     

15 Nov, 2007

1 commit

  • 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: Jochen Friedrich
    Signed-off-by: David S. Miller

    Jochen Friedrich
     

18 Oct, 2007

1 commit

  • 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: Scott Wood
    Signed-off-by: Jeff Garzik

    Scott Wood
     

11 Oct, 2007

12 commits