27 Dec, 2009

1 commit

  • Commit f001fde5eadd915f4858d22ed70d7040f48767cf changed
    net_device.dev_addr from a 32-byte array to a pointer.

    I found 4 ethernet drivers which rely on sizeof(dev_addr), which are now
    only copying 4 bytes of the address information on 32bit systems.

    Fix them to use ETH_ALEN.

    Signed-off-by: Daniel Drake
    Reviewed-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Daniel Drake
     

04 Dec, 2009

1 commit

  • Only files where David Miller is the primary git-signer.
    wireless, wimax, ixgbe, etc are not modified.

    Compile tested x86 allyesconfig only
    Not all files compiled (not x86 compatible)

    Added a few > 80 column lines, which I ignored.
    Existing checkpatch complaints ignored.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

19 Nov, 2009

1 commit

  • Not as fancy as coccinelle. Checkpatch errors ignored.
    Compile tested allyesconfig x86, not all files compiled.

    grep -rPl --include=*.[ch] "\brequest_irq\s*\([^,\)]+,\s*\&" drivers/net | while read file ; do \
    perl -i -e 'local $/; while (<>) { s@(\brequest_irq\s*\([^,\)]+,\s*)\&@\1@g ; print ; }' $file ;\
    done

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

12 Oct, 2009

1 commit


01 Sep, 2009

1 commit


13 Aug, 2009

1 commit


10 Aug, 2009

1 commit


05 Aug, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (47 commits)
    ehea: Fix napi list corruption on ifconfig down
    igbvf: Allow VF driver to correctly recognize failure to set mac
    3c59x: Fix build failure with gcc 3.2
    sky2: Avoid transmits during sky2_down()
    iwlagn: do not send key clear commands when rfkill enabled
    libertas: Read buffer overflow
    drivers/net/wireless: introduce missing kfree
    drivers/net/wireless/iwlwifi: introduce missing kfree
    zd1211rw: fix unaligned access in zd_mac_rx
    cfg80211: fix regression on beacon world roaming feature
    cfg80211: add two missing NULL pointer checks
    ixgbe: Patch to modify 82598 PCIe completion timeout values
    bluetooth: rfcomm_init bug fix
    mlx4_en: Fix double pci unmapping.
    mISDN: Fix handling of receive buffer size in L1oIP
    pcnet32: VLB support fixes
    pcnet32: remove superfluous NULL pointer check in pcnet32_probe1()
    net: restore the original spinlock to protect unicast list
    netxen: fix coherent dma mask setting
    mISDN: Read buffer overflow
    ...

    Linus Torvalds
     

03 Aug, 2009

2 commits

  • VLB support has been broken since at least 2004-2005 period as some
    changes introduced back then assumed that ->pci_dev is always valid,
    lets try to fix it:

    - remove duplicated SET_NETDEV_DEV() call

    - call SET_NETDEV_DEV() only for PCI devices

    - check for ->pci_dev validity in pcnet32_open()

    [ Alternatively we may consider removing VLB support but there would not
    be much gain in it since an extra driver code needed for VLB support is
    minimal and quite simple. ]

    This takes care of the following entry from Dan's list:

    drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev'

    Reported-by: Dan Carpenter
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Acked-by: Don Fry
    Signed-off-by: David S. Miller

    Don Fry
     
  • Move the debug printk() into the proper place and remove superfluous
    NULL pointer check in pcnet32_probe1().

    This takes care of the following entry from Dan's list:

    drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev'

    Reported-by: Dan Carpenter
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Acked-by: Don Fry
    Signed-off-by: David S. Miller

    Don Fry
     

09 Jul, 2009

