1. 08 7月, 2008 6 次提交
  2. 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
  3. 03 7月, 2008 8 次提交
  4. 02 7月, 2008 3 次提交
  5. 01 7月, 2008 8 次提交
  6. 30 6月, 2008 1 次提交
  7. 28 6月, 2008 4 次提交
    • L
      CONNECTOR: add a proc entry to list connectors · a0a61a60
      Li Zefan 提交于
      I got a problem when I wanted to check if the kernel supports process
      event connector, and It seems there's no way to do this check.
      
      At best I can check if the kernel supports connector or not, by looking
      into /proc/net/netlink, or maybe checking the return value of bind() to
      see if it's ENOENT.
      
      So it would be useful to add /proc/net/connector to list all supported
      connectors:
       # cat /proc/net/connector
       Name            ID
       connector       4294967295:4294967295
       cn_proc         1:1
       w1              3:1
      
      Changelog:
      - fix memory leak: s/seq_release/single_release
      - use spin_lock_bh instead of spin_lock_irqsave
      Signed-off-by: NLi Zefan <lizf@cn.fujitsu.com>
      Acked-by: NEvgeniy Polyakov <johnpol@2ka.mipt.ru>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a0a61a60
    • A
      hamradio: remove unused variable · 47979821
      Andre Haupt 提交于
      Signed-off-by: NAndre Haupt <andre@bitwigglers.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      47979821
    • N
      Fix error paths if md_probe fails. · 9bbbca3a
      Neil Brown 提交于
      md_probe can fail (e.g. alloc_disk could fail) without
      returning an error (as it alway returns NULL).
      So when we call mddev_find immediately afterwards, we need
      to check that md_probe actually succeeded.  This means checking
      that mdev->gendisk is non-NULL.
      
      cc: <stable@kernel.org>
      Cc: Dave Jones <davej@redhat.com>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      9bbbca3a
    • N
      Don't acknowlege that stripe-expand is complete until it really is. · efe31143
      Neil Brown 提交于
      We shouldn't acknowledge that a stripe has been expanded (When
      reshaping a raid5 by adding a device) until the moved data has
      actually been written out.  However we are currently
      acknowledging (by calling md_done_sync) when the POST_XOR
      is complete and before the write.
      
      So track in s.locked whether there are pending writes, and don't
      call md_done_sync yet if there are.
      
      Note: we all set R5_LOCKED on devices which are are about to
      read from.  This probably isn't technically necessary, but is
      usually done when writing a block, and justifies the use of
      s.locked here.
      
      This bug can lead to a crash if an array is stopped while an reshape
      is in progress.
      
      Cc: <stable@kernel.org>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      efe31143