ChangeSet@1.1477, 2003-11-20 12:46:10-05:00, herbert@gondor.apana.org.au [netdrvr tg3] fix BCM5705 pending-RX count (was 64, now 63) ChangeSet@1.1476, 2003-11-20 12:08:09-05:00, amir.noam@intel.com [PATCH] [bonding 2.6] fix creation of /proc/net/bonding dir Fix the creation of the /proc/net/bonding dir. Patch is against 2.6. Amir ChangeSet@1.1475, 2003-11-20 12:08:02-05:00, amir.noam@intel.com [PATCH] [bonding 2.6] Restore missing backward compatibility This patch (against latest 2.6.0) is also waiting for almost a month. It's already in 2.4 but is still very much needed for 2.6. Old ifenslave versions (like the one in Red Hat 9) don't work with the bonding module in the latest 2.6 kernel without it. Amir ChangeSet@1.1474, 2003-11-19 00:16:58-08:00, akpm@osdl.org [PATCH] disallow modular BINFMT_ELF From: Adrian Bunk Modular BINFMT_ELF doesn't build, and is pretty pathological anyway. So just make it a boolean rather than a tristate. ChangeSet@1.1473, 2003-11-19 00:16:51-08:00, akpm@osdl.org [PATCH] mpparse printk fix From: Herbert Xu The recent patch produces a message with no terminating newline on the machine in question. This is because one of the four bytes that you're printing out is NUL. The following patch avoids that problem. ChangeSet@1.1472, 2003-11-19 00:16:42-08:00, akpm@osdl.org [PATCH] resource.c bounds checking fix From: Jeremy Higdon I believe there is a bug in kernel/resource.c. We (SGI sn2 I/O code) are using this for allocating dma map resources, and we tracked failures we were seeing to find_resource(). The problem is that when testing bounds in the forever loop, the end bound would be one higher than it should be if it gets set from another resource (it's set to the proper value when it gets set from the root), causing find_resource to return an invalid min/max when the requested size was one greater than would fit between two existing resources. ChangeSet@1.1471, 2003-11-19 00:16:33-08:00, akpm@osdl.org [PATCH] fs/ext[23]/xattr.c pointer arithmetic fix From: Andreas Gruenbacher 64-bit pointer arithmetic bug in xattr code The int offset is not enought to hold the difference between arbitraty pointers on 64-bit machines. Compute the offset of here and last inside HDR(bh) instead. ChangeSet@1.1470, 2003-11-19 00:16:24-08:00, akpm@osdl.org [PATCH] cpu_sibling_map fix From: James Cleverdon On summit-based machines the cpu_sibling_map data has been hosed for some time. I found out why in Intel's IA-32 Software Deveveopers' Manual Vol 2 under CPUID. Looks like the value that cpuid returns is the one latched at reset, and doesn't reflect any changes made by the BIOS later: * Local APIC ID (high byte of EBX)--this number is the 8-bit ID that is assigned to the local APIC on the processor during power up. This field was introduced in the Pentium 4 processor. Also, the code in init_intel was a bit overdesigned. Until Intel releases a chip with a non-power-of-2 sibling count on it, there's no point in all that bit bashing. ChangeSet@1.1469, 2003-11-19 00:16:16-08:00, akpm@osdl.org [PATCH] init.h needs to include compiler.h From: Jun Sun It is needed for all those "__attribute_used__" etc to be valid. Also, it seems that when compiling a file ending in ".S", gcc-2.95.3 does not expand __GNUC__ at all. This causes the compiler version check to fail when building vsyscall.S. So add __ASSEMBLY__ wrappers in there. ChangeSet@1.1468, 2003-11-19 00:16:07-08:00, akpm@osdl.org [PATCH] ext2 block allocator fixes Fix a couple of problems which were introduced by a recent race fix in the ext2 block allocator: - if the allocation attempt raced, and lost the race then a new attempt is made. But the earlier reservation must be put back first. Add a call to group_release_blocks() to fix this. - if the filesystem is genuinely corrupted then the code as-is can get stuck in an infinite loop, thinking that a blockgroup has free blocks and then discovering that its bitmap is full. Fix this by baling out after having scanned all blockgroups twice. (Thanks Muli Ben-Yehuda for spotting this). ChangeSet@1.1467, 2003-11-19 00:15:53-08:00, akpm@osdl.org [PATCH] ext3_new_inode fixlet From: Alex Tomas If the ext3 inode allocator tries to claim an inode and fails because another CPU got in there first it will then advance onto the next blockgroup and try again. Change it to advance onto the next inode within the same blockgroup instead. ChangeSet@1.1466, 2003-11-19 00:15:43-08:00, akpm@osdl.org [PATCH] ide-scsi: warn when used for cdroms From: Jens Axboe Print a runtime warning if ide-scsi is used on a cd device. Modify the ide-scsi menuconfig help to reflect that ide-scsi should not be used for cd burning. ChangeSet@1.1465, 2003-11-19 00:15:35-08:00, akpm@osdl.org [PATCH] fix percpu_counter_mod linkage problem If both ext2 and ext3 are built as modules there is nothing to pull percpu_counter_mod() into the kernel build and the ext2 and ext3 modules do not load. So move percpu_counter_mod() out of lib.a. ChangeSet@1.1464, 2003-11-19 00:15:24-08:00, akpm@osdl.org [PATCH] remove ext2_reserve_inode() It now has no callers. ChangeSet@1.1463, 2003-11-19 00:15:17-08:00, akpm@osdl.org [PATCH] Fix bugs in ext2_new_inode() From: Mingming Cao I found several bugs/issues in the ext2_new_inode() code: 1) The for loop variable "i" is used to save the inode offset. In the case of failure, the loop variable could be crapped. So it is possible to quit searching before looking at every block groups. 2) The number of free inodes in the selected group is possibly being miscalculated. The counter is only decreased in the find_group_xx() functions for the initial selected group. If the initial try failed, and succeed in finding a free inode in other group, the counter for that group will not to be decreased. 3) In case of the concurrent case, going back to find_group_xx() functions are unnecessary, it will only get the same group as before. The following patch fixed those issues. Ideas are stolen from ext3_new_inode(). ChangeSet@1.1462, 2003-11-19 00:15:08-08:00, akpm@osdl.org [PATCH] ia32: hugetlb needs pse From: Zwane Mwaikambo If the CPU doesn't support PSE we cannot use hugetlb pages. ChangeSet@1.1461, 2003-11-19 00:15:00-08:00, akpm@osdl.org [PATCH] reiserfs pinned buffer fix From: Oleg Drokin reiserfs shouldn't be holding a ref against a buffer when running set_blocksize(): it means that truncate_inode_pages() cannot free that page. Which is not fatal - the page will drift aimlessly down the LRU until the VM nails it. But it's better this way. ChangeSet@1.1460, 2003-11-19 00:14:51-08:00, akpm@osdl.org [PATCH] sched_clock() fix From: Thomas Schlicter sched_clock() will try to use the TSC even if the system is not using the TSC as a time source. It causes bad scheduling decisions and poor interactivity. The problem was exhibited by the patch which uses ACPI PM as a time source, but could also happen if the system is using the PIT. ChangeSet@1.1459, 2003-11-19 00:14:43-08:00, akpm@osdl.org [PATCH] gettimeofday resolution fix From: Stephen Hemminger The original problem all this is solving is that when NTP is slowing the clock there existed real cases where time appeared to go backwards. Assuming NTP was slowing the clock, then it would update the xtime by 999us at the next timer interrupt. If a program read time three times: A: xtime = t0 B: A+1000 xtime = t0 + 1000 C: B+1 xtime = t0 + 999 To behave correctly C > B > A; but we were returning C < B The code does have bug if we are losing clock interrupts. The test for lost interrupts needs to be after the interval clamp. ChangeSet@1.1458, 2003-11-19 00:14:33-08:00, akpm@osdl.org [PATCH] videobuf_waiton race fix There's a window in this function where a wakeup can get lost. ChangeSet@1.1457, 2003-11-19 00:14:25-08:00, akpm@osdl.org [PATCH] gcc bug workaround for constant_test_bit() From: Zwane Mwaikambo gcc-3.2.2-5 miscompiles constant_test_bit(). Tweak it so the compiler gets it right. It cleans it up too! ChangeSet@1.1454.1.1, 2003-11-18 18:09:47-08:00, akpm@osdl.org [PATCH] Fix scsi_report_lun_scan sign bug We need to make the scan data unsigned, since we do length = ((data[0] << 24) | (data[1] << 16) | (data[2] << 8) | (data[3] << 0)); and if data[3] is 0xff, this expression will always evaluate to 0xffffffff. etcetera. ChangeSet@1.1453.1.5, 2003-11-18 17:53:45-08:00, dlstevens@us.ibm.com [IPV6]: Fix milliseconds to jiffies conversion in multicast code. ChangeSet@1.1453.1.4, 2003-11-18 17:37:45-08:00, kaber@trash.net [NET SCHED]: Fix queue limits in multiple qdiscs. ChangeSet@1.1453.1.3, 2003-11-18 17:29:06-08:00, kaber@trash.net [NET SCHED]: Reset q.qlen in tbf_reset instead of purging an unused queue. Problem introduced by cset 1.1046.1.318 ChangeSet@1.1453.1.2, 2003-11-18 17:23:37-08:00, kaber@trash.net [NET SCHED]: Adjust qlen when grafting in multiple qdiscs ChangeSet@1.1453.1.1, 2003-11-18 17:11:02-08:00, herbert@gondor.apana.org.au [IPV4]: Always set hoplimit metric, even for non-unicast routes. ChangeSet@1.1454, 2003-11-18 16:12:15-08:00, paulus@samba.org [PATCH] PPC64: Fix possible race in syscall restart This is the PPC64 counterpart of the fix for the potential race in the syscall restart code that has gone into other architectures. It resets current_thread_info()->restart_block.fn to do_no_syscall_restart in the sigreturn code. ChangeSet@1.1450.1.3, 2003-11-17 18:56:12-08:00, vnuorval@tcs.hut.fi [IPV6]: Verify nlmsg_len in rt6_dump_route(). ChangeSet@1.1450.1.2, 2003-11-17 18:44:09-08:00, dlstevens@us.ibm.com [IPV6]: Fix UDP socket selection for multicast. When binding to two different multicast addresses on the same UDP port, a copy sent to either multicast address is delivered to both. ChangeSet@1.1452, 2003-11-17 18:28:14-08:00, davem@nuts.ninka.net [SPARC]: Do not provide VGA_CONSOLE for sparc builds. While here, fix the existing conditional. The || should be an && as all config options mentioned should prevent VGA_CONSOLE from being offered. ChangeSet@1.1451, 2003-11-17 18:13:00-08:00, davem@nuts.ninka.net [SPARC]: Update to changeset 1.1445 version of signal fix. ChangeSet@1.1450, 2003-11-17 10:10:13-08:00, jbarnes@sgi.com [PATCH] Fix bootmem breakage on ARM Russell King reports: "With previous kernels, the nodes are added to the list in reverse order, so architecture code knew we had to add the highest PFN first and the lowest PFN node last. Unfortunately, init_bootmem_core() now sorts the nodes according to their start pfn. This active sorting broke ARM discontig memory support." Andrew Morton chimes in: "It looks to be bogus on ia64 as well, for which the patch was written" Yep, I think it is bogus. There's only one caller on ia64 that would be affected--swiotlb_init(), and afaik multi-node systems won't be using that code (except maybe NEC?), so even if the pgdat list is out of order we should be ok. If not I'll fix the ia64 discontig code. ChangeSet@1.1449, 2003-11-17 08:25:02-08:00, herbert@gondor.apana.org.au [PATCH] Fix double module_put in lockd kernel_thread() returns the pid if successful, so the test for errors is to test for _negative_ values. ChangeSet@1.1447, 2003-11-16 18:05:16-05:00, pmeda@akamai.com [netdrvr tulip] fix hashed setup frame code It is using local variable `i' in both the inner and outer loop. Need to bring the for loop outside the loop. Otherwise we need to reset the setup_frame to tp->setup_frame after every loop. You do not need to set the setup_frm for every mc address, we can set once after the complete has_table is ready. ChangeSet@1.1443.1.1, 2003-11-16 09:40:05+00:00, rmk@flint.arm.linux.org.uk [ARM] Fix system call restarting Always disable system call restart when returning from a signal handler. This follows the new x86 behaviour. ChangeSet@1.1446, 2003-11-15 16:29:44-08:00, paulus@samba.org [PATCH] Fix ppc system restart properly We're actually much better off resetting system call restart at signal return. This makes all other resets unnecessary. Here's the ppc version of it. ChangeSet@1.1445, 2003-11-15 16:25:58-08:00, torvalds@home.osdl.org Disable system call restart at sigreturn time rather than when invoking the signal. This fixes all races. As per discussion with Paul Mackerras on linux-kernel. ChangeSet@1.1350.5.11, 2003-11-15 13:53:29-08:00, davidm@tiger.hpl.hp.com ia64: Fix bug in fsys_rt_sigprocmask() which breaks new-stub-enabled libc/NPTL. ChangeSet@1.1443, 2003-11-14 16:12:24-08:00, paulus@samba.org [PATCH] PPC32: cancel syscall restart on signal delivery This patch ensures that the PPC kernel cancels any pending restarted system call when it delivers a signal. This is the PPC counterpart of the change that has recently gone into i386 and other architectures. ChangeSet@1.1442, 2003-11-14 15:34:21-08:00, paulus@samba.org [PATCH] PPC32: Don't oops on out-of-range system call This patch fixes a bug on PPC where the kernel will oops if a process does a system call and the system call number is out of range. While fixing that, I noticed that if the process is being ptraced, an out-of-range system call will not get traced on the way in but will on the way out. This patch fixes that too, by making it get traced on the way in as well as the way out. It turned out to be less change, and fewer instructions overall, to do that than to make the out-of-range system call not be traced at all. ChangeSet@1.1441, 2003-11-13 17:03:02-08:00, venkatesh.pallipadi@intel.com [PATCH] Improper mapping of ACPI-HPET table Early ACPI table parse for HPET tables has a bug, where in it does not do proper set_fixmap for ACPI-HPET table. This bug was lost in oversight, and was not noticed during my testing too, as the ACPI-HPET table on all my test systems happened to be in 1st Gig of memory (where __va() will do the job). ChangeSet@1.1440, 2003-11-13 17:02:48-08:00, jholmes@psu.edu [PATCH] make 2.6 megaraid recognize intel vendor id The 2.4 megaraid driver recognizes the Intel PCI vendor id whereas the 2.6 driver does not. The attached patch against 2.6.0-test9 adds the missing two lines from the 2.4 driver to enable this. ChangeSet@1.1437.2.2, 2003-11-13 16:47:10-08:00, davem@nuts.ninka.net [SPARC64]: For 32-bit processes, use compat statfs64 syscall handlers not the normal ones. ChangeSet@1.1437.2.1, 2003-11-13 16:46:45-08:00, davem@nuts.ninka.net [COMPAT]: Fix arguments to compat statfs64 syscalls, 'sz' was missing. ChangeSet@1.1437.1.3, 2003-11-13 16:26:25-08:00, davem@nuts.ninka.net [SPARC]: Port over x86 signal bugfix in cset 1.1431. ChangeSet@1.1437.1.2, 2003-11-13 14:55:23-08:00, torvalds@home.osdl.org Don't panic on a corrupt MP table. It's likely just a broken UP BIOS. So just print a warning and continue. ChangeSet@1.1350.5.10, 2003-11-13 13:29:19-08:00, arun.sharma@intel.com [PATCH] ia64: invoke schedule_tail unconditionally on ia32 emulation The #ifdef CONFIG_SMP around the call to schedule_tail was removed a long time ago for native ia64, but ia32 emulation continues to have a #ifdef. We saw a bunch of weird behavior with respect to getpid() on multithreaded programs (they behave ok on SMP, but break on UP). ChangeSet@1.1428.1.6, 2003-11-12 18:01:46-08:00, krkumar@us.ibm.com [IPV6]: Fix ref count bug in MLDv2, test idev->dead instead of IFF_UP. ChangeSet@1.1414.3.4, 2003-11-12 20:30:54-05:00, shemminger@osdl.org [netdrvr de4x5] NE54-de4x5 - fix missing free on error path - found by viro ChangeSet@1.1414.3.3, 2003-11-12 20:29:38-05:00, herbert@gondor.apana.org.au [netdrvr tg3] initialize workqueue correctly (fixes crash) ChangeSet@1.1428.1.5, 2003-11-12 14:43:48-08:00, jan.oravec@6com.sk [IPV6]: Fix len calculation after icmp changes. ChangeSet@1.1435, 2003-11-12 09:02:24-08:00, ink@jurassic.park.msu.ru [PATCH] ALI IDE forward port from 2.4.x This forward-ports some more of the ALI IDE sanity checks from the 2.4.x tree. In particular, we only do the enable bits for revisions < 0xC5 ChangeSet@1.1434, 2003-11-12 08:05:41-08:00, wei_ni@ali.com.tw [PATCH] Legacy ALi5455 Audio Driver update We've resolved some bugs in legacy ALi5455 audio driver. ChangeSet@1.1432, 2003-11-12 07:53:58-08:00, torvalds@home.osdl.org Re-instate the ALI northbridge checks in ALI IDE driver This leaves just the minimal oops protection in place, and maintains the logic that "if we have a non-ALI northbridge, we shouldn't touch any of the GPIOs because we don't know what they might be connected to". ChangeSet@1.1428.1.4, 2003-11-12 01:34:37-08:00, davem@nuts.ninka.net [IPV6]: Fix packet quoting in icmpv6_send(). - Mucking with the original skb pointers with push/pull around the packet quoting was wrong, muching with these pointers could cause problems with others using the SKB. It was also buggy, it only handled the case where skb->nh.raw was ahead of or equal to skb->data - The fix is to record skb->nh.raw - skb->data and use this as a base offset in calls to skb_copy_and_csum_bits(). This is what the pre-IPSEC code did. This fixes IPV6 oopses and packet corruption on 64-bit platforms when sending UDP port unreachable ICMP messages. Reported and analyzed by Jan Oravec (jan.oravec@6com.sk) ChangeSet@1.1350.5.9, 2003-11-11 23:14:26-08:00, davidm@wailua.hpl.hp.com ia64: From Linus: Always disable system call restart when invoking a signal handler. Otherwise, a restarted system call that gets interrupted before the restart has taken effect by _another_ signal will potentially restart the wrong system call. ChangeSet@1.1431, 2003-11-11 21:18:50-08:00, torvalds@home.osdl.org Always disable system call restart when invoking a signal handler. Otherwise, a restarted system call that gets interrupted before the restart has taken effect by _another_ signal will potentially restart the wrong system call. ChangeSet@1.1430, 2003-11-11 21:15:32-08:00, torvalds@home.osdl.org Fix ALI 15x3 IDE driver oops It would oops on any machines that had an ALI northbridge but didn't have the exact ISA bridge we expected. ChangeSet@1.1428.1.3, 2003-11-11 16:06:18-08:00, ja@ssi.bg [IPVS]: make sure timer expires on one cpu ChangeSet@1.1428.1.2, 2003-11-11 15:59:03-08:00, akpm@osdl.org [NET]: Remove __devinitdata from board_info[] in tlan.c driver. ChangeSet@1.1428.1.1, 2003-11-11 15:55:47-08:00, ja@ssi.bg [IPVS]: avoid NULL ptr deref for dest in __ip_vs_get_out_rt ChangeSet@1.1429, 2003-11-11 14:59:12-08:00, george@mvista.com [PATCH] Fix clock_nanosleep() signal restart issues The problem with clock_nanosleep() restarting was that the address of the users return timespec was being saved at the wrong place. In needs to be saved in the sys call interface code rather than the do_clock_nanosleep(). My original tests were a bit weak as they only did one signal rather than two or more which were required to break it. The attached patch fixes the problem. I also added a few comments about how restart works, and added my name to the MAINTAINERS list. ChangeSet@1.1350.5.8, 2003-11-11 14:35:29-08:00, steiner@sgi.com [PATCH] ia64: fix is_headless_node() for SN Without this patch, SN machines which have nodes that contain memory only (no CPUs will hang. ChangeSet@1.1426, 2003-11-11 10:52:30-08:00, torvalds@home.osdl.org Avoid racy optimization in signal sending. The bug is probably impossible to trigger on x86, due to its fairly strong coherency model (the SMP-safe bitops end up being memory barriers etc), but other architectures - notably ppc64 - can apparently trigger a race whereby the signal sender doesn't wake up the target because it doesn't notice that it has gone to sleep. The optimization also optimizes only what appears to be the uncommon case, where the signal happens for an already-running process. ChangeSet@1.1425, 2003-11-11 10:28:33-08:00, daniel@osdl.org [PATCH] Fix AIO reference counts This makes the AIO submit path holds an extra reference until just before returning. This fixes the referencing a free kiocb. Without this patch the kernel will oops if the AIO completes early. ChangeSet@1.1422.3.1, 2003-11-11 17:56:57+00:00, aia21@cantab.net NTFS: Minor bug fix in attribute list attribute handling that fixes the I/O errors on "ls" of certain fragmented files found by at least two people running Windows XP. ChangeSet@1.1424, 2003-11-11 08:42:15-08:00, torvalds@home.osdl.org Fix double unlock of page_table_lock in do_wp_page(). Noticed by Petr Vandrovec. In the out-of-memory case, do_wp_page() would unlock page_table_lock twice - once before allocating, and once in the exit path. Rewrite the exit paths to be more readable, and don't try to share the code between all the exit cases, since they are very different. ChangeSet@1.1422.2.1, 2003-11-11 00:10:00-08:00, davem@nuts.ninka.net [SPARC64]: Fix PCI floppy IRQ enable/disable handling. - Delete fd_{enable,disable}_irq() interfaces, never used. - Move ebus_dma_irq_enable() calls into sun_pci_fd_{request,free}_irq(). ChangeSet@1.1422.1.2, 2003-11-10 23:10:06-08:00, yoshfuji@linux-ipv6.org [IPV4/IPV6]: More userland jiffies reporting fixes for routing. ChangeSet@1.1422.1.1, 2003-11-10 23:08:36-08:00, yoshfuji@linux-ipv6.org [DECNET]: Normalize jiffies reported to userspace. ChangeSet@1.1350.5.7, 2003-11-10 18:35:21-08:00, davidm@tiger.hpl.hp.com ia64: Fix _PAGE_CHG_MASK so PROT_NONE works again. Caught by Linus. ChangeSet@1.1350.5.6, 2003-11-10 18:27:43-08:00, pj@sgi.com [PATCH] ia64: fix bug in prof_cpu_mask_read_proc() Display of cpumask for /proc/irq/prof_cpu_mask has a botch in the print loop - should consume 2 bytes per loop. ChangeSet@1.1350.5.5, 2003-11-10 16:50:58-08:00, davidm@tiger.hpl.hp.com Fix pte_modify() bug which allowed mprotect() to change too many bits. Found by Russell King. ChangeSet@1.1421, 2003-11-10 08:50:35-08:00, Andries.Brouwer@cwi.nl [PATCH] Warn about old EZD and DM disk remappers Since 2.6.x by default does not remap the disk partitions any more, it would be a good idea to warn when we see EZD or DM signatures. That informs the user to fix his setup (or pass in "hdx=remap" on the kernel command line). ChangeSet@1.1418, 2003-11-10 10:41:12-05:00, jgarzik@redhat.com [libata promise] fixes suggested by Promise * flush host FIFO after sending data to DIMM window * don't set SCR addresses, as the hardware doesn't have SCRs (cosmetic) ChangeSet@1.1414.1.26, 2003-11-10 07:18:43-08:00, akpm@osdl.org [PATCH] compile fix for voyager with gcc-3.3 From: James Bottomley The cpu_callout_map differs from the prototype in asm-i386/smp.h by a volatile. gcc-3.3 now treats this as an error, so voyager support will only compile with older gcc's. The fix is to remove the spurious volatile. ChangeSet@1.1414.1.25, 2003-11-10 07:18:35-08:00, akpm@osdl.org [PATCH] JBD: fix assertion failure This fixes a JBD assertion failure (goes BUG) in __journal_remove_journal_head(). When the journal had aborted due to earlier internal consistency errors (or I/O errors) it is possible that we free journal_heads which still have attached copyout buffers. So just free them up. ChangeSet@1.1414.1.24, 2003-11-10 07:18:26-08:00, akpm@osdl.org [PATCH] Fix RAID1 recovery From: Mike Tran This fixes the RAID1 recovery problems; it seems to be a simple thinko: sync_request_write() is passing "ok=0" into md_done_sync(). Clearly, `ok' should be true here. (acked by neilb) ChangeSet@1.1414.1.23, 2003-11-10 07:18:18-08:00, akpm@osdl.org [PATCH] char dev request_module fix From: Rusty Russell Module aliases are all of form "char-major--". char_dev.c calls request_module with "char-major-". ChangeSet@1.1414.1.22, 2003-11-10 07:18:09-08:00, akpm@osdl.org [PATCH] Disable IDE Tagged Command Queueing It's not ready for prime time yet, so hide it until the additional work has been done. ChangeSet@1.1414.1.21, 2003-11-10 07:18:01-08:00, akpm@osdl.org [PATCH] ext2 block allocation race fix If this CPU decides that an ext2 block group has a free block it will then go in and try to acquire it. No locks are held, so another CPU can come in and steal the last block. In this case we will bogusly report a corrupted filessytem. Fix it by just restarting the scan - this will choose a different blockgroup or will generate -ENOSPC. ChangeSet@1.1414.1.20, 2003-11-10 07:17:52-08:00, akpm@osdl.org [PATCH] 3c509 MCA compile fix Only include mca.h if CONFIG_MCA: only ia32 and ia64 have ChangeSet@1.1414.1.19, 2003-11-10 07:17:43-08:00, akpm@osdl.org [PATCH] AS: handle non-block requests From: Nick Piggin as_completed_request() can be called for requests which were not generated by the generic block layer. Handle these, to avoid a subsequent WARN_ON (at least). Also kill a separate WARN_ON which is bogusly triggering. ChangeSet@1.1414.6.2, 2003-11-09 20:14:39-08:00, neilb@cse.unsw.edu.au [PATCH] Fix nfsd extra dput() An extra dput was introduced in nfsd_rename 20 months ago.... time to remove it. ChangeSet@1.1414.6.1, 2003-11-09 20:03:30-08:00, paulus@samba.org [PATCH] PPC32: Fix alignment problem with __ex_table and __bug_table. The __start___ex_table and __start___bug_table symbols could end up pointing a few bytes before the actual __ex_table and __bug_table sections, if the preceding section had an odd length. This led to oopses in some situations. Patch from Sam Ravnborg. ChangeSet@1.1414.4.6, 2003-11-09 19:26:59-08:00, yoshfuji@linux-ipv6.org [IPV4/IPV6]: Normalize jiffies reported to userspace in routing code. ChangeSet@1.1414.4.5, 2003-11-09 19:26:19-08:00, yoshfuji@linux-ipv6.org [JIFFIES]: linux/times.h needs asm/param.h (for USER_HZ) ChangeSet@1.1414.4.4, 2003-11-09 19:22:28-08:00, bdschuym@pandora.be [NET]: Bart wrote arpt_mangle not DaveM. :-) ChangeSet@1.1414.5.1, 2003-11-09 23:03:30+00:00, rmk@flint.arm.linux.org.uk [ARM] Fix ARM signal handling. If we are unable to deliver a signal to the process (eg, due to stack pointer corruption) block the signal so other fatal signals can kill off the process. ChangeSet@1.1414.1.15, 2003-11-09 09:51:23-08:00, ak@muc.de [PATCH] Work around K8 errata on x86-64 K8 has an erratum (#100) that essentially causes some compat mode processes to fault occassionally. The issue can be worked around in the OS. It only applies to x86-64, in 32bit it is fine. This adds a check to the page fault handler that checks for addresses >4GB from compat mode. If they happen just return; the CPU will reexecute the instruction and the condition that caused the problem is gone. More details in Opteron/Athlon64 specification update on the AMD website. Also I removed a left over debugging printk in the prefetch handling code. ChangeSet@1.1414.1.14, 2003-11-09 09:25:23-08:00, vojtech@suse.cz [PATCH] input: Always reset PS/2 mouse resolution and update speed to default values after probing This sets the mouse to 100 samples/second, 200 dpi, 1:1 mapping, which is a standard setting, as close to 2.4 XFree86 behavior as possible, and a good performance setting, too. It also in the case of 'psmouse_noext' doesn't probe and set anything all, though it still issues the RESET command. This is as safe as one can get. The only real problem remaining is that the report rate and resolution cannot be set from XFree86 config and only is available as a kernel/module parameter. The fix is, howewer not 2.6.0 material. ChangeSet@1.1414.1.13, 2003-11-09 08:55:36-08:00, ak@muc.de [PATCH] Fix critical issue in x86-64 IOMMU code The K8 IOMMU code had some broken BUG_ON()s that hit with <4K aligned IO through the IOMMU. This patch fixes this. Without this database raw IO is often broken. ChangeSet@1.1414.4.3, 2003-11-08 22:33:05-08:00, krkumar@us.ibm.com [IPV6]: Fix hangs during interface down caused by ipv6_del_addr(). While using PRIVACY extensions, I sometimes get a hang when I remove the interface. But I can reproduce this every time using the test script at the end of the mail (hang depends on the order of address deletion). The bug is in ipv6_del_addr() where if a temp address is being deleted, it does an __in6_ifa_put() of the main address from which it was derived (basically the autoconf prefix address). So if the main address was deleted first, it's ifp ref count would be 1 and it would 'wait' to be freed till it's temp address was freed first. When the temp address is deleted, the __put() routine drops the main address's ifp ref count to 0, but not free it. unregister_netdevice() hangs giving message that ref count is 1. Fix tested overnight. Also, the code at the top of the routine is unnecessary, the same is being done when the address is found a little later in that routine. ChangeSet@1.1414.4.2, 2003-11-08 22:28:48-08:00, herbert@gondor.apana.org.au [NET]: Use cpumask_t for cpumap in flow cache. ChangeSet@1.1414.4.1, 2003-11-08 22:27:05-08:00, davem@nuts.ninka.net [TCP]: Normalize jiffies values reported to userspace. ChangeSet@1.1414.1.11, 2003-11-08 16:06:19-08:00, mingo@elte.hu [PATCH] SMP signal latency fix The code that sends a signal needs to "kick" the target process if it runs on another CPU and wasn't woken up by the signal to let it know that it has a new event. Otherwise it might take a long time until the target actually notices and acts on the signal. ChangeSet@1.1414.1.10, 2003-11-08 13:59:32-08:00, ak@muc.de [PATCH] Fix oops in x86-64 strace path Fix a nasty typo found by Albert Cahalan. This lead to an oops when a invalid syscall was called under strace in 2.6. ChangeSet@1.1414.1.9, 2003-11-08 13:59:23-08:00, ak@muc.de [PATCH] Fix TSS limit on x86-64 The limit of the TSS segment was incorrectly set to a too big value on x86-64. This lead to the CPU reading random memory behind the main TSS when iopl was >0, but there was no ioperm bitmap set. This caused random failures in port accesses in this state. Set the correct limit. ChangeSet@1.1414.1.8, 2003-11-08 12:11:44-08:00, torvalds@home.osdl.org Don't fold nanosleep() into clock_nanosleep(). The latter has buggy restart functionality and is a lot more complicated anyway. ChangeSet@1.1414.3.2, 2003-11-08 12:24:10-05:00, ralf@linux-mips.org [netdrvr pcnet32] add missing pci_dma_sync_single a patch for the pcnet32.c driver which adds a missing call to pci_dma_sync_single. If a received packet is smaller than rx_copybreak the pcnet driver will recycle the receive buffer which requires calling pci_dma_sync_single. Patch is against 2.6 but I it's also needed in 2.4. Without that call the processor might still have old stale data in the data cache when the processor accesses the recycled buffer. ChangeSet@1.1414.3.1, 2003-11-08 12:22:43-05:00, pp@ee.oulu.fi [netdrvr b44] Fix irq enable/disable; fix oops due to lack of SET_NETDEV_DEV() call Also, add suspend/resume functions. ChangeSet@1.1414.1.7, 2003-11-07 18:58:26-08:00, greg@kroah.com [PATCH] fix reference count bug with class devices When a kobject is associated with a kset, the kset MUST be set before the kobject is initialized (by either a call to kobject_register() or kobject_init()). This patch fixes the class code which improperly set the kset after the kobject was initialized, which would cause improper reference counts on the kset. Thanks to Mike Anderson for locating the source of this bug. ChangeSet@1.1414.1.6, 2003-11-07 16:32:55-08:00, ak@muc.de [PATCH] Fix IP checksum for SuSE 9.0 compiler The hammer branch based gcc 3.3 in SuSE 9.0 has a more aggressive optimizer. ip_send_check has this code: iph->check = 0; iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl); The new gcc optimizes the first store away because it doesn't know that ip_fast_csum reads its input memory. This leads to occassionally packets with wrong IP header checksum getting sent; this happens especially with NFS. Fixing it in the constraints would have been ugly and probably not future proof, so this patch just adds a memory clobber to ip_fast_csum. For some reason the issue only hits in 2.6, we haven't seen it in 2.4. Problem occurs on both i386 and x86-64. Credit goes to Olaf Kirch for tracking this down. ChangeSet@1.1417, 2003-11-07 16:24:19-05:00, jgarzik@redhat.com [libata] fix Promise PCI posting bugs ChangeSet@1.1414.2.3, 2003-11-07 10:19:35-08:00, david-b@pacbell.net [PATCH] USB: usb ignores 64bit dma The dma hooks whereby EHCI can pass 64bit DMA support up the driver stack (to avoid buffer copies) turn out to broken on most architectures(*). This patch just disables them all, since it looks like those mechanisms won't get fixed before 2.6.0-final. For now it'd only matter on a few big Intel boxes anyway. Please merge. - Dave (*) On x86, mips, and arm dma_supported() doesn't even compare with the device's mask. On several other architectures (reported on ppc, alpha, and sparc64), asking that question for non-PCI devices will just BUG() -- even though all info needed to answer the question is right at hand. ChangeSet@1.1414.2.2, 2003-11-07 10:07:03-08:00, mdharm-usb@one-eyed-alien.net [PATCH] USB: fix a thread-exit problem at module unload This patch fixes a thread-exit problem when the usb-storage module is unloaded with a preemptable kernel. Please refer to the comments in the code for more detail. ChangeSet@1.1414.2.1, 2003-11-07 10:04:16-08:00, michael@metaparadigm.com [PATCH] PCI: Fix oops in quirk_via_bridge I have a VIA cardbus 1394 controller which oops on insertion after an APM suspend/resume cycle (without card inserted): bounds: 0000 [#1] CPU: 0 EIP: 0060:[] Tainted: PF EFLAGS: 00010206 EIP is at quirk_via_bridge+0x4/0x1c eax: 0000ffff ebx: c02982e0 ecx: d1958000 edx: 000c0010 esi: d1958000 edi: 00000001 ebp: 00000000 esp: da401ee8 ds: 007b es: 007b ss: 0068 Process pccardd (pid: 1093, threadinfo=da400000 task=da4c8780) Stack: c019fb85 d1958000 00000001 d1958000 00000000 c019fbc2 d1958000 00000001 c02980a0 d1958000 dfdebf14 c019d828 00000001 d1958000 00000000 dec2802c dfdebf00 dfdebf14 00000000 e3dfe7c7 dfdebf00 00000000 dec2802c da401f48 Call Trace: [] pci_do_fixups+0x52/0x54 [] pci_fixup_device+0x3b/0x49 [] pci_scan_slot+0x46/0x8f [] cb_alloc+0x29/0xf7 [pcmcia_core] [] socket_insert+0x90/0x102 [pcmcia_core] [] socket_detect_change+0x54/0x7e [pcmcia_core] [] pccardd+0x185/0x1f9 [pcmcia_core] quirk_via_bridge (which is marked device PCI_ANY_ID) triggers on my 1394 controller which vendor=VIA but is not a bridge. Making the quirk __devinit solves the problem. ChangeSet@1.1414.1.4, 2003-11-07 09:53:45-08:00, viro@parcelfarce.linux.theplanet.co.uk [PATCH] Fix cramfs metadata races There's a few places that use incorrect exclusion for the cramfs raw data access buffers. The proper lock is "read_mutex" (and BKL does nothing). - fix mount-time read and block number initialization without the mutex held. - cramfs_readdir() needs to copy the name and inode information into a separate buffer since it can't hold the semaphore over the (potentially blocking) user mode access - cramfs_lookup() needs to hold the access lock over the whole function, not just the read itself - use generic_file_llseek on directories to get i_sem exclusion on readdir/lseek ChangeSet@1.1414.1.3, 2003-11-06 13:18:43-08:00, krkumar@us.ibm.com [NET]: Do not run netdev todo work from linkwatch code. ChangeSet@1.1414.1.2, 2003-11-06 12:23:45-08:00, kaber@trash.net [NET]: Fix skb_copy_expand offset calculation. ChangeSet@1.1414.1.1, 2003-11-06 10:42:41-08:00, jack@suse.cz [PATCH] Drop spin lock when calling request_module in quota code From Herbert Xu ChangeSet@1.1416, 2003-11-06 13:36:37-05:00, jgarzik@redhat.com [libata] bump libata version ChangeSet@1.1415, 2003-11-06 13:34:08-05:00, jgarzik@redhat.com [libata] fix ugly Promise interrupt masking bug ChangeSet@1.1414, 2003-11-06 08:23:58-08:00, axboe@suse.de [PATCH] fix segment accounting with bounced pages There's a problem with bio segment accounting for pages that reside above the bounce limit of a queue. When submitted, they may be considered part of another segment. A condition that changes when the page gets bounced. This can cause us to send bio's that have too many segments to a driver. The best fix is to always consider pages above q->bounce_pfn as seperate segments. That's the conservative approach and the easy fix. Problem identified and fixed by Herbert Xu. ChangeSet@1.1413, 2003-11-06 08:07:14-08:00, pazke@donpac.ru [PATCH] fix visws irq breakage This fixes visws subarch which was broken by asm-i386/hw_irq.h changes ChangeSet@1.1412, 2003-11-06 07:46:31-08:00, torvalds@home.osdl.org Fix cut-and-paste error in radeonfb.c From Ronald Lembcke. ChangeSet@1.1402.1.2, 2003-11-05 14:49:32-08:00, davem@nuts.ninka.net [TG3]: Bump driver version and release date. ChangeSet@1.1402.1.1, 2003-11-05 14:46:25-08:00, davem@nuts.ninka.net [TG3]: Fix bugs in ETHTOOL_SSET introduced by ethtool_ops conversion. - Missing spin_lock*() calls before tp->link_config twiddling. - Missing assignment to tp->link_config.autoneg ChangeSet@1.1410, 2003-11-05 12:52:55-08:00, davem@nuts.ninka.net [IRDA]: Fix IRQ save/restore handling in seq file handlers. IRDA was restoring IRQ flags in a different function from which they were saved which explodes on certain platforms. It did not need to use _irq{save,restore}() anyways since the seqfile layer always invokes these routines from user context with interrupts enabled, so using plain spin_{lock,unlock}_irq() works just fine. ChangeSet@1.1409, 2003-11-05 12:37:08-08:00, vnuorval@tcs.hut.fi [IPV6]: In ip6ip6 tunnel, user provides flowlabel in network byte order. ChangeSet@1.1408, 2003-11-05 12:36:10-08:00, vnuorval@tcs.hut.fi [IPV6]: In ip6ip6 tunnel, set skb->h.raw after obtaining private copy. ChangeSet@1.1407, 2003-11-05 12:28:33-08:00, shep@alum.mit.edu [IPV6]: Fix /proc/sys/net/ipv6/icmp permissions. ChangeSet@1.1406, 2003-11-05 11:45:22-08:00, jt@bougret.hpl.hp.com [IRDA]: Fix IrLMP open leak. - Prevent 'self' leak on error in irlmp_open. ASSERT is compiled in only with DEBUG option => risk = 0. Original patch from Chris Wright. ChangeSet@1.1405, 2003-11-05 11:42:34-08:00, jt@bougret.hpl.hp.com [IRDA]: Fix races between IRNET and PPP. - Prevent sending status event to dead/kfree sockets - Disable PPP access before deregistration PPP deregistration might sleep -> race condition ChangeSet@1.1404, 2003-11-05 11:39:56-08:00, jt@bougret.hpl.hp.com [IRDA]: Fix two OOPSers in IrCOMM - Do not do copy_from_user() under spinlock - Always access self->skb under spinlock Original patch from Martin Diehl. ChangeSet@1.1403, 2003-11-05 11:33:28-08:00, yoshfuji@linux-ipv6.org [IPV6]: Fix OOPS on NETDEV_CHANGENAME events. ChangeSet@1.1402, 2003-11-05 08:29:58-08:00, willy@debian.org [PATCH] Fix panic-at-boot This fixes a panic-at-boot when ACPI Hotplug PCI is compiled in, but ACPI is disabled. It just makes sure that the list is properly initialized statically instead of depending on runtime initialization that may or may not happen. ChangeSet@1.1399, 2003-11-04 17:10:45-08:00, davem@nuts.ninka.net [SPARC64]: Preserve cache/side-effect PTE bits in pte_modify(). Bug noticed by Russell King. ChangeSet@1.1396.4.1, 2003-11-04 16:32:35-08:00, rddunlap@osdl.org [PATCH] Fix crash-on-boot in init_l440gx SMP ioremap_nocache() doesn't need to check for physical address wraps because __ioremap() has already done that; fix calculation of npages to handle non-aligned phys_addr; ChangeSet@1.1396.1.24, 2003-11-04 16:29:54-08:00, jt@bougret.hpl.hp.com [IRDA]: Fix SKB leaks in af_irda.c, from Arnaldo Carvalho de Melo. ChangeSet@1.1396.1.23, 2003-11-04 14:22:47-08:00, davem@nuts.ninka.net [IPV4]: Initialize ARP seqfile state in start() method. ChangeSet@1.1396.1.22, 2003-11-04 14:17:40-08:00, shemminger@osdl.org [IRDA]: Fix irlmp seqfile, initialize the iterator in start. ChangeSet@1.1396.1.21, 2003-11-04 11:48:53-08:00, davem@nuts.ninka.net [NETLINK]: Initialize nl_pad in getname and recvmsg, noticed by Uli Drepper. ChangeSet@1.1396.1.20, 2003-11-04 11:35:29-08:00, laforge@netfilter.org [NETFILTER]: Fix ip_queue_maxlen sysctl. ChangeSet@1.1396.1.19, 2003-11-04 11:32:55-08:00, rusty@rustcorp.com.au [NETFILTER]: get_unique_tuple doesn't always return unique tuple. get_unique_tuple doesn't check that the tuple is unique if it finds a hash_by_src match. ChangeSet@1.1396.1.18, 2003-11-04 11:30:09-08:00, tommy@home.tig-grr.com [EBTABLES]: Fix ebt_limit for HZ=1000 ChangeSet@1.1396.1.17, 2003-11-04 08:01:30-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] fix rq->flags use in ide-tape.c Noticed by Stuart_Hayes@Dell.com: I've noticed that, in the 2.6 (test 9) kernel, the "cmd" field (of type int) in struct request has been removed, and it looks like all of the code in ide-tape has just had a find & replace run on it to replace any instance of rq.cmd or rq->cmd with rq.flags or rq->flags. The values being put into "cmd" in 2.4 (now "flags", in 2.6) by ide-tape are 8-bit numbers, like 90, 91, etc... and the actual flags that are being used in "flags" cover the low 23 bits. So, not only do the flags get wiped out when, say, ide-tape assigns, say, 90 to "flags", but also the 90 gets wiped out when one of the flags is modified. I noticed this, because ide-tape checks this value, and spews error codes when it isn't correct--continuously--as soon as you load the module, because ide-tape is calling ide_do_drive_cmd with an action of ide_preempt, which causes ide_do_drive_cmd to set the REQ_PREEMPT flag, so "flags" isn't the same when it gets back to idetape_do_request. ChangeSet@1.1396.1.16, 2003-11-04 08:01:16-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] fix ide-tape oops Set filp->private_data in idetape_chrdev_open() to point to a opened drive, otherwise driver oopses during future access to tape character device. Thanks to Stef van der Made for testing ide-tape fixes. ChangeSet@1.1396.1.14, 2003-11-03 23:06:20-08:00, ambx1@neo.rr.com [PATCH] Fix ISAPNP netdev initialization Moving isapnp further down in the bus initialization obviously sparked some new problems. Instead, remove the legacy netdev probing function from dev.c and give it its own initcall later in the cycle. ChangeSet@1.1350.5.4, 2003-11-03 22:31:24-08:00, kochi@hpc.bs1.fc.nec.co.jp [PATCH] ia64: don't access per-CPU data of off-line CPUs This patch prevents a crash that happens when per-CPU data is allocated only for CPUs that are online. ChangeSet@1.1396.1.13, 2003-11-03 16:53:17-08:00, ralf@linux-mips.org [PATCH] drivers/pci DEBUG build fix Trivial build fix for the debug code in drivers PCI. Seems like nobody has had to use this code in a long time. ChangeSet@1.1350.5.3, 2003-11-03 14:37:03-08:00, ajm@sgi.com [PATCH] ia64: fix bug in SN2 sn_pci_map_sg that causes MCA If sg->dma_address is set, we try to do a __pa() on a dma_address, then, later, create a dma_addresss from a munged dma_address. When this bogus dma_address is used by the card, it results in MCAs. ChangeSet@1.1396.3.6, 2003-11-03 09:44:08-08:00, torvalds@home.osdl.org Only truncate file types that can be truncated on minixfs. Only regular files, directories and symbolic links can have any blocks allocated to them - other types of files have different metadata in their inodes and should not get to the truncation paths. Enforce this in fs/minix/inode.c. Without this, deleting a block or character device can cause minix filesystem corruption. Noted by Konstantin Boldyshev. ChangeSet@1.1396.3.5, 2003-11-02 11:16:06-08:00, torvalds@home.osdl.org Avoid user space access with interrupts disabled in vm86 support. Getting a signal while in vm86 caused warnings because we still had interrupts disabled - for no good reason. Enable interrupts before accessing user space. ChangeSet@1.1396.3.4, 2003-11-02 10:00:04-08:00, thomas@winischhofer.net [PATCH] More SiS AGP ids This extends the agppart table with three new SiS chipsets that must be handled as the other ones. No actual code changes. ChangeSet@1.1396.1.11, 2003-11-01 23:15:59-08:00, acme@conectiva.com.br [LLC]: fix client side after sockaddr_llc fixup ChangeSet@1.1396.1.10, 2003-11-01 23:14:41-08:00, acme@conectiva.com.br [LLC]: fix procfs reading when there are saps without sockets ChangeSet@1.1396.1.9, 2003-11-01 23:13:20-08:00, yoshfuji@linux-ipv6.org [IPV4/IPV6]: Fix one more inappropriate use of inet6_sk()->ipv6only ChangeSet@1.1396.1.8, 2003-11-01 23:09:49-08:00, davem@nuts.ninka.net Cset exclude: akpm@osdl.org|ChangeSet|20031029192849|64746 ChangeSet@1.1396.3.3, 2003-11-01 16:26:06-08:00, torvalds@home.osdl.org Forward-port PIRQ table updates from 2.4.x This separates out the PIRQ table parsing to vendor-specific code, which allows us to handle specific vendor quirks. In particular, SiS has a really funky notion of what PCI device ID's are meant to be. Some hardware designers seem to be hitting the recreational drugs a bit too heavily. Tssk, tssk. The Sis96x irq routing update is confirmed to fix at least one laptop. ChangeSet@1.1396.3.2, 2003-11-01 14:32:53-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] AMD/nForce driver update From Vojtech Pavlik . Change AMD8111 and nForce2 max speed to UDMA133. Add workaround for Serenade mainboards which only handle UDMA100. Fix printing of chipset name. Fix some whitspace issues. ChangeSet@1.1396.3.1, 2003-11-01 14:12:32-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] add support for new nForce IDE controllers Original 2.4.23-pre4 patch by Allen Martin . This does not add any new code, it only adds new PCI ID's and related info to the existing driver. ChangeSet@1.1396.1.6, 2003-10-31 14:02:11-08:00, acme@conectiva.com.br [APPLETALK]: Mark me as the maintainer. ChangeSet@1.1337.1.36, 2003-10-31 09:55:47-05:00, jgarzik@redhat.com [libata] add Promise SATA pci id ChangeSet@1.1337.1.35, 2003-10-31 09:54:37-05:00, jgarzik@redhat.com [libata] fix bugs in SATA reset code path ChangeSet@1.1396.2.1, 2003-10-31 08:35:09-05:00, philipc@snapgear.com [netdrvr 8139cp] fix NAPI race Cures reported lockups. ChangeSet@1.1396.1.4, 2003-10-30 19:43:27-08:00, acme@conectiva.com.br [IPX]: Missing memset()'s in route and interface creation. ChangeSet@1.1396.1.3, 2003-10-30 19:43:04-08:00, davem@nuts.ninka.net [IPX]: Fix checksum computation. ChangeSet@1.1396.1.2, 2003-10-30 18:42:49-08:00, acme@conectiva.com.br [IPX]: Memset newly allocated atalk private area. ChangeSet@1.1371.3.3, 2003-10-30 16:11:44-06:00, jejb@raven.il.steeleye.com Buslogic is MCA capable as well as PCI and ISA ChangeSet@1.1396.1.1, 2003-10-30 13:05:26-08:00, shemminger@osdl.org [IPX]: Fix OOPS when ipxcfg_auto_create_interfaces is on. ChangeSet@1.1380.3.2, 2003-10-30 12:50:24-08:00, zaitcev@redhat.com [SPARC]: Eliminate references to linux/smp_lock.h, from willy. ChangeSet@1.1380.1.9, 2003-10-30 11:03:38-08:00, torvalds@home.osdl.org Stop SIS 96x chips from lying about themselves. Some machines with the SIS 96x southbridge have it set up to claim it is a SIS 503 chip. That breaks irq routing logic among other things. Fix it properly by making everybody aware of the duplicity. ChangeSet@1.1395, 2003-10-30 10:49:41-08:00, davem@nuts.ninka.net Merge nuts.ninka.net:/disk1/davem/BK/network-2.5 into nuts.ninka.net:/disk1/davem/BK/net-2.5 ChangeSet@1.1394, 2003-10-30 10:35:53-08:00, acme@conectiva.com.br [LLC]: Fix sockaddr, only need to provide one MAC address not three. ChangeSet@1.1393, 2003-10-30 10:28:54-08:00, herbert@gondor.apana.org.au [IPSEC]: Missing NULL algorithm checks in AH and IPCOMP init. ChangeSet@1.1392, 2003-10-30 10:24:51-08:00, yoshfuji@linux-ipv6.org [CRYPTO]: crypto_alg_lookup() should fail when passed a NULL name. ChangeSet@1.1380.4.2, 2003-10-30 09:31:36-06:00, shaggy@shaggy.austin.ibm.com JFS: Fix race between link() and unlink() JFS isn't happy it thinks a file has been removed, and link() increases its nlink count back from zero. In 2.4, i_zombie prevented this race condition. http://bugzilla.kernel.org/show_bug.cgi?id=866 ChangeSet@1.1380.1.6, 2003-10-29 17:35:41-08:00, rusty@rustcorp.com.au [PATCH] Fix for module initialization failure Bug reported by Paul Mackerras: if a module parameter fails, we didn't call module_arch_cleanup(). On x86 this was harmless (module_arch_cleanup() is a no-op), but on other architectures like PPC this causes inconsistent data structures and subsequent oopses. ChangeSet@1.1380.5.3, 2003-10-29 16:04:55-08:00, greg@kroah.com [PATCH] USB: don't build the whiteheat driver if on SMP as the locking is all messed up. ChangeSet@1.1380.5.2, 2003-10-29 16:04:38-08:00, greg@kroah.com [PATCH] I2C: remove some MOD_INC and MOD_DEC usages that are not needed anymore. ChangeSet@1.1380.5.1, 2003-10-29 15:20:38-08:00, ink@jurassic.park.msu.ru [PATCH] PCI: fix bug in pci_setup_bridge() This bug prevents Alphas with older firmware from booting if there is a card with PCI-PCI bridge that supports 32-bit IO. This has happened on AS2100 with a quad-tulip card, for example: - initially, the I/O window of 21152 bridge was 0x10000-0x10fff, as set up by firmware; - pci_setup_bridge() is going to change this, say, to 0xa000-0xafff: first, it updates PCI_IO_BASE_UPPER16 and PCI_IO_LIMIT_UPPER16 registers, so that IO window temporarily is at 0x0000-0x0fff, which effectively blocks up all legacy IO ports in the lower 4K range, such as serial, floppy, RTC an so on; does debugging printk - machine dies here with recursive machine checks as the serial console has gone. Moving (or disabling) the debugging printk is not a solution - there is possibility that timer interrupt (which might access RTC ports) occurs between writes to lower and upper parts of the base/limit registers. The patch temporarily disables the IO window of the bridge by setting PCI_IO_BASE_UPPER16 > PCI_IO_LIMIT_UPPER16 before doing an update. It's safe, as we don't have any active IO behind the bridge at this point. Also, it's a NOP for bridges with 16-bit-only IO. Similar (but simpler, as we always clear upper 32 bits) fix for 64-bit prefetchable MMIO range. ChangeSet@1.1391, 2003-10-29 15:03:29-08:00, davem@nuts.ninka.net [NET]: Make skb_copy_expand() copy header area too. ChangeSet@1.1380.4.1, 2003-10-29 16:05:37-06:00, shaggy@shaggy.austin.ibm.com JFS: remove racy, redundant call to block_invalidatepage __invalidate_metapages references mp->page after after releasing the meta_lock spinlock, without increasing the use count. This is racy and unnecessary since setting the META_discard flag is sufficient. block_invalidatepage() will be called when the metapage is released. ChangeSet@1.1380.1.3, 2003-10-29 14:01:11-08:00, torvalds@home.osdl.org Merge bk://bk.arm.linux.org.uk/linux-2.6-serial into home.osdl.org:/home/torvalds/v2.5/linux ChangeSet@1.1380.2.21, 2003-10-29 15:43:44-05:00, akpm@osdl.org [netdrvr 3c527] add MODULE_LICENSE tag ChangeSet@1.1380.2.20, 2003-10-29 15:40:27-05:00, achirica@telefonica.net [PATCH] Fix wireless stats locking ChangeSet@1.1380.2.19, 2003-10-29 15:40:20-05:00, arjanv@redhat.com [PATCH] fix starfire 64-bit b0rkage (x >> 32) is undefined on a 32 bit integral variable in C; In contrast (x >>16 >> 16) is fine (and gets optimized out to 0, while (x >> 32) gets optimized out to a nop). Fix for starfire below ChangeSet@1.1380.3.1, 2003-10-29 12:38:58-08:00, ebrower@usa.net [SPARC]: Fix _IOC_SIZE() macro when direction is _IOC_NONE. ChangeSet@1.1390, 2003-10-29 12:21:25-08:00, acme@conectiva.com.br [LLC]: when the user doesn't specifies a local address to connect, do an autobind Other protocols do this as soon as they discover over what interface the packet will be routed, but LLC isn't routable, so, to provide similar semantics to the other protocols, I'm just binding it to the first interface of the type specified, perhaps we'll need a tunable for this or some sort of routing table done manually by the admin, later we'll see, for now this allows an application like openssh, with patched getaddrinfo/getnameinfo to use PF_LLC sockets with a very small patch. ChangeSet@1.1389, 2003-10-29 12:20:49-08:00, acme@conectiva.com.br [NET]: Introduce dev_getbyfirsthwtype. ChangeSet@1.1388, 2003-10-29 12:19:55-08:00, kolya@mit.edu [NET]: Allow SOMAXCONN to be adjusted via sysctl. ChangeSet@1.1380.2.18, 2003-10-29 15:01:31-05:00, amir.noam@intel.com [netdrvr bonding] fix monitoring functions This fix got missed in the bonding patchset applied a while ago. ChangeSet@1.1380.2.17, 2003-10-29 14:49:29-05:00, komujun@nifty.com [pcmcia fmvj18x_cs] share interrupts properly for TDK multifunction cards. ChangeSet@1.1380.2.16, 2003-10-29 14:47:00-05:00, rmk@arm.linux.org.uk [PATCH] 2.6.0-test8: fix ARM ether driver naming Ensure that arm ether drivers print the correct ether device name rather than "eth%d". ChangeSet@1.1380.2.15, 2003-10-29 14:41:21-05:00, achirica@telefonica.net [PATCH] Fix compatibily issue with some APs ChangeSet@1.1380.2.14, 2003-10-29 14:39:27-05:00, riel@surriel.com [netdrvr starfire] include asm/io.h Fixes build on some platforms. ChangeSet@1.1380.2.13, 2003-10-29 14:36:34-05:00, tsk@ibakou.com [netdrvr 8139too] add pci id ChangeSet@1.1387, 2003-10-29 11:32:23-08:00, acme@conectiva.com.br [LLC]: set local mac addr at connect time when userland left it as zeroes ChangeSet@1.1380.2.12, 2003-10-29 14:31:47-05:00, arjanv@redhat.com [PATCH] r8169 module license tag ChangeSet@1.1386, 2003-10-29 11:31:46-08:00, acme@conectiva.com.br [LLC]: fix bug that prevented fcntl(O_NONBLOCK) from working with PF_LLC sockets ChangeSet@1.1385, 2003-10-29 11:31:16-08:00, acme@conectiva.com.br [LLC]: fix net_device refcounting bug ChangeSet@1.1384, 2003-10-29 11:30:37-08:00, acme@conectiva.com.br [LLC]: llc_lookup_listener has to consider the 'any' mac address ChangeSet@1.1380.2.11, 2003-10-29 14:28:49-05:00, akpm@osdl.org [PATCH] initcall ordering fix for PNP NICs From: "M.H.VanLeeuwen" The level of isapnp_init was moved to after apci sometime ago. Since it is now after net_dev_init, ISA PNP NICs fail to initialized at boot. This is particularily problematic for NFS root filesystems like mine, or none modular systems. This fix allows ISA PNP NIC cards to work during net_dev_init, and still leaves isapnp_init after apci_init. ChangeSet@1.1380.2.10, 2003-10-29 14:28:40-05:00, akpm@osdl.org [PATCH] sis900 skb free fix This driver is freeing skb's from timer context, with local irq's disabled. It generates warnings from local_bh_enable() because local_bh_enable() reenables interrupts, exposing the machine to deadlocks. So use the deferred dev_kfree_skb_irq() instead. ChangeSet@1.1380.2.8, 2003-10-29 07:13:31-08:00, akpm@osdl.org [PATCH] direct-io typo fix From: Klaas de Waal Bug in parameter of ZERO_PAGE macro in line 679 of fb/direct-io.c Parameter dio->cur_user_address has to be dio->curr_user_address. This bug shows when compling for MIPS little endian as target, not when compiling for X86. ChangeSet@1.1380.2.7, 2003-10-29 07:13:22-08:00, akpm@osdl.org [PATCH] /proc/tty/driver/serial formatting fix From: Matthias Andree Properly terminate /proc/tty/driver/serial output lines of known UARTS when the caller has no CAP_SYS_ADMIN capability. ChangeSet@1.1380.2.6, 2003-10-29 07:13:14-08:00, akpm@osdl.org [PATCH] Export some symbols on x86-64 From: Andi Kleen Export two symbols on x86-64. This is needed for the sk98lin driver and ipv6. ChangeSet@1.1380.2.5, 2003-10-29 07:13:05-08:00, akpm@osdl.org [PATCH] bttv jiffies warning fix Use unsigned long for time_after(), not an int. ChangeSet@1.1380.2.4, 2003-10-29 07:12:56-08:00, akpm@osdl.org [PATCH] WinTV-D patch to make tuner functional From: "Brad House" Quick patch to enable the Philips tuner on the WinTV-D boards. Tested and works fine. (acked by Gerd) ChangeSet@1.1380.2.3, 2003-10-29 07:12:47-08:00, akpm@osdl.org [PATCH] JBD: use-after-free fix The wait_event() in there can touch the memory at *transaction after kjournald has freed it. Rework the code to not wait until the transaction enters T_FLUSH state: just loop back and try against after the wakeup. ChangeSet@1.1380.2.2, 2003-10-29 07:12:38-08:00, akpm@osdl.org [PATCH] digi_accelport warning fix Use the correct type for the workqueue callback. ChangeSet@1.1380.2.1, 2003-10-29 07:09:57-08:00, phillim2@comcast.net [PATCH] ibmtr_cs/ibmtr - get working again Patch to get ibmtr_cs / ibmtr working again. A change went in a while back I missed that killed it. Also fixed the timer to eliminate the uninitialized timer error on close. ChangeSet@1.1383, 2003-10-28 23:24:26-08:00, acme@conectiva.com.br [LLC]: Fix oops in procf handling. ChangeSet@1.1382, 2003-10-28 23:19:09-08:00, janitor@sternwelten.at [NETFILTER]: Add IPCHAINS to MAINTAINERS entry. ChangeSet@1.1381, 2003-10-28 23:01:01-08:00, davem@nuts.ninka.net [NET/COMPAT]: Fix copying of ipt_entry objects in do_netfilter_replace(). As noted by Georg Chini, ipt_entry object are of variable size so just copying individual struct ipt_entry slots around does not work. ChangeSet@1.1371.5.2, 2003-10-28 22:07:38-05:00, len.brown@intel.com [ACPI] REVERT ACPICA-20030918 CONFIG_ACPI_DEBUG printk that caused crash http://bugzilla.kernel.org/show_bug.cgi?id=1341 ChangeSet@1.1371.5.1, 2003-10-28 21:40:08-05:00, len.brown@intel.com [ACPI] REVERT acpi_ec_gpe_query(ec) fix that crashed non-T40 boxes http://bugme.osdl.org/show_bug.cgi?id=1171 ChangeSet@1.1371.4.1, 2003-10-28 13:09:35-08:00, Jay.Estabrook@hp.com [PATCH] Fix alpha "white box" boot Here's a show-stopper patch for Alpha; missing it prevents several of our platforms ("white box" 3000 and 5000 series) from booting. ChangeSet@1.1378, 2003-10-28 08:38:12-08:00, kml@patheticgeek.net [TCP]: When SYN is set, the window is not scaled. ChangeSet@1.1371.1.3, 2003-10-28 08:24:23-08:00, davem@nuts.ninka.net [SPARC64]: Get preempt building and working again. - HAVE_DEC_LOCK depends on SMP - Trap return preemption check needs interrupt disabled check - Implement write_trylock - Fix in_atomic() definition when PREEMPT enabled ChangeSet@1.1337.1.34, 2003-10-28 11:04:30-05:00, jgarzik@redhat.com [libata] Add paranoia checks/settings suggested by Promise ChangeSet@1.1377, 2003-10-28 07:44:43-08:00, yoshfuji@linux-ipv6.org [IPV6]: Fix outdated and inaccurate information in Kconfig help. ChangeSet@1.1371.3.2, 2003-10-28 09:41:40-06:00, Andries.Brouwer@cwi.nl [PATCH] Strange SCSI messages In SCSI messages, sdsdd should have been sdd. That is, these days error printing is a bit broken. ChangeSet@1.1371.3.1, 2003-10-28 09:33:04-06:00, wrlk@riede.org [PATCH] osst buglet Fixes a "Bad page state at destroy_compound_page" error. ChangeSet@1.1376, 2003-10-28 06:47:13-08:00, yoshfuji@linux-ipv6.org [IPV4]: Remove out-of-date info CONFIG_INET help text. ChangeSet@1.1375, 2003-10-28 03:11:07-08:00, yoshfuji@linux-ipv6.org [IPV6]: Fix inappropriate usage of inet{,6}_sk(). ChangeSet@1.1371.1.2, 2003-10-28 02:33:27-08:00, davem@nuts.ninka.net [SPARC64]: Fix preempt handling in dec_and_lock.S ChangeSet@1.1371.1.1, 2003-10-28 02:26:34-08:00, davem@nuts.ninka.net [SPARC]: Add AIO syscalls, 32-bit compat handling will come later. ChangeSet@1.1350.7.1, 2003-10-28 09:36:10+00:00, andrew@com.rmk.(none) [SERIAL PATCH] 1672/1: Restore sizeof(struct serial_struct) Patch from SAN People Patch 2.4.21-rmk1 added a "iomap_base" field to the serial_struct structure (include/linux/serial.h). Since that structure is exported to user-space it should be consistent between revisions of the stable 2.4 kernels. This patch removes 4 bytes (were "reserved") to restore the size of the structure. Without this patch, ioctl(TIOCGSERIAL) will copy_to_user() 4 bytes more than expected and possibly corrupt the application's stack/heap. ChangeSet@1.1374, 2003-10-28 01:13:25-08:00, pee@erkkila.org [IPV4]: Make sure ipgre_tunnel_init() gets the correct ioctl settings. ChangeSet@1.1373, 2003-10-28 01:11:37-08:00, acme@conectiva.com.br [LLC]: In llc_ui_connect(), return error properly when device not found. ChangeSet@1.1372, 2003-10-28 01:10:42-08:00, acme@conectiva.com.br [LLC]: Fix array indexing in llc_add_pack(). ChangeSet@1.1350.5.2, 2003-10-27 22:45:37-08:00, eranian@hpl.hp.com [PATCH] ia64: fix 2 more perfmon2 bugs Here is the minimal patch that fixes things that do not work and that can be noticed fairly easily: - remove a typo in pfm_check_task_state() which causes PFM_READ_PMDS to fail when context is in PFM_MASKED state. - fix a typo in perfmon_mcklinley.h when checking the value combinations for when writing to PMC14. This could reject a valid request to program PMC14. ChangeSet@1.1350.6.1, 2003-10-27 23:20:38+00:00, rmk@flint.arm.linux.org.uk [PCMCIA] Fix card detection. Idea from David Hinds. Some PCMCIA/Cardbus controllers seem to get upset when we ask them to re-do card interrogation - they miss the next insertion event. We therefore avoid forcing needless card interrogations if a card has already been succesfully detected and interrogated. ChangeSet@1.1371, 2003-10-27 13:37:04-08:00, akpm@osdl.org [PATCH] Fix binfmt_misc locking This fixes a sleep-in-spinlock bug for binfmt_misc registration. That lock is purely for the list, not for the dentry. ChangeSet@1.1370, 2003-10-27 11:52:49-08:00, torvalds@home.osdl.org Don't force PS/2 mouse rate or resolution by default. Only set the rate/resolution if the user actually asked for it. Some mice and KVM switches don't like to have their rate forced. ChangeSet@1.1369, 2003-10-27 11:50:03-08:00, torvalds@home.osdl.org Fix ZOMBIE race with self-reaping threads. exit_notify() used to leave a window open when a thread died that made the thread visible as a ZOMBIE even though the thread reaped itself. This closes that window by marking the thread DEAD within the tasklist_lock. ChangeSet@1.1337.43.18, 2003-10-27 10:44:55-08:00, eranian@hpl.hp.com [PATCH] ia64: fix perfmon UP breakage ChangeSet@1.1350.4.2, 2003-10-27 08:37:48-08:00, kevcorry@us.ibm.com [PATCH] Fix DM on top of raid Force Device-Mapper to use PAGE_SIZE or smaller I/O when the underlying device has a bvec_merge_fn routine registered. This will fix the situation of Device-Mapper submitting I/Os to RAID-0 that span the RAID-0 chunk boundaries. Joe is working on a better solution that actually honors the MD merge_bvec_fn routine. But this minimal change will fix the problem for the time being. ChangeSet@1.1350.4.1, 2003-10-27 08:35:23-08:00, torvalds@home.osdl.org Put the compiler barrier() on the right side of the preemption enable on UP-PREEMPT. Without this, the enable could "migrate" up into the critical region (on SMP, the actual spinlock would act as an additional barrier and PREEMPT was ok). ChangeSet@1.1366, 2003-10-27 03:29:16-08:00, herbert@gondor.apana.org.au [IPSEC]: Fix accidental too many ref drops on policies. ChangeSet@1.1365, 2003-10-27 00:56:29-08:00, davem@nuts.ninka.net [IPV6]: Do not virt_to_page() on stack addresses, fixes OOPS. ChangeSet@1.1364, 2003-10-27 00:29:03-08:00, davem@nuts.ninka.net Revert "Zero initial timestamps are valid" changeset. I am still not sure that this change all by itself is enough to make us accept zero initial timestamps properly. Cset exclude: davem@nuts.ninka.net|ChangeSet|20031025060257|60993 ChangeSet@1.1363, 2003-10-27 00:28:16-08:00, davem@nuts.ninka.net Revert signal handling changes in tcp.c - they break SIGURG. Cset exclude: kuznet@ms2.inr.ac.ru|ChangeSet|20031021052951|52463 ChangeSet@1.1362, 2003-10-27 00:11:51-08:00, bdschuym@pandora.be [NETFILTER]: Fix potential OOPS in ipt_REDIRECT. ChangeSet@1.1361, 2003-10-27 00:05:29-08:00, yoshfuji@linux-ipv6.org [IPV6]: Fix bogus semicolon typo in mcast.c ChangeSet@1.1360, 2003-10-27 00:01:25-08:00, rusty@rustcorp.com.au [NETFILTER]: Fix ipchains oops in NAT We updated ip_nat_setup_info to set the initialized flag and call place_in_hashes, but *didn't* change the call in ip_fw_compat_masq.c which also calls place_in_hashes() itself (again!). Result: corrupt list, and next thing which lands in the same hash bucket goes boom. Thanks to Andy Polyakov for chasing this down. ChangeSet@1.1359, 2003-10-27 00:00:07-08:00, yoshfuji@linux-ipv6.org [IPV6]: Process ipv4-mapped addresses properly on UDPv6 sockets. ChangeSet@1.1358, 2003-10-26 23:58:17-08:00, yoshfuji@linux-ipv6.org [IPV4,6]: Use common storage for cork'd flow, needed to handle mapped-ipv4 ipv6 addresses properly. ChangeSet@1.1357, 2003-10-26 23:55:54-08:00, yoshfuji@linux-ipv6.org [IPV6]: Use real storage for cork'd packets, else MSG_MORE corrupts UDP packets. ChangeSet@1.1356, 2003-10-26 23:52:56-08:00, yoshfuji@linux-ipv6.org [IPV6]: Typo in address comparison. ChangeSet@1.1355, 2003-10-26 23:52:27-08:00, ak@muc.de [NET]: Fix oops in ethertap_rx(). ChangeSet@1.1354, 2003-10-26 23:51:48-08:00, levon@movementarian.org [NETFILTER]: Fix modular iptables build. ChangeSet@1.1350.2.1, 2003-10-27 06:29:34+01:00, matthias.andree@gmx.de Properly terminate /proc/tty/driver/serial output lines of known UARTS when the caller has no CAP_SYS_ADMIN capability. ChangeSet@1.1350.1.10, 2003-10-26 19:16:23-08:00, torvalds@home.osdl.org Add a sticky "PF_DEAD" task flag to keep track of dead processes. Use this to simplify 'finish_task_switch', but perhaps more importantly we can use this to track down why some processes seem to sometimes not die properly even after having been marked as ZOMBIE. The "task->state" flags are too fluid to allow that well. ChangeSet@1.1350.1.9, 2003-10-26 14:27:04-08:00, tausq@debian.org [PATCH] fix __div64_32 to do division properly This fixes the generic __div64_32() to correctly handle divisions by large 32-bit values (as used by nanosleep() and friends, for example). It's a simple bit-at-a-time implementation with a reduction of the high 32-bits handled manually. Architectures that can do 64/32-bit divisions in hardware should implement their own more efficient versions. ChangeSet@1.1350.1.8, 2003-10-26 09:23:40-08:00, ysato@users.sourceforge.jp [PATCH] fix h8/300 support - add 'sched_clock' - delete smplock.h ChangeSet@1.1350.1.7, 2003-10-26 09:17:34-08:00, ak@muc.de [PATCH] Essential x86-64 updates The most important part is that it makes x86-64 compile again. Without that 2.6 users won't be very happy. It also works around a bug that allowed every user program to reboot the system on B stepping K8. Also update to match some recent i386 fixes. Full ChangeLog: - Add acpi_pic_set_level_irq to make ACPI compile again - Work around compat mode K8 bug in IRET exception handling - Increase exception stack. The old 1k stack was too easy to overflow (from Jim Paradis, changed by me) - Replace safe_smp_processor_id with cpuid (needed for above) - When there is only one node always enable fake_node mode - Merge with i386 (NTP gettimeofday monoticity fix, irq nr_vectors change) - Fix compile problem for UP kernels in time/cpufreq - Set all nodes online at bootup - Define node_to_cpumask correctly ChangeSet@1.1350.1.6, 2003-10-26 09:11:40-08:00, stelian@popies.net [PATCH] meye: documentation This documents the existence of a forth 'motioneye' camera plugged into the USB bus, of course unsupported by the meye driver. ChangeSet@1.1350.1.5, 2003-10-26 09:11:20-08:00, stelian@popies.net [PATCH] sonypi: fix Zoom/Thumbphrase button events This corrects the Zoom and Thumbphrase button events. ChangeSet@1.1350.1.4, 2003-10-26 09:11:03-08:00, Andries.Brouwer@cwi.nl [PATCH] Relax FATFS validity tests The first FAT entry should have the media byte (0xf0,0xf8,...,0xff) extended with all 1 bits in the first FAT entry. Checking this is a good idea, it prevents us from mounting garbage as FAT - there is no good magic for FAT. Unfortunately, Windows does not enforce this, and 2.4 doesn't either. It turns out that there are filesystems around (two reports so far) that have a zero first FAT entry, and work under Windows and 2.4 but fail to mount under 2.6. So, this weakens the test. ChangeSet@1.1350.1.3, 2003-10-26 09:10:52-08:00, Andries.Brouwer@cwi.nl [PATCH] atkbd: 0xfa is ACK The 0xfa code can be a key scancode or it can be a protocol scancode. Only few keyboards use it as a key scancode, and if we always interpret it as a protocol scancode then these rare keyboards will have a dead key. If we interpret it as a key scancode then we have a dead keyboard in case it was protocol. Clearly it is safer to prefer to interpret it as a protocol scancode. This moves the test for ACK and NAK up, so that they are always seen as protocol. This is just a minimal patch. What I did in 1.1.54 was to keep track of commands sent with a flag reply_expected, so that 0xfa could be taken as ACK when a reply is expected and as key scancode otherwise. That is the better solution, but requires larger surgery. ChangeSet@1.1350.1.2, 2003-10-25 11:38:01-07:00, torvalds@home.osdl.org Linux 2.6.0-test9 TAG: v2.6.0-test9