- 04 7月, 2008 10 次提交
-
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
- 03 7月, 2008 3 次提交
-
-
由 andrey@cozybit.com 提交于
Handle .reset_resume() so that libertas can survive suspend/resume without reloading the firmware. Signed-off-by: NAndrey Yurovsky <andrey@cozybit.com> Acked-by: NDeepak Saxena <dsaxena@laptop.org> Acked-by: NDan Williams <dcbw@redhat.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Zhu Yi 提交于
This patch fixes the problem to keep mac80211 resubmitting SKBs when Tx request cannot be met in monitor mode. Signed-off-by: NZhu Yi <yi.zhu@intel.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Rick Farrington 提交于
This patch fixes the rates reported in monitor mode operation (Wireshark) for iwlwifi. Previously, packets with rates of 6M..24M would be reported incorrectly and packets with rates of 36M..54M would not passed up the stack. Signed-off-by: NRick Farrington <rickdic@hotmail.com> Signed-off-by: NZhu Yi <yi.zhu@intel.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 01 7月, 2008 2 次提交
-
-
由 Pavel Roskin 提交于
Rewrite AID calculation in handle_pspoll() to avoid truncating bits. Make hostap_80211_header_parse() static, don't export it. Avoid shadowing variables. Signed-off-by: NPavel Roskin <proski@gnu.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Pavel Roskin 提交于
DEBUG_EXTRA is reported to the kernel log by default, but DEBUG_EXTRA2 is not. Unrelated WDS frames pollute the log unnecessarily. Signed-off-by: NPavel Roskin <proski@gnu.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 28 6月, 2008 3 次提交
-
-
由 Andre Haupt 提交于
Signed-off-by: NAndre Haupt <andre@bitwigglers.org> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
由 Harvey Harrison 提交于
clock is already cpu-endian (see le32_to_cpu slightly before), so le64_to_cpu doesn't make much sense. Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Ivo van Doorn 提交于
This fixes a circular locking dependency in the workqueue handling. The interface work task uses the mac80211 function ieee80211_iterate_active_interfaces() which grabs the RTNL lock. However when the interface is brough down, this happens under the RTNL lock as well, this causes problems because mac80211 will flush the workqueue during the ifdown event. This causes mac80211 to wait until the driver has completed all work which can't finish because it is waiting on the RTNL lock. This is fixed by moving rt2x00 workqueue tasks on a different workqueue, this workqueue can be flushed when the ieee80211_hw structure is removed by the driver (when the driver is unloaded) which does not happen under the RTNL lock. Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
- 27 6月, 2008 16 次提交
-
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 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>
-
由 Komuro 提交于
Signed-off-by: NKomuro <komurojun-mbn@nifty.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Jeff Kirsher 提交于
EEH is not recovering in a reasonable amount of time on PPC during e1000e_down(). Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Jeff Kirsher 提交于
EEH is not recovering in a reasonable amount of time on PPC during igb_down(). Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Paul Larson 提交于
EEh is not recovering in a resonable amount of time on PPC during ixgbe_down(). Signed-off-by: NPaul Larson <pl@us.ibm.com> Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Atsushi Nemoto 提交于
On Rx FIFO overflow error, the controller consume a buffer descriptor but currently the driver does not give it back to the controller. This results unrecoverable 'Buffer List Exhausted' condition. This patch fix this problem by moving a "fbl_count--" line to proper place. Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
由 Atsushi Nemoto 提交于
Call netif_carrier_off() before starting PHY device. This is a behavior before converting to generic PHY layer. Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
-
- 25 6月, 2008 6 次提交
-
-
由 Ron Rindjunsky 提交于
This patch modifies the band selection management when scanning, so bands are now scanned according to HW band support. Signed-off-by: NRon Rindjunsky <ron.rindjunsky@intel.com> Signed-off-by: NTomas Winkler <tomas.winkler@intel.com> Signed-off-by: NZhu Yi <yi.zhu@intel.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Ivo van Doorn 提交于
The usb_cache_mutex was not correctly released under all circumstances. Both rt73usb as rt2500usb didn't release the mutex under certain conditions when the register access failed. Obviously such failure would lead to deadlocks. In addition under similar circumstances when the bbp register couldn't be read the value must be set to 0xff to indicate that the value is wrong. This too didn't happen under all circumstances. Signed-off-by: NIvo van Doorn <IvDoorn@gmail.com> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Michael Buesch 提交于
This fixes a possible NULL pointer dereference in an error path of the DMA allocation error checking code. This is also necessary for a future DMA API change that is on its way into the mainline kernel that adds an additional dev parameter to dma_mapping_error(). Signed-off-by: NMichael Buesch <mb@bu3sch.de> Cc: stable <stable@kernel.org> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Michael Buesch 提交于
This fixes a possible MMIO access while the device is still down from a suspend cycle. MMIO accesses with the device powered down may cause crashes on certain devices. Signed-off-by: NMichael Buesch <mb@bu3sch.de> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Michael Buesch 提交于
Never return TX_BUSY from op_tx. It doesn't make sense to return TX_BUSY, if we can not transmit the packet. Drop the packet and return TX_OK. Signed-off-by: NMichael Buesch <mb@bu3sch.de> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-
由 Michael Buesch 提交于
Never return TX_BUSY from op_tx. It doesn't make sense to return TX_BUSY, if we can not transmit the packet. Drop the packet and return TX_OK. This will fix the resume hang. Signed-off-by: NMichael Buesch <mb@bu3sch.de> Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
-