- 22 6月, 2007 10 次提交
-
-
由 Arjan van de Ven 提交于
Do not mark the kernel text read only if KPROBES is in the kernel; kprobes needs to hot-patch the kernel text to insert it's instrumentation. In this case, only mark the .rodata segment as read only. Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Tested-by: NS. P. Prasanna <prasanna@in.ibm.com> Cc: Andi Kleen <ak@suse.de> Cc: William Cohen <wcohen@redhat.com> Cc: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Linus Torvalds 提交于
* master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart: [AGPGART] intel_agp: don't load if no IGD and AGP port
-
git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6由 Linus Torvalds 提交于
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kyle/parisc-2.6: [PARISC] unwinder improvements [PARISC] Fix unwinder on 64-bit kernels [PARISC] Handle wrapping in expand_upwards() [PARISC] stop lcd driver from stripping initial whitespace
-
由 Thomas Gleixner 提交于
posix-timers which deliver an ignored signal are currently rearmed in the timer softirq: This is necessary because the timer needs to be delivered again when SIG_IGN is removed. This is not a problem, when the interval is reasonable. With high resolution timers enabled one might arm a posix timer with a very small interval and ignore the signal. This might lead to a softirq starvation when the interval is so small that the timer is requeued onto the softirq pending list right away. This problem was pointed out by Jan Kiszka. Thanks Jan ! The correct solution would be to stop the timer, when the signal is ignored and rearm it when SIG_IGN is removed. Unfortunately this requires modification in sigaction and involves non trivial sighand locking. It's too late in the release cycle for such a change. For now we just keep the timer running and enforce that the timer only fires every jiffie. This does not break anything as we keep the overrun counter correct. It adds a little inaccuracy to the timer_gettime() interface, but... The more complex change is necessary anyway to fix another short coming of the current implementation, which I discovered while looking at this problem: A pending signal is discarded when SIG_IGN is set. In case that a posixtimer signal is pending then it is discarded as well, but when SIG_IGN is removed later nothing rearms the timer. This is not new, it's that way since posix timers have been merged. So nothing to worry about right now. I have a working solution to fix all of this, but the impact is too large for both stable and 2.6.22. I'm going to send it out for review in the next days. This should go into 2.6.21.stable as well. Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Acked-by: NIngo Molnar <mingo@elte.hu> Cc: Jan Kiszka <jan.kiszka@web.de> Cc: Ulrich Drepper <drepper@redhat.com> Cc: Stable Team <stable@kernel.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Hugh Dickins 提交于
Nicolas Ferre reports oops from flush_dcache_page() on ARM when using SLUB: which reuses page->mapping as page->slab. The page_mapping() function, used by ARM and PA-RISC flush_dcache_page() implementations, must not confuse SLUB pages with those which have page->mapping set. Signed-off-by: NHugh Dickins <hugh@veritas.com> Cc: Nicolas Ferre <nicolas.ferre@rfo.atmel.com> Cc: Christoph Lameter <clameter@sgi.com> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
由 Randolph Chung 提交于
Add special-case handling for "handle_interruption" so that we can rewind past the interruption. This is useful for seeing what caused a BUG() or WARN_ON(); otherwise the unwind stops at the interruption. Signed-off-by: NRandolph Chung <tausq@debian.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Randolph Chung 提交于
The unwinder was broken by the shift of PAGE_OFFSET in order to increase the size of the vmalloc area on 64-bit kernels. Signed-off-by: NRandolph Chung <tausq@debian.org> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Helge Deller 提交于
Function expand_upwards() did not guarded against wrapping around to address 0. This fixes the adjtimex02 testcase from the Linux Test Project on a 32bit PARISC kernel. [expand_upwards is only used on parisc and ia64; it looks like it does the right thing on both. --kyle] Signed-off-by: NHelge Deller <deller@gmx.de> Cc: Tony Luck <tony.luck@intel.com> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Julian Stecklina 提交于
Signed-off-by: NJulian Stecklina <der_julian@web.de> Signed-off-by: NKyle McMartin <kyle@parisc-linux.org>
-
由 Wang Zhenyu 提交于
After i915 chip, GMCH has no AGP port. Origin bridge driver in device table will try to access illegal regs like APBASE, APSIZE, etc. This may cause problem. So mark them as NULL in the table, we won't load if no IGD got detect and bridge has no AGP port. Signed-off-by: NWang Zhenyu <zhenyu.z.wang@intel.com> Signed-off-by: NDave Jones <davej@redhat.com>
-
- 21 6月, 2007 30 次提交
-
-
由 Linus Torvalds 提交于
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: fix module_param mistake in it821x ahci: fix PORTS_IMPL override kerneldoc fix in libata libata: more NONCQ devices pata_it821x: (partially) fix DMA in RAID mode PATA: Add the MCP73/77 support to PATA driver
-
由 Stas Sergeev 提交于
The attached patch fixes a trivial mistake in a MODULE_PARAM_DESC of pata_it821x driver. The parameter name in MODULE_PARAM_DESC should match the one in module_param_named. Signed-off-by: NStas Sergeev <stsp@aknet.ru> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Tejun Heo 提交于
If PORTS_IMPL register is zero, ahci initialize it to full mask corresponding to nr_ports in the CAP register. hpriv->cap, which is initialized at the end of the function, is incorrectly used as value of CAP causing ahci to always override PORTS_IMPL to 0x1 if it's zero. Fix it. This fixes a bug where early ich6 ahci can only access the first port. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Henrik Kretzschmar 提交于
Fix parameter name from ata_dev_reread_id() in libata-core.c for kerneldoc. Signed-off-by: NHenrik Kretzschmar <henne@nachtwindheim.de> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Tejun Heo 提交于
More for the NCQ blacklist. One hitachi and one raptor. Other members of these families of drives are already on the list, so no surprises. Signed-off-by: NTejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
Code intended to check DMA status was checking DMA command register. Moreover firmware seems to "forget" to set DMA capable bit for the slave device (at least in RAID mode but without ITE RAID volumes) so check device ID for DMA capable bit when deciding whether to use DMA and remove DMA status check completely. Thanks to Pavol Simo for the bugreport and testing the initial fix. This change unfortunately still doesn't fix DMA in RAID mode (which works fine with IDE it821x) but Alan is working on the missing pieces (pata_it821x vs libata EH issues). Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com> Acked-by: NAlan Cox <alan@redhat.com> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Peer Chen 提交于
Add the MCP73/MCP77 support to PATA driver. The patch base on kernel 2.6.22-rc4 Signed-off-by: NPeer Chen <peerchen@gmail.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Divy Le Ray 提交于
Fix variables initialization and usage in the MAC watchdog. Signed-off-by: NDivy Le Ray <divy@chelsio.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Divy Le Ray 提交于
Rx traffic needs to be halted when the MTU is changed to avoid a potential chip hang. Reset/restore MAC filters around a MTU change. Also fix the pause frames high materwark setting. Signed-off-by: NDivy Le Ray <divy@chelsio.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Divy Le Ray 提交于
Check all lanes for link status on direct XAUI cards. Don't assume that direct XAUI always uses XGMAC 1. Signed-off-by: NDivy Le Ray <divy@chelsio.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Divy Le Ray 提交于
Fix netpoll handler to work with line interrupt, msi and msi-x. Signed-off-by: NDivy Le Ray <divy@chelsio.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Divy Le Ray 提交于
eth_type_trans() now sets skb->dev. References to skb->dev should happen after it is called. Signed-off-by: NDivy Le Ray <divy@chelsio.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Gregory Haskins 提交于
The spinlock irq flags should be a unsigned long to properly support 64 bit Signed-off-by: NGregory Haskins <ghaskins@novell.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Tim Mann 提交于
I happened to notice that a system with an NVidia NIC using the forcedeth driver won't wake-on-LAN if the interface was in promiscuous mode when you power off. By experiment, it looks like the hardware needs to have NvRegPacketFilterFlags set to NVREG_PFF_ALWAYS|NVREG_PFF_MYADDR (i.e., receive unicast packets to my address) in order for WoL to work. Jeff Garzik writes: "NVIDIA says the patch looks OK." I didn't venture to insert a signed-off-by line with his name on it, though. Signed-off-by: NTim Mann <mann@vmware.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Martin Schwidefsky 提交于
The recent iucv rework patches re-introduced some unnecessary inlines. Remove them again. Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NMartin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Thomas Gleixner 提交于
spinlock initializer cleanup in netiucv.c Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ursula Braun 提交于
net/iucv/iucv.c creates the requirement for iucv_path_connect not to be called from tasklet context anymore. An extra checking is added in case of a failing netiucv_tx to fulfil this requirement for netiucv. Signed-off-by: NUrsula Braun <braunu@de.ibm.com> Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Cornelia Huck 提交于
Use ccw_device_get_id() to get a device number instead of parsing the ccw device's bus id. Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Frank Pavlic 提交于
Packets Length in qdio header is broken when using EDDP on Layer2 devices. This leads to skb_under_panic on receiver system when running on z/VM GuestLAN devices. Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ursula Braun 提交于
ipv6_regen_rndid in net/ipv6/addrconf.c makes use of "write_lock_bh" for its inet6_dev->lock. It may run in softirq-context. qeth makes use of "read_lock" for the same inet6_dev->lock. To avoid a potential deadlock situation, qeth should make use of "read_lock_bh" for its usages of inet6_dev->lock. Signed-off-by: NUrsula Braun <braunu@de.ibm.com> Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ursula Braun 提交于
While first recovery continues, the card issues a STARTLAN command itself. In this case qeth schedules another recovery. This second recovery is cancelled because of an already running first recovery. Stop first recovery in case of 0xe080. Signed-off-by: NUrsula Braun <braunu@de.ibm.com> Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ursula Braun 提交于
For real HiperSockets the EBCDIC-ASCII conversion is not necessary. This is only needed for z/VM GuestLAN devices. Signed-off-by: NUrsula Braun <braunu@de.ibm.com> Signed-off-by: NFrank Pavlic <fpavlic@de.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jay Vosburgh 提交于
Modify carrier state determination for 802.3ad mode to comply with section 43.3.9 of IEEE 802.3, which requires that "Links that are not successful candidates for aggregation (e.g., links that are attached to other devices that cannot perform aggregation or links that have been manually configured to be non-aggregatable) are enabled to operate as individual IEEE 802.3 links." Bug reported by Laurent Chavey <chavey@google.com>. This patch is an updated version of his patch that changes the wording of commentary and adds an update to the driver version. Signed-off-by: NJay Vosburgh <fubar@us.ibm.com> Signed-off-by: NLaurent Chavey <chavey@google.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jay Vosburgh 提交于
The following patch (based on a patch from Stephen Hemminger <shemminger@linux-foundation.org>) removes use after free conditions in the unregister path for the bonding master. Without this patch, an operation of the form "echo -bond0 > /sys/class/net/bonding_masters" would trigger a NULL pointer dereference in sysfs. I was not able to induce the failure with the non-sysfs code path, but for consistency I updated that code as well. I also did some testing of the bonding /proc file being open while the bond is being deleted, and didn't see any problems there. Signed-off-by: NJay Vosburgh <fubar@us.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Stephen Hemminger 提交于
It doesn't look like spidernet hardware can really checksum all protocols, the code looks like it does IPV4 only. If so, it should use NETIF_F_IP_CSUM instead of NETIF_F_HW_CSUM. The driver doesn't need it's own get/set for ethtool tx csum, and it should use the standard ethtool_op_get_link. Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: NLinas Vepstas <linas@austin.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Linas Vepstas 提交于
At some point, the transmit descriptor chain end interrupt (TXDCEINT) was turned on. This is a mistake; and it damages small packet transmit performance, as it results in a huge storm of interrupts. Turn it off. Signed-off-by: NLinas Vepstas <linas@austin.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Linas Vepstas 提交于
Although the previous patch resolved issues with hangs when the RX ram full interrupt is encountered, there are still situations where lots of RX ramfull interrupts arrive, resulting in a noisy log in syslog. There is no need for this. Signed-off-by: NLinas Vepstas <linas@austin.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Linas Vepstas 提交于
The terminated RX ring will cause trouble during the RX ram full conditions, leading to a hung driver, as the hardware can't find the next descr. There is no real reason to terminate the RX ring; it doesn't make the operation any smooother, and it does require an extra sync. So don't do it. Signed-off-by: NLinas Vepstas <linas@austin.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Linas Vepstas 提交于
This patch fixes a rare deadlock that can occur when the kernel is not able to empty out the RX ring quickly enough. Below follows a detailed description of the bug and the fix. As long as the OS can empty out the RX buffers at a rate faster than the hardware can fill them, there is no problem. If, for some reason, the OS fails to empty the RX ring fast enough, the hardware GDACTDPA pointer will catch up to the head, notice the not-empty condition, ad stop. However, RX packets may still continue arriving on the wire. The spidernet chip can save some limited number of these in local RAM. When this local ram fills up, the spider chip will issue an interrupt indicating this (GHIINT0STS will show ERRINT, and the GRMFLLINT bit will be set in GHIINT1STS). When te RX ram full condition occurs, a certain bug/feature is triggered that has to be specially handled. This section describes the special handling for this condition. When the OS finally has a chance to run, it will empty out the RX ring. In particular, it will clear the descriptor on which the hardware had stopped. However, once the hardware has decided that a certain descriptor is invalid, it will not restart at that descriptor; instead it will restart at the next descr. This potentially will lead to a deadlock condition, as the tail pointer will be pointing at this descr, which, from the OS point of view, is empty; the OS will be waiting for this descr to be filled. However, the hardware has skipped this descr, and is filling the next descrs. Since the OS doesn't see this, there is a potential deadlock, with the OS waiting for one descr to fill, while the hardware is waiting for a differen set of descrs to become empty. A call to show_rx_chain() at this point indicates the nature of the problem. A typical print when the network is hung shows the following: net eth1: Spider RX RAM full, incoming packets might be discarded! net eth1: Total number of descrs=256 net eth1: Chain tail located at descr=255 net eth1: Chain head is at 255 net eth1: HW curr desc (GDACTDPA) is at 0 net eth1: Have 1 descrs with stat=xa0800000 net eth1: HW next desc (GDACNEXTDA) is at 1 net eth1: Have 127 descrs with stat=x40800101 net eth1: Have 1 descrs with stat=x40800001 net eth1: Have 126 descrs with stat=x40800101 net eth1: Last 1 descrs with stat=xa0800000 Both the tail and head pointers are pointing at descr 255, which is marked xa... which is "empty". Thus, from the OS point of view, there is nothing to be done. In particular, there is the implicit assumption that everything in front of the "empty" descr must surely also be empty, as explained in the last section. The OS is waiting for descr 255 to become non-empty, which, in this case, will never happen. The HW pointer is at descr 0. This descr is marked 0x4.. or "full". Since its already full, the hardware can do nothing more, and thus has halted processing. Notice that descrs 0 through 254 are all marked "full", while descr 254 and 255 are empty. (The "Last 1 descrs" is descr 254, since tail was at 255.) Thus, the system is deadlocked, and there can be no forward progress; the OS thinks there's nothing to do, and the hardware has nowhere to put incoming data. This bug/feature is worked around with the spider_net_resync_head_ptr() routine. When the driver receives RX interrupts, but an examination of the RX chain seems to show it is empty, then it is probable that the hardware has skipped a descr or two (sometimes dozens under heavy network conditions). The spider_net_resync_head_ptr() subroutine will search the ring for the next full descr, and the driver will resume operations there. Since this will leave "holes" in the ring, there is also a spider_net_resync_tail_ptr() that will skip over such holes. Signed-off-by: NLinas Vepstas <linas@austin.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Linas Vepstas 提交于
Avoid kernel crash in mm/slab.c due to double-free of pointer. If the ethernet interface is brought down while there is still RX traffic in flight, the device shutdown routine can end up trying to double-free an skb, leading to a crash in mm/slab.c Avoid the double-free by nulling out the skb pointer. Signed-off-by: NLinas Vepstas <linas@austin.ibm.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-