1 commit

  • Commit 5fd29d6ccbc98884569d6f3105aeca70858b3e0f ("printk: clean up
    handling of log-levels and newlines") changed printk semantics. printk
    lines with multiple KERN_ prefixes are no longer emitted as
    before the patch.

    is now included in the output on each additional use.

    Remove all uses of multiple KERN_s in formats.

    Signed-off-by: Joe Perches
    Signed-off-by: Linus Torvalds

    Joe Perches
     

06 Jul, 2009

1 commit


30 Apr, 2009

1 commit

  • These two memory barriers in performance-critical paths are not needed
    on x86. Even if some other architecture does buffer PCI I/O space
    writes, the existing memory-mapped I/O barriers are unlikely to be what
    is needed.

    Signed-off-by: John Dykstra
    Acked-by: Don Fry
    Signed-off-by: David S. Miller

    John Dykstra
     

27 Apr, 2009

1 commit


22 Jan, 2009

1 commit

  • Following the removal of the unused struct net_device * parameter from
    the NAPI functions named *netif_rx_* in commit 908a7a1, they are
    exactly equivalent to the corresponding *napi_* functions and are
    therefore redundant.

    Signed-off-by: Ben Hutchings
    Acked-by: Neil Horman
    Signed-off-by: David S. Miller

    Ben Hutchings
     

09 Jan, 2009

1 commit

  • The link check watchdog timer on this driver fires every two seconds, but
    since not aligned it causes extra wakeups. It is more important on this
    driver than most because it is the hardware that is emulated by default
    when using network interfaces on VMware.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

08 Jan, 2009

1 commit


23 Dec, 2008

1 commit

  • When the napi api was changed to separate its 1:1 binding to the net_device
    struct, the netif_rx_[prep|schedule|complete] api failed to remove the now
    vestigual net_device structure parameter. This patch cleans up that api by
    properly removing it..

    Signed-off-by: Neil Horman
    Signed-off-by: David S. Miller

    Neil Horman
     

04 Nov, 2008

1 commit


28 Oct, 2008

1 commit

  • This converts pretty much everything to print_mac. There were
    a few things that had conflicts which I have just dropped for
    now, no harm done.

    I've built an allyesconfig with this and looked at the files
    that weren't built very carefully, but it's a huge patch.

    Signed-off-by: Johannes Berg
    Signed-off-by: David S. Miller

    Johannes Berg
     

26 May, 2008

1 commit


22 May, 2008

1 commit

  • pci_name() will be changed to return `const char *':

    drivers/net/pcnet32.c: In function 'pcnet32_probe1':
    drivers/net/pcnet32.c:1884: warning: passing argument 2 of 'pcnet32_alloc_ring' discards qualifiers from pointer target type

    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Andrew Morton
     

15 May, 2008

1 commit


13 May, 2008

1 commit


07 May, 2008

1 commit


11 Feb, 2008

2 commits


29 Jan, 2008

1 commit


09 Jan, 2008

1 commit

  • When we add the generic napi_disable_pending() breakout
    logic to net_rx_action() it means that napi_disable()
    can cause NAPI poll interrupt events to be disabled.

    And this is exactly what we want. If a napi_disable()
    is pending, and we are looping in the ->poll(), we want
    ->poll() event interrupts to stay disabled and we want
    to complete the NAPI poll ASAP.

    When ->poll() break out during device down was being handled on a
    per-driver basis, often these drivers would turn interrupts back on
    when '!netif_running()' was detected.

    And this would just cause a reschedule of the NAPI ->poll() in the
    interrupt handler before the napi_disable() could get in there and
    grab the NAPI_STATE_SCHED bit.

    The vast majority of drivers don't care if napi_disable() might have
    the side effect of disabling NAPI ->poll() event interrupts. In all
    such cases, when a napi_disable() is performed, the driver just
    disabled interrupts or is about to.

    However there were three exceptions to this in PCNET32, R8169, and
    SKY2. To fix those cases, at the subsequent napi_enable() points, I
    added code to ensure that the ->poll() interrupt events are enabled in
    the hardware.

    Signed-off-by: David S. Miller
    Acked-by: Don Fry

    David S. Miller
     

18 Oct, 2007

3 commits


11 Oct, 2007

6 commits

  • Signed-off-by: Al Viro
    Signed-off-by: Jeff Garzik

    Al Viro
     
  • These have been superceded by the new ->get_sset_count() hook.

    Signed-off-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Jeff Garzik
     
  • For the operations
    get-tx-csum
    get-sg
    get-tso
    get-ufo
    the default ethtool_op_xxx behavior is fine for all drivers, so we
    permit op==NULL to imply the default behavior.

    This provides a more uniform behavior across all drivers, eliminating
    ethtool(8) "ioctl not supported" errors on older drivers that had
    not been updated for the latest sub-ioctls.

    The ethtool_op_xxx() functions are left exported, in case anyone
    wishes to call them directly from a driver-private implementation --
    a not-uncommon case. Should an ethtool_op_xxx() helper remain unused
    for a while, except by net/core/ethtool.c, we can un-export it at a
    later date.

    [ Resolved conflicts with set/get value ethtool patch... -DaveM ]

    Signed-off-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Jeff Garzik
     
  • It's been a useless no-op for long enough in 2.6 so I figured it's time to
    remove it. The number of people that could object because they're
    maintaining unified 2.4 and 2.6 drivers is probably rather small.

    [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]

    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Ralf Baechle
     
  • Add suspend and resume capability to the driver.
    Tested both to ram and to disk on x86_64 platform.

    Signed-off-by: Don Fry
    Signed-off-by: Jeff Garzik

    Don Fry
     
  • Several devices have multiple independant RX queues per net
    device, and some have a single interrupt doorbell for several
    queues.

    In either case, it's easier to support layouts like that if the
    structure representing the poll is independant from the net
    device itself.

    The signature of the ->poll() call back goes from:

    int foo_poll(struct net_device *dev, int *budget)

    to

    int foo_poll(struct napi_struct *napi, int budget)

    The caller is returned the number of RX packets processed (or
    the number of "NAPI credits" consumed if you want to get
    abstract). The callee no longer messes around bumping
    dev->quota, *budget, etc. because that is all handled in the
    caller upon return.

    The napi_struct is to be embedded in the device driver private data
    structures.

    Furthermore, it is the driver's responsibility to disable all NAPI
    instances in it's ->stop() device close handler. Since the
    napi_struct is privatized into the driver's private data structures,
    only the driver knows how to get at all of the napi_struct instances
    it may have per-device.

    With lots of help and suggestions from Rusty Russell, Roland Dreier,
    Michael Chan, Jeff Garzik, and Jamal Hadi Salim.

    Bug fixes from Thomas Graf, Roland Dreier, Peter Zijlstra,
    Joseph Fannin, Scott Wood, Hans J. Koch, and Michael Chan.

    [ Ported to current tree and all drivers converted. Integrated
    Stephen's follow-on kerneldoc additions, and restored poll_list
    handling to the old style to fix mutual exclusion issues. -DaveM ]

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

01 Aug, 2007

1 commit


11 Jul, 2007

1 commit