1. 11 7月, 2008 1 次提交
  2. 10 7月, 2008 3 次提交
  3. 08 7月, 2008 5 次提交
  4. 04 7月, 2008 10 次提交
    • L
      fs_enet: restore promiscuous and multicast settings in restart() · c5a78ac0
      Laurent Pinchart 提交于
      The restart() function is called when the link state changes and resets
      multicast and promiscuous settings. This patch restores those settings at the
      end of restart().
      Signed-off-by: NLaurent Pinchart <laurentp@cse-semaphore.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      c5a78ac0
    • S
      ibm_newemac: Fixes entry of short packets · 6c688f42
      Sathya Narayanan 提交于
      Short packets has to be discarded by the driver. So this patch addresses the
      issue of discarding the short packets of size lesser then ethernet header
      size.
      Signed-off-by: NSathya Narayanan <sathyan@teamf1.com>
      Signed-off-by: NStefan Roese <sr@denx.de>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      6c688f42
    • S
      ibm_newemac: Fixes kernel crashes when speed of cable connected changes · ab9b30cc
      Sathya Narayanan 提交于
      The descriptor pointers were not initialized to NIL values, so it was
      poiniting to some random addresses which was completely invalid. This
      fix takes care of initializing the descriptor to NIL values and clearing
      the valid descriptors on clean ring operation.
      Signed-off-by: NSathya Narayanan <sathyan@teamf1.com>
      Signed-off-by: NStefan Roese <sr@denx.de>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ab9b30cc
    • R
      pasemi_mac: Access iph->tot_len with correct endianness · 77321233
      Roland Dreier 提交于
      iph->tot_len is stored in network byte order, so access it using
      ntohs().  This doesn't have any real world impact on pasemi_mac, since
      the device only exists as part of a big-endian system-on-chip, but
      fixing this gets rid of a sparse warning and avoids having a bad example
      in the tree.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      77321233
    • R
      ehea: Access iph->tot_len with correct endianness · 3ff2cd23
      Roland Dreier 提交于
      iph->tot_len is stored in network byte order, so access it using
      ntohs().  This doesn't have any real world impact on ehea, since ehea
      only exists for big-endian platfroms (at the moment at least) but fixing
      this gets rid of a sparse warning and avoids having a bad example in the
      tree.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      3ff2cd23
    • J
      ehea: fix race condition · 2f69ae01
      Jan-Bernd Themann 提交于
      When ehea_stop is called the function
      cancel_work_sync(&port->reset_task) is used to ensure
      that the reset task is not running anymore. We need an
      additional flag to ensure that it can not be scheduled
      after this call again for a certain time.
      Signed-off-by: NJan-Bernd Themann <themann@de.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      2f69ae01
    • J
      ehea: add MODULE_DEVICE_TABLE · b0afffe8
      Jan-Bernd Themann 提交于
      Required to allow distros to easily detect when ehea
      module needs to be loaded
      Signed-off-by: NJan-Bernd Themann <themann@de.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      b0afffe8
    • J
      ehea: fix might sleep problem · 5c2cec14
      Jan-Bernd Themann 提交于
      A mutex has to be replaced by spinlocks as it can be called from
      a context which does not allow sleeping.
      The kzalloc flag GFP_KERNEL has to be replaced by GFP_ATOMIC
      for the same reason.
      Signed-off-by: NJan-Bernd Themann <themann@de.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      5c2cec14
    • T
      forcedeth: fix lockdep warning on ethtool -s · 97bff095
      Tobias Diedrich 提交于
      After enabling CONFIG_LOCKDEP and CONFIG_PROVE_LOCKING I get the
      following warning when ethtool -s is first called on one of the
      forcedeth ports:
      
      =================================
      [ INFO: inconsistent lock state ]
      2.6.26-rc4 #28
      ---------------------------------
      inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
      ethtool/1985 [HC0[0]:SC0[1]:HE1:SE0] takes:
       (&np->lock){++..}, at: [<ffffffffa000c5fd>] nv_set_settings+0xc8/0x3de [forcedeth]
      {in-hardirq-W} state was registered at:
        [<ffffffffffffffff>] 0xffffffffffffffff
      irq event stamp: 3606
      hardirqs last  enabled at (3605): [<ffffffff8068106f>] _spin_unlock_irqrestore+0x3f/0x68
      hardirqs last disabled at (3604): [<ffffffff80680d38>] _spin_lock_irqsave+0x13/0x46
      softirqs last  enabled at (3534): [<ffffffff80246ba5>] __do_softirq+0xbc/0xc5
      softirqs last disabled at (3606): [<ffffffff80680b33>] _spin_lock_bh+0x11/0x41
      
      other info that might help us debug this:
      2 locks held by ethtool/1985:
       #0:  (rtnl_mutex){--..}, at: [<ffffffff80596072>] rtnl_lock+0x12/0x14
       #1:  (_xmit_ETHER){-+..}, at: [<ffffffffa000c5e8>] nv_set_settings+0xb3/0x3de [forcedeth]
      stack backtrace:
      Pid: 1985, comm: ethtool Not tainted 2.6.26-rc4 #28
      Call Trace:
       [<ffffffff8025f190>] print_usage_bug+0x162/0x173
       [<ffffffff8025fa8b>] mark_lock+0x231/0x41f
       [<ffffffff802607cf>] __lock_acquire+0x4e7/0xcac
       [<ffffffff8025fe64>] ? trace_hardirqs_on+0xf1/0x115
       [<ffffffff80272c3a>] ? disable_irq_nosync+0x6f/0x7b
       [<ffffffff80261375>] lock_acquire+0x55/0x6e
       [<ffffffffa000c5fd>] ? :forcedeth:nv_set_settings+0xc8/0x3de
       [<ffffffff80680b15>] _spin_lock+0x2f/0x3c
       [<ffffffffa000c5fd>] :forcedeth:nv_set_settings+0xc8/0x3de
       [<ffffffff8058f8bb>] dev_ethtool+0x186/0xea3
       [<ffffffff8067f446>] ? mutex_lock_nested+0x243/0x275
       [<ffffffff8025df2b>] ? debug_mutex_free_waiter+0x46/0x4a
       [<ffffffff8067f469>] ? mutex_lock_nested+0x266/0x275
       [<ffffffff8058e1ce>] dev_ioctl+0x4eb/0x600
       [<ffffffff8068106f>] ? _spin_unlock_irqrestore+0x3f/0x68
       [<ffffffff80580f91>] sock_ioctl+0x1f5/0x202
       [<ffffffff802a322e>] vfs_ioctl+0x2a/0x77
       [<ffffffff802a34d6>] do_vfs_ioctl+0x25b/0x270
       [<ffffffff806807b6>] ? trace_hardirqs_on_thunk+0x35/0x3a
       [<ffffffff802a352d>] sys_ioctl+0x42/0x65
       [<ffffffff8021fffb>] system_call_after_swapgs+0x7b/0x80
      
      This is caused by the following snippet in nv_set_settings:
      
      	netif_carrier_off(dev);
      	if (netif_running(dev)) {
      		nv_disable_irq(dev);
      		netif_tx_lock_bh(dev);
      		spin_lock(&np->lock);
      		/* stop engines */
      		nv_stop_rxtx(dev);
      		spin_unlock(&np->lock);
      		netif_tx_unlock_bh(dev);
      	}
      
      Because of nv_disable_irq this is probably not really a problem
      though (I guess) and replacing the spin_lock with spin_lock_irqsave
      could keep interrupts disabled for a longer period of time because
      of delays in nv_stop_rx and nv_stop_tx.
      Signed-off-by: NTobias Diedrich <ranma+kernel@tdiedrich.de>
      Cc: Ayaz Abdulla <aabdulla@nvidia.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      97bff095
    • K
      Add missing skb->dev assignment in Frame Relay RX code · 54364b75
      Krzysztof Halasa 提交于
      Commit 4c13eb66 ([ETH]: Make
      eth_type_trans set skb->dev like the other *_type_trans) removed
      skb->dev assignment from hdlc_fr.c:fr_rx(). Unfortunately it was also
      needed for cases other than eth_type_trans().
      
      Adding it back.
      
      It's quite serious and may be a security risk as it causes a wrong
      input interface indication (the physical hdlcX instead of logical
      pvcX). Probably -stable class fix.
      Signed-off-by: NKrzysztof Halasa <khc@pm.waw.pl>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      54364b75
  5. 03 7月, 2008 4 次提交
  6. 02 7月, 2008 1 次提交
    • H
      macb: Basic suspend/resume support · c1f598fd
      Haavard Skinnemoen 提交于
      This implements suspend and resume callbacks for the macb driver. We may
      have to do some more to gracefully shut the MAC down, but this at least
      prevents the macb from waking the system when hooked up to a busy
      network.
      Signed-off-by: NHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: Patrice Vilchez <patrice.vilchez@rfo.atmel.com>
      Cc: Nicolas FERRE <nicolas.ferre@rfo.atmel.com>
      c1f598fd
  7. 01 7月, 2008 2 次提交
  8. 28 6月, 2008 3 次提交
  9. 27 6月, 2008 11 次提交
    • B
      Hold RTNL while calling dev_close() · 3e3cda96
      Ben Hutchings 提交于
      dev_close() must be called holding the RTNL.  Compile-tested only.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      3e3cda96
    • B
      qla3xxx: Hold RTNL while calling dev_close() · c81ec80b
      Ben Hutchings 提交于
      dev_close() must be called holding the RTNL.  Compile-tested only.
      Signed-off-by: NBen Hutchings <bhutchings@solarflare.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      c81ec80b
    • A
      [netdrvr] Fix IOMMU overflow checking in s2io.c · 64c42f69
      Andi Kleen 提交于
      s2io has IOMMU overflow checking, but unfortunately it is wrong.
      
      It didn't use the standard macros, which meant that it only worked
      on POWER and SPARC because only those define DMA_ERROR_CODE. Convert it to
      use the standard macros instead.
      
      I also commented two more bugs in the IOMMU handling. It assumes
      that 0 DMA addresses cannot happen, but that's not true in all IOMMU setups.
      The information if a buffer has been already mapped needs to be stored
      elsewhere.
      
      Didn't fix those because it needs careful checking of the buffer handling
      by the maintainers.
      
      Cc: ram.vepa@neterion.com
      Cc: santosh.rastapur@neterion.com
      Cc: sivakumar.subramani@neterion.com
      Cc: sreenivasa.honnur@neterion.com
      Signed-off-by: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      64c42f69
    • A
      e1000: only enable TSO6 via ethtool when using correct hardware · 581abbc2
      Andy Gospodarek 提交于
      When enabling TSO via ethool on e1000, it is possible to set
      NETIF_F_TSO6 on hardware that does not support it.  Setting TSO via
      ethtool now matches the settings used when the hardware is probed.
      Signed-off-by: NAndy Gospodarek <andy@greyhouse.net>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      581abbc2
    • K
      e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx · 1923815d
      Kevin Hao 提交于
      The E100 device can't work on current kernel (2.6.26-rc6) and will cause
      kernel corruption on intel ixdp4xx.
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      1923815d
    • A
      [netdrvr] netxen: fix netxen_pci_tbl[] breakage · 70081ac5
      Al Viro 提交于
      	PCI_DEVICE_CLASS sets .device and .vendor to PCI_ANY_DEV,
      which overrides the effect of preceding PCI_DEVICE() and makes
      all elements of netxen_pci_tbl[] identical.  Introduced in the
      commit dcd56fdb.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      70081ac5
    • I
      [netdrvr] 3c59x: remove irqs_disabled warning from local_bh_enable · c5643cab
      Ingo Molnar 提交于
      Original Author: Michael Buesch <mb@bu3sch.de>
      
      net, vortex: fix lockup
      
      Ingo Molnar reported:
      
      -tip testing found that Johannes Berg's "softirq: remove irqs_disabled
      warning from local_bh_enable" enhancement to lockdep triggers a new
      warning on an old testbox that uses 3c59x vortex and netlogging:
      
      ----->
          calling  vortex_init+0x0/0xb0
          PCI: Found IRQ 10 for device 0000:00:0b.0
          PCI: Sharing IRQ 10 with 0000:00:0a.0
          PCI: Sharing IRQ 10 with 0000:00:0b.1
          3c59x: Donald Becker and others.
          0000:00:0b.0: 3Com PCI 3c556 Laptop Tornado at e0800400.
          PCI: Enabling bus mastering for device 0000:00:0b.0
          initcall vortex_init+0x0/0xb0 returned 0 after 47 msecs
      ...
          calling  init_netconsole+0x0/0x1b0
          netconsole: local port 4444
          netconsole: local IP 10.0.1.9
          netconsole: interface eth0
          netconsole: remote port 4444
          netconsole: remote IP 10.0.1.16
          netconsole: remote ethernet address 00:19:xx:xx:xx:xx
          netconsole: device eth0 not up yet, forcing it
          eth0:  setting half-duplex.
          eth0:  setting full-duplex.
      ------------[ cut here ]------------
          WARNING: at kernel/softirq.c:137 local_bh_enable_ip+0xd1/0xe0()
          Pid: 1, comm: swapper Not tainted 2.6.26-rc6-tip #2091
           [<c0125ecf>] warn_on_slowpath+0x4f/0x70
           [<c0126834>] ? release_console_sem+0x1b4/0x1d0
           [<c0126d00>] ? vprintk+0x2a0/0x450
           [<c012fde5>] ? __mod_timer+0xa5/0xc0
           [<c046f7fd>] ? mdio_sync+0x3d/0x50
           [<c0160ef6>] ? marker_probe_cb+0x46/0xa0
           [<c0126ed7>] ? printk+0x27/0x50
           [<c046f4c3>] ? vortex_set_duplex+0x43/0xc0
           [<c046f521>] ? vortex_set_duplex+0xa1/0xc0
           [<c0471b92>] ? vortex_timer+0xe2/0x3e0
           [<c012b361>] local_bh_enable_ip+0xd1/0xe0
           [<c08d9f9f>] _spin_unlock_bh+0x2f/0x40
           [<c0471b92>] vortex_timer+0xe2/0x3e0
           [<c014743b>] ? trace_hardirqs_on+0xb/0x10
           [<c0147358>] ? trace_hardirqs_on_caller+0x88/0x160
           [<c012f8b2>] run_timer_softirq+0x162/0x1c0
           [<c0471ab0>] ? vortex_timer+0x0/0x3e0
           [<c012b361>] local_bh_enable_ip+0xd1/0xe0
           [<c08d9f9f>] _spin_unlock_bh+0x2f/0x40
           [<c0471b92>] vortex_timer+0xe2/0x3e0
           [<c014743b>] ? trace_hardirqs_on+0xb/0x10
           [<c0147358>] ? trace_hardirqs_on_caller+0x88/0x160
           [<c012f8b2>] run_timer_softirq+0x162/0x1c0
           [<c0471ab0>] ? vortex_timer+0x0/0x3e0
           [<c0471ab0>] ? vortex_timer+0x0/0x3e0
           [<c012b60a>] __do_softirq+0x9a/0x160
           [<c012b570>] ? __do_softirq+0x0/0x160
           [<c0106775>] call_on_stack+0x15/0x30
           [<c012b4f5>] ? irq_exit+0x55/0x60
           [<c0106e85>] ? do_IRQ+0x85/0xd0
           [<c0147391>] ? trace_hardirqs_on_caller+0xc1/0x160
           [<c0104888>] ? common_interrupt+0x28/0x30
           [<c08d8ac8>] ? mutex_unlock+0x8/0x10
           [<c08d8180>] ? _cond_resched+0x10/0x30
           [<c07a3be7>] ? netpoll_setup+0x117/0x390
           [<c0cbfcfe>] ? init_netconsole+0x14e/0x1b0
           [<c013d539>] ? ktime_get+0x19/0x40
           [<c0c9bab2>] ? kernel_init+0x1b2/0x2c0
           [<c0cbfbb0>] ? init_netconsole+0x0/0x1b0
           [<c0396aa4>] ? trace_hardirqs_on_thunk+0xc/0x10
           [<c0103f12>] ? restore_nocheck_notrace+0x0/0xe
           [<c0c9b900>] ? kernel_init+0x0/0x2c0
           [<c0c9b900>] ? kernel_init+0x0/0x2c0
           [<c0104aa7>] ? kernel_thread_helper+0x7/0x10
           =======================
      ---[ end trace 37f9c502aff112e0 ]---
          console [netcon0] enabled
          netconsole: network logging started
          initcall init_netconsole+0x0/0x1b0 returned 0 after 2914 msecs
      
      looking at the driver I think the bug is real and the fix actually
      is trivial.
      
      vp->lock is also taken in hardware IRQ context, so we _have_ to always
      use irqsafe locking. As we run in a timer with IRQs disabled,
      we can simply use spin_lock.
      
      Cc: <stable@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      c5643cab
    • P
      ipg: use NULL, not zero, for pointers · e8399fed
      Pekka Enberg 提交于
      Fixes a sparse warning in a code block that's hidden under JUMBO_FRAME #ifdef.
      Tested-by: NAndrew Savchenko <Bircoph@list.ru>
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e8399fed
    • P
      ipg: fix jumbo frame compilation · ecfecfb5
      Pekka Enberg 提交于
      Make jumbo frame support compile again. It was broken by the cleanup series
      before the merge because the code is hidden under JUMBO_FRAME #ifdef.
      Tested-by: NAndrew Savchenko <Bircoph@list.ru>
      Signed-off-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ecfecfb5
    • J
      drivers/net/r6040.c: Eliminate double sizeof · 3f6602ad
      Julia Lawall 提交于
      Taking sizeof the result of sizeof is quite strange and does not seem to be
      what is wanted here.
      
      This was fixed using the following semantic patch.
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@
      expression E;
      @@
      
      - sizeof (
        sizeof (E)
      - )
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      3f6602ad
    • K
      54299ef7