commit 29e8c3c304b62f31b799565c9ee85d42bd163f80 Author: Linus Torvalds Date: Tue Mar 4 20:33:54 2008 -0800 Linux 2.6.25-rc4 commit 9b37ccfc637be27d9a652fcedc35e6e782c3aa78 Author: Pavel Roskin Date: Thu Feb 28 17:11:02 2008 -0500 module: allow ndiswrapper to use GPL-only symbols A change after 2.6.24 broke ndiswrapper by accidentally removing its access to GPL-only symbols. Revert that change and add comments about the reasons why ndiswrapper and driverloader are treated in a special way. Signed-off-by: Pavel Roskin Acked-by: Greg KH Acked-by: Ingo Molnar Cc: Rusty Russell Cc: Jon Masters Signed-off-by: Linus Torvalds commit dea75bdfa57f75a7a7ec2961ec28db506c18e5db Author: Stephen Hemminger Date: Tue Mar 4 17:03:49 2008 -0800 [IPCONFIG]: The kernel gets no IP from some DHCP servers From: Stephen Hemminger Based upon a patch by Marcel Wappler: This patch fixes a DHCP issue of the kernel: some DHCP servers (i.e. in the Linksys WRT54Gv5) are very strict about the contents of the DHCPDISCOVER packet they receive from clients. Table 5 in RFC2131 page 36 requests the fields 'ciaddr' and 'siaddr' MUST be set to '0'. These DHCP servers ignore Linux kernel's DHCP discovery packets with these two fields set to '255.255.255.255' (in contrast to popular DHCP clients, such as 'dhclient' or 'udhcpc'). This leads to a not booting system. Signed-off-by: David S. Miller commit b2a5cd6938879b5bcfef0a73c28fea84c49519c2 Author: Masami Hiramatsu Date: Tue Mar 4 14:29:44 2008 -0800 kprobes: fix a null pointer bug in register_kretprobe() Fix a bug in regiseter_kretprobe() which does not check rp->kp.symbol_name == NULL before calling kprobe_lookup_name. For maintainability, this introduces kprobe_addr helper function which resolves addr field. It is used by register_kprobe and register_kretprobe. Signed-off-by: Masami Hiramatsu Cc: Ananth N Mavinakayanahalli Cc: Jim Keniston Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1913130553aa231644eb4e955b1a2c533fe33d17 Author: Randy Dunlap Date: Tue Mar 4 14:29:43 2008 -0800 input: add I2C to config since the driver makes several i2c*() calls Add to help text that the Intel I2C ICH (i801) driver is also needed for this kernel. Add LEDS_CLASS to config since the driver makes les_classdev_*() calls: ERROR: "led_classdev_register" [drivers/input/misc/apanel.ko] undefined! ERROR: "__led_classdev_unregister" [drivers/input/misc/apanel.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 92587216f8bdf74432ada8a9a1a7caf4c135cf42 Author: Josef Bacik Date: Tue Mar 4 14:29:43 2008 -0800 ext3: fix mount option parsing The "resize" option won't be noticed as it comes after the NULL option, so if you try to mount (or in this case remount) with that option it won't be recognized. Signed-off-by: Josef Bacik Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 348e1e04b5229a481891699ce86da009b793f29e Author: Nishanth Aravamudan Date: Tue Mar 4 14:29:42 2008 -0800 hugetlb: fix pool shrinking while in restricted cpuset Adam Litke noticed that currently we grow the hugepage pool independent of any cpuset the running process may be in, but when shrinking the pool, the cpuset is checked. This leads to inconsistency when shrinking the pool in a restricted cpuset -- an administrator may have been able to grow the pool on a node restricted by a containing cpuset, but they cannot shrink it there. There are two options: either prevent growing of the pool outside of the cpuset or allow shrinking outside of the cpuset. >From previous discussions on linux-mm, /proc/sys/vm/nr_hugepages is an administrative interface that should not be restricted by cpusets. So allow shrinking the pool by removing pages from nodes outside of current's cpuset. Signed-off-by: Nishanth Aravamudan Acked-by: Adam Litke Cc: William Irwin Cc: Lee Schermerhorn Cc: Christoph Lameter Cc: Paul Jackson Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ac09b3a15154af5f081fed509c6c3662e79de785 Author: Adam Litke Date: Tue Mar 4 14:29:38 2008 -0800 hugetlb: close a difficult to trigger reservation race A hugetlb reservation may be inadequately backed in the event of racing allocations and frees when utilizing surplus huge pages. Consider the following series of events in processes A and B: A) Allocates some surplus pages to satisfy a reservation B) Frees some huge pages A) A notices the extra free pages and drops hugetlb_lock to free some of its surplus pages back to the buddy allocator. B) Allocates some huge pages A) Reacquires hugetlb_lock and returns from gather_surplus_huge_pages() Avoid this by commiting the reservation after pages have been allocated but before dropping the lock to free excess pages. For parity, release the reservation in return_unused_surplus_pages(). This patch also corrects the cpuset_mems_nr() error path in hugetlb_acct_memory(). If the cpuset check fails, uncommit the reservation, but also be sure to return any surplus huge pages that may have been allocated to back the failed reservation. Thanks to Andy Whitcroft for discovering this. Signed-off-by: Adam Litke Cc: Mel Gorman Cc: Andy Whitcroft Cc: Dave Hansen Cc: William Lee Irwin III Cc: Andy Whitcroft Cc: Mel Gorman Cc: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a07e6ab41be179cf1ed728a4f41368435508b550 Author: K.Tanaka Date: Tue Mar 4 14:29:37 2008 -0800 md: the md RAID10 resync thread could cause a md RAID10 array deadlock This message describes another issue about md RAID10 found by testing the 2.6.24 md RAID10 using new scsi fault injection framework. Abstract: When a scsi error results in disabling a disk during RAID10 recovery, the resync threads of md RAID10 could stall. This case, the raid array has already been broken and it may not matter. But I think stall is not preferable. If it occurs, even shutdown or reboot will fail because of resource busy. The deadlock mechanism: The r10bio_s structure has a "remaining" member to keep track of BIOs yet to be handled when recovering. The "remaining" counter is incremented when building a BIO in sync_request() and is decremented when finish a BIO in end_sync_write(). If building a BIO fails for some reasons in sync_request(), the "remaining" should be decremented if it has already been incremented. I found a case where this decrement is forgotten. This causes a md_do_sync() deadlock because md_do_sync() waits for md_done_sync() called by end_sync_write(), but end_sync_write() never calls md_done_sync() because of the "remaining" counter mismatch. For example, this problem would be reproduced in the following case: Personalities : [raid10] md0 : active raid10 sdf1[4] sde1[5](F) sdd1[2] sdc1[1] sdb1[6](F) 3919616 blocks 64K chunks 2 near-copies [4/2] [_UU_] [>....................] recovery = 2.2% (45376/1959808) finish=0.7min speed=45376K/sec This case, sdf1 is recovering, sdb1 and sde1 are disabled. An additional error with detaching sdd will cause a deadlock. md0 : active raid10 sdf1[4] sde1[5](F) sdd1[6](F) sdc1[1] sdb1[7](F) 3919616 blocks 64K chunks 2 near-copies [4/1] [_U__] [=>...................] recovery = 5.0% (99520/1959808) finish=5.9min speed=5237K/sec 2739 ? S< 0:17 [md0_raid10] 28608 ? D< 0:00 [md0_resync] 28629 pts/1 Ss 0:00 bash 28830 pts/1 R+ 0:00 ps ax 31819 ? D< 0:00 [kjournald] The resync thread keeps working, but actually it is deadlocked. Patch: By this patch, the remaining counter will be decremented if needed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c830532f6b44d10a1743ccd00e990c6b83396f5 Author: NeilBrown Date: Tue Mar 4 14:29:35 2008 -0800 md: fix possible raid1/raid10 deadlock on read error during resync Thanks to K.Tanaka and the scsi fault injection framework, here is a fix for another possible deadlock in raid1/raid10 error handing. If a read request returns an error while a resync is happening and a resync request is pending, the attempt to fix the error will block until the resync progresses, and the resync will block until the read request completes. Thus a deadlock. This patch fixes the problem. Cc: "K.Tanaka" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ed3a19563b6c05b7625649b1769ddb063d53253 Author: Keld Simonsen Date: Tue Mar 4 14:29:34 2008 -0800 md: don't attempt read-balancing for raid10 'far' layouts This patch changes the disk to be read for layout "far > 1" to always be the disk with the lowest block address. Thus the chunks to be read will always be (for a fully functioning array) from the first band of stripes, and the raid will then work as a raid0 consisting of the first band of stripes. Some advantages: The fastest part which is the outer sectors of the disks involved will be used. The outer blocks of a disk may be as much as 100 % faster than the inner blocks. Average seek time will be smaller, as seeks will always be confined to the first part of the disks. Mixed disks with different performance characteristics will work better, as they will work as raid0, the sequential read rate will be number of disks involved times the IO rate of the slowest disk. If a disk is malfunctioning, the first disk which is working, and has the lowest block address for the logical block will be used. Signed-off-by: Keld Simonsen Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27c529bb8e906d5d692152bc127cc09477d3629e Author: NeilBrown Date: Tue Mar 4 14:29:33 2008 -0800 md: lock access to rdev attributes properly When we access attributes of an rdev (component device on an md array) through sysfs, we really need to lock the array against concurrent changes. We currently do that when we change an attribute, but not when we read an attribute. We need to lock when reading as well else rdev->mddev could become NULL while we are accessing it. So add appropriate locking (mddev_lock) to rdev_attr_show. rdev_size_store requires some extra care as well as it needs to unlock the mddev while scanning other mddevs for overlapping regions. We currently assume that rdev->mddev will still be unchanged after the scan, but that cannot be certain. So take a copy of rdev->mddev for use at the end of the function. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 25156198235325805cd7295ed694509fd6e3a29e Author: NeilBrown Date: Tue Mar 4 14:29:32 2008 -0800 md: make sure a reshape is started when device switches to read-write A resync/reshape/recovery thread will refuse to progress when the array is marked read-only. So whenever it mark it not read-only, it is important to wake up thread resync thread. There is one place we didn't do this. The problem manifests if the start_ro module parameters is set, and a raid5 array that is in the middle of a reshape (restripe) is started. The array will initially be semi-read-only (meaning it acts like it is readonly until the first write). So the reshape will not proceed. On the first write, the array will become read-write, but the reshape will not be started, and there is no event which will ever restart that thread. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d0fae18f1b53a1d39135a968792be034bdf7ff26 Author: NeilBrown Date: Tue Mar 4 14:29:31 2008 -0800 md: clean up irregularity with raid autodetect When a raid1 array is stopped, all components currently get added to the list for auto-detection. However we should really only add components that were found by autodetection in the first place. So add a flag to record that information, and use it. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a1801f858e57f87a7f79914346921cc729632295 Author: NeilBrown Date: Tue Mar 4 14:29:31 2008 -0800 md: guard against possible bad array geometry in v1 metadata Make sure the data doesn't start before the end of the superblock when the superblock is at the start of the device. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8311c29d40235062a843f4a8e8a70a44af6fe4c9 Author: NeilBrown Date: Tue Mar 4 14:29:30 2008 -0800 md: reduce CPU wastage on idle md array with a write-intent bitmap On an md array with a write-intent bitmap, a thread wakes up every few seconds and scans the bitmap looking for work to do. If the array is idle, there will be no work to do, but a lot of scanning is done to discover this. So cache the fact that the bitmap is completely clean, and avoid scanning the whole bitmap when the cache is known to be clean. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a35e63efa1fb18c6f20f38e3ddf3f8ffbcf0f6e7 Author: NeilBrown Date: Tue Mar 4 14:29:29 2008 -0800 md: fix deadlock in md/raid1 and md/raid10 when handling a read error When handling a read error, we freeze the array to stop any other IO while attempting to over-write with correct data. This is done in the raid1d(raid10d) thread and must wait for all submitted IO to complete (except for requests that failed and are sitting in the retry queue - these are counted in ->nr_queue and will stay there during a freeze). However write requests need attention from raid1d as bitmap updates might be required. This can cause a deadlock as raid1 is waiting for requests to finish that themselves need attention from raid1d. So we create a new function 'flush_pending_writes' to give that attention, and call it in freeze_array to be sure that we aren't waiting on raid1d. Thanks to "K.Tanaka" for finding and reporting this problem. Cc: "K.Tanaka" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 466634488e80968f12e73dd1fe6af5c37a1fbfe2 Author: FUJITA Tomonori Date: Tue Mar 4 14:29:28 2008 -0800 iommu: parisc: make the IOMMUs respect the segment boundary limits Make PARISC's two IOMMU implementations not allocate a memory area spanning LLD's segment boundary. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: FUJITA Tomonori Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7c8cda625acd9b704100994626fb6d2fb4ffb9c2 Author: FUJITA Tomonori Date: Tue Mar 4 14:29:28 2008 -0800 iommu: parisc: pass struct device to iommu_alloc_range This adds struct device argument to sba_alloc_range and ccio_alloc_range, a preparation for modifications to fix the IOMMU segment boundary problem. This change enables ccio_alloc_range to access to LLD's segment boundary limits. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: FUJITA Tomonori Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3715863aa142c4f4c5208f5f3e5e9bac06006d2f Author: FUJITA Tomonori Date: Tue Mar 4 14:29:27 2008 -0800 iommu: export iommu_is_span_boundary helper function iommu_is_span_boundary is used internally in the IOMMU helper (lib/iommu-helper.c), a primitive function that judges whether a memory area spans LLD's segment boundary or not. It's difficult to convert some IOMMUs to use the IOMMU helper but iommu_is_span_boundary is still useful for them. So this patch exports it. This is needed for the parisc iommu fixes. Signed-off-by: FUJITA Tomonori Cc: Kyle McMartin Cc: Matthew Wilcox Cc: Grant Grundler Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7eb701dc7779794d46e02a7fa1380289cb730d46 Author: Kyle McMartin Date: Tue Mar 4 14:29:26 2008 -0800 hisax_fcpcipnp: move request_irq later in probe After a quick glance at the code, we're getting the DEBUG_SHIRQ spurious interrupt before we have the adapter template filled in. Real interrupts appear to be turned on by fcpci*_init(), so move request_irq until just before that. Signed-off-by: Kyle McMartin Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e4465fdaeb3f7b5ef47f389d3eac76db79ff20d8 Author: Michael Halcrow Date: Tue Mar 4 14:29:24 2008 -0800 eCryptfs: make ecryptfs_prepare_write decrypt the page When the page is not up to date, ecryptfs_prepare_write() should be acting much like ecryptfs_readpage(). This includes the painfully obvious step of actually decrypting the page contents read from the lower encrypted file. Note that this patch resolves a bug in eCryptfs in 2.6.24 that one can produce with these steps: # mount -t ecryptfs /secret /secret # echo "abc" > /secret/file.txt # umount /secret # mount -t ecryptfs /secret /secret # echo "def" >> /secret/file.txt # cat /secret/file.txt Without this patch, the resulting data returned from cat is likely to be something other than "abc\ndef\n". (Thanks to Benedikt Driessen for reporting this.) Signed-off-by: Michael Halcrow Cc: Benedikt Driessen Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87ffbe679e21cbf82ff8e3302520ff0ea2beed9a Author: Jesper Nilsson Date: Tue Mar 4 14:29:23 2008 -0800 cris: correct syscall numbers in unistd.h for timerfd_settime and timerfd_gettime Last commit for unistd was not correct, it only had a partial update of syscall numbers for __NR_timerfd_settime and __NR_timerfd_gettime. Also, NR_syscalls was not incremented for the new syscalls. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07f2402b4adbcd0e6822ddc27953b63d4504faec Author: Jesper Nilsson Date: Tue Mar 4 14:29:23 2008 -0800 cris: correct usage of __user for copy to and from user space in lib/usercopy and uaccess.h Function __copy_user_zeroing in arch/lib/usercopy.c had the wrong parameter set as __user, and in include/asm-cris/uaccess.h, it was not set at all for some of the calling functions. This will cut the number of warnings quite dramatically when using sparse. While we're here, remove useless CVS log and correct confusing typo. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cee47f5a32a1b5a1c8b148e738249946e3fedb95 Author: Henrique de Moraes Holschuh Date: Tue Mar 4 14:29:21 2008 -0800 ACPI: thinkpad-acpi: fix hotkey_get_tablet_mode I used the wrong return convention on hotkey_get_tablet_mode(), breaking a lot of stuff. Bad Henrique! Fix it to return the status in the parameter-by-reference, and IO status on the function return value. Duh. Signed-off-by: Henrique de Moraes Holschuh Cc: Zdenek Kabelac Cc: "Rafael J. Wysocki" Cc: Lukas Hejtmanek Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acc1f3ede977bf189b332874beeadf48c01544c5 Author: Julia Lawall Date: Tue Mar 4 14:29:20 2008 -0800 fs/reiserfs/super.c: correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337 ("wmi: (!x & y) strikes again"), a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. This is not tested and clearly changes the semantics, so it is only something to consider. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1,E2; @@ ( !E1 & !E2 | - !E1 & E2 + !(E1 & E2) ) // Signed-off-by: Julia Lawall Cc: Chris Mason Cc: Jeff Mahoney Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 022d917d9621ee79e6f6782fbddd582b8f941024 Author: Julia Lawall Date: Tue Mar 4 14:29:19 2008 -0800 drivers/serial/m32r_sio.c: correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337 ("wmi: (!x & y) strikes again"), a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. This is not tested and clearly changes the semantics, so it is only something to consider. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1,E2; @@ ( !E1 & !E2 | - !E1 & E2 + !(E1 & E2) ) // Signed-off-by: Julia Lawall Cc: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ae91d60ba88ef0bdb1b5e9b2363bd52fc45d2af7 Author: Julia Lawall Date: Tue Mar 4 14:29:18 2008 -0800 drivers/isdn: correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337 ("wmi: (!x & y) strikes again"), a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. This is not tested and clearly changes the semantics, so it is only something to consider. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1,E2; @@ ( !E1 & !E2 | - !E1 & E2 + !(E1 & E2) ) // Signed-off-by: Julia Lawall Cc: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07fb6f26bab869fc3bb9df0a785ba734f4c51ac3 Author: Julia Lawall Date: Tue Mar 4 14:29:17 2008 -0800 drivers/char/isicom.c: correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337 ("wmi: (!x & y) strikes again"), a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. This is not tested and clearly changes the semantics, so it is only something to consider. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1,E2; @@ ( !E1 & !E2 | - !E1 & E2 + !(E1 & E2) ) // Signed-off-by: Julia Lawall Cc: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb59e9f1e9786635ea12e12bf6adbb132e10f979 Author: Hugh Dickins Date: Tue Mar 4 14:29:16 2008 -0800 memcg: fix oops on NULL lru list While testing force_empty, during an exit_mmap, __mem_cgroup_remove_list called from mem_cgroup_uncharge_page oopsed on a NULL pointer in the lru list. I couldn't see what racing tasks on other cpus were doing, but surmise that another must have been in mem_cgroup_charge_common on the same page, between its unlock_page_cgroup and spin_lock_irqsave near done (thanks to that kzalloc which I'd almost changed to a kmalloc). Normally such a race cannot happen, the ref_cnt prevents it, the final uncharge cannot race with the initial charge. But force_empty buggers the ref_cnt, that's what it's all about; and thereafter forced pages are vulnerable to races such as this (just think of a shared page also mapped into an mm of another mem_cgroup than that just emptied). And remain vulnerable until they're freed indefinitely later. This patch just fixes the oops by moving the unlock_page_cgroups down below adding to and removing from the list (only possible given the previous patch); and while we're at it, we might as well make it an invariant that page->page_cgroup is always set while pc is on lru. But this behaviour of force_empty seems highly unsatisfactory to me: why have a ref_cnt if we always have to cope with it being violated (as in the earlier page migration patch). We may prefer force_empty to move pages to an orphan mem_cgroup (could be the root, but better not), from which other cgroups could recover them; we might need to reverse the locking again; but no time now for such concerns. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9b3c0a07e0fca35e36751680de3e4c76dbff5df3 Author: Hirokazu Takahashi Date: Tue Mar 4 14:29:15 2008 -0800 memcg: simplify force_empty and move_lists As for force_empty, though this may not be the main topic here, mem_cgroup_force_empty_list() can be implemented simpler. It is possible to make the function just call mem_cgroup_uncharge_page() instead of releasing page_cgroups by itself. The tip is to call get_page() before invoking mem_cgroup_uncharge_page(), so the page won't be released during this function. Kamezawa-san points out that by the time mem_cgroup_uncharge_page() uncharges, the page might have been reassigned to an lru of a different mem_cgroup, and now be emptied from that; but Hugh claims that's okay, the end state is the same as when it hasn't gone to another list. And once force_empty stops taking lock_page_cgroup within mz->lru_lock, mem_cgroup_move_lists() can be simplified to take mz->lru_lock directly while holding page_cgroup lock (but still has to use try_lock_page_cgroup). Signed-off-by: Hirokazu Takahashi Signed-off-by: Hugh Dickins Cc: David Rientjes Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2680eed723b664d83e6181ae275fac0ec8fa05ff Author: Hugh Dickins Date: Tue Mar 4 14:29:13 2008 -0800 memcg: fix mem_cgroup_move_lists locking Ever since the VM_BUG_ON(page_get_page_cgroup(page)) (now Bad page state) went into page freeing, I've hit it from time to time in testing on some machines, sometimes only after many days. Recently found a machine which could usually produce it within a few hours, which got me there at last. The culprit is mem_cgroup_move_lists, whose locking is inadequate; and the arrangement of structures was such that you got page_cgroups from the lru list neatly put on to SLUB's freelist. Kamezawa-san identified the same hole independently. The main problem was that it was missing the lock_page_cgroup it needs to safely page_get_page_cgroup; but it's tricky to go beyond that too, and I couldn't do it with SLAB_DESTROY_BY_RCU as I'd expected. See the code for comments on the constraints. This patch immediately gets replaced by a simpler one from Hirokazu-san; but is it just foolish pride that tells me to put this one on record, in case we need to come back to it later? Signed-off-by: Hugh Dickins Cc: David Rientjes Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6d48ff8bcfd403ec8d3ef7a56538ea9e6f773b9c Author: Hugh Dickins Date: Tue Mar 4 14:29:12 2008 -0800 memcg: css_put after remove_list mem_cgroup_uncharge_page does css_put on the mem_cgroup before uncharging from it, and before removing page_cgroup from one of its lru lists: isn't there a danger that struct mem_cgroup memory could be freed and reused before completing that, so corrupting something? Never seen it, and for all I know there may be other constraints which make it impossible; but let's be defensive and reverse the ordering there. mem_cgroup_force_empty_list is safe because there's an extra css_get around all its works; but even so, change its ordering the same way round, to help get in the habit of doing it like this. Signed-off-by: Hugh Dickins Cc: David Rientjes Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9c565d5a29a795f970b4a1340393d8fc6722fb9 Author: Hugh Dickins Date: Tue Mar 4 14:29:11 2008 -0800 memcg: remove clear_page_cgroup and atomics Remove clear_page_cgroup: it's an unhelpful helper, see for example how mem_cgroup_uncharge_page had to unlock_page_cgroup just in order to call it (serious races from that? I'm not sure). Once that's gone, you can see it's pointless for page_cgroup's ref_cnt to be atomic: it's always manipulated under lock_page_cgroup, except where force_empty unilaterally reset it to 0 (and how does uncharge's atomic_dec_and_test protect against that?). Simplify this page_cgroup locking: if you've got the lock and the pc is attached, then the ref_cnt must be positive: VM_BUG_ONs to check that, and to check that pc->page matches page (we're on the way to finding why sometimes it doesn't, but this patch doesn't fix that). Signed-off-by: Hugh Dickins Cc: David Rientjes Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5b69e38f8cdb1e41cc022305c86c9739bf1ffdb Author: Hugh Dickins Date: Tue Mar 4 14:29:10 2008 -0800 memcg: memcontrol uninlined and static More cleanup to memcontrol.c, this time changing some of the code generated. Let the compiler decide what to inline (except for page_cgroup_locked which is only used when CONFIG_DEBUG_VM): the __always_inline on lock_page_cgroup etc. was quite a waste since bit_spin_lock etc. are inlines in a header file; made mem_cgroup_force_empty and mem_cgroup_write_strategy static. Signed-off-by: Hugh Dickins Cc: David Rientjes Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8869b8f6e09a1b49bf915eb03f663f2e4e8fbcd4 Author: Hugh Dickins Date: Tue Mar 4 14:29:09 2008 -0800 memcg: memcontrol whitespace cleanups Sorry, before getting down to more important changes, I'd like to do some cleanup in memcontrol.c. This patch doesn't change the code generated, but cleans up whitespace, moves up a double declaration, removes an unused enum, removes void returns, removes misleading comments, that kind of thing. Signed-off-by: Hugh Dickins Cc: David Rientjes Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8289546e573d5ff681cdf0fc7a1184cca66fdb55 Author: Hugh Dickins Date: Tue Mar 4 14:29:08 2008 -0800 memcg: remove mem_cgroup_uncharge Nothing uses mem_cgroup_uncharge apart from mem_cgroup_uncharge_page, (a trivial wrapper around it) and mem_cgroup_end_migration (which does the same as mem_cgroup_uncharge_page). And it often ends up having to lock just to let its caller unlock. Remove it (but leave the silly locking until a later patch). Moved mem_cgroup_cache_charge next to mem_cgroup_charge in memcontrol.h. Signed-off-by: Hugh Dickins Cc: David Rientjes Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e924aafa4b03ff71de34af8553d9a1ebc86c071 Author: Hugh Dickins Date: Tue Mar 4 14:29:08 2008 -0800 memcg: mem_cgroup_charge never NULL My memcgroup patch to fix hang with shmem/tmpfs added NULL page handling to mem_cgroup_charge_common. It seemed convenient at the time, but hard to justify now: there's a perfectly appropriate swappage to charge and uncharge instead, this is not on any hot path through shmem_getpage, and no performance hit was observed from the slight extra overhead. So revert that NULL page handling from mem_cgroup_charge_common; and make it clearer by bringing page_cgroup_assign_new_page_cgroup into its body - that was a helper I found more of a hindrance to understanding. Signed-off-by: Hugh Dickins Cc: David Rientjes Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9442ec9df40d952b0de185ae5638a74970388e01 Author: Hugh Dickins Date: Tue Mar 4 14:29:07 2008 -0800 memcg: bad page if page_cgroup when free Replace free_hot_cold_page's VM_BUG_ON(page_get_page_cgroup(page)) by a "Bad page state" and clear: most users don't have CONFIG_DEBUG_VM on, and if it were set here, it'd likely cause corruption when the page is reused. Don't use page_assign_page_cgroup to clear it: that should be private to memcontrol.c, and always called with the lock taken; and memmap_init_zone doesn't need it either - like page->mapping and other pointers throughout the kernel, Linux assumes pointers in zeroed structures are NULL pointers. Instead use page_reset_bad_cgroup, added to memcontrol.h for this only. Signed-off-by: Hugh Dickins Cc: David Rientjes Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 98837c7f82ef78aa38f40462aa2fcac68fd3acbf Author: Hugh Dickins Date: Tue Mar 4 14:29:06 2008 -0800 memcg: fix VM_BUG_ON from page migration Page migration gave me free_hot_cold_page's VM_BUG_ON page->page_cgroup. remove_migration_pte was calling mem_cgroup_charge on the new page whenever it found a swap pte, before it had determined it to be a migration entry. That left a surplus reference count on the page_cgroup, so it was still attached when the page was later freed. Move that mem_cgroup_charge down to where we're sure it's a migration entry. We were already under i_mmap_lock or anon_vma->lock, so its GFP_KERNEL was already inappropriate: change that to GFP_ATOMIC. It's essential that remove_migration_pte removes all the migration entries, other crashes follow if not. So proceed even when the charge fails: normally it cannot, but after a mem_cgroup_force_empty it might - comment in the code. Signed-off-by: Hugh Dickins Cc: David Rientjes Cc: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 61469f1d51777fc3b6d8d70da8373ee77ee13349 Author: Hugh Dickins Date: Tue Mar 4 14:29:04 2008 -0800 memcg: when do_swap's do_wp_page fails Don't uncharge when do_swap_page's call to do_wp_page fails: the page which was charged for is there in the pagetable, and will be correctly uncharged when that area is unmapped - it was only its COWing which failed. And while we're here, remove earlier XXX comment: yes, OR in do_wp_page's return value (maybe VM_FAULT_WRITE) with do_swap_page's there; but if it fails, mask out success bits, which might confuse some arches e.g. sparc. Signed-off-by: Hugh Dickins Cc: David Rientjes Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6dbf6d3bb955d5a92005b6ecd6ffad2c5b95b963 Author: Hugh Dickins Date: Tue Mar 4 14:29:04 2008 -0800 memcg: page_cache_release not __free_page There's nothing wrong with mem_cgroup_charge failure in do_wp_page and do_anonymous page using __free_page, but it does look odd when nearby code uses page_cache_release: use that instead (while turning a blind eye to ancient inconsistencies of page_cache_release versus put_page). Signed-off-by: Hugh Dickins Cc: David Rientjes Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 427d5416f317681498337ab19218d195edea02d6 Author: Hugh Dickins Date: Tue Mar 4 14:29:03 2008 -0800 memcg: move_lists on page not page_cgroup Each caller of mem_cgroup_move_lists is having to use page_get_page_cgroup: it's more convenient if it acts upon the page itself not the page_cgroup; and in a later patch this becomes important to handle within memcontrol.c. Signed-off-by: Hugh Dickins Cc: David Rientjes Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd845e38c7a7251a95a8f2c38aa7fb87140b771d Author: Hugh Dickins Date: Tue Mar 4 14:29:01 2008 -0800 memcg: mm_match_cgroup not vm_match_cgroup vm_match_cgroup is a perverse name for a macro to match mm with cgroup: rename it mm_match_cgroup, matching mm_init_cgroup and mm_free_cgroup. Signed-off-by: Hugh Dickins Acked-by: David Rientjes Acked-by: Balbir Singh Acked-by: KAMEZAWA Hiroyuki Cc: Hirokazu Takahashi Cc: YAMAMOTO Takashi Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acc4988bcf38f9618886eaeb9802aeacc6978ec2 Author: Mathieu Desnoyers Date: Tue Mar 4 14:29:00 2008 -0800 markers: add an if(0) to __mark_check_format() Wrap __mark_check_format() into an if(0) to make sure that parameters such as trace_mark(mm_page_alloc, "order %u pfn %lu", order, page?page_to_pfn(page):0); (where page_to_pfn() has side-effects) won't generate code because of the __mark_check_format(). Thanks to Jan Kiszka for reporting this. Signed-off-by: Mathieu Desnoyers Cc: Jan Kiszka Cc: "Frank Ch. Eigler" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 544adb41077a10d299a1094f12ec55a5843a9bdb Author: Jesper Juhl Date: Tue Mar 4 14:29:00 2008 -0800 markers: don't risk NULL deref in marker get_marker() may return NULL, so test for it. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jesper Juhl Acked-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7088655477b51a5a248fa54190388e1283ba7ebf Author: Chris Dearman Date: Tue Mar 4 14:28:59 2008 -0800 .gitignore: ignore emacs backup and temporary files. Signed-off-by: Chris Dearman Signed-off-by: Ralf Baechle Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d5a4630a0daad241c761064295958554472ed491 Author: FUJITA Tomonori Date: Tue Mar 4 14:28:58 2008 -0800 alpha: remove unused DEBUG_FORCEDAC define in IOMMU This just removes unused DEBUG_FORCEDAC define in the IOMMU code. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf5401454863df8e6dc3ebe8faad09141cbec187 Author: FUJITA Tomonori Date: Tue Mar 4 14:28:57 2008 -0800 alpha: make IOMMU respect the segment boundary limits This patch makes the IOMMU code not allocate a memory area spanning LLD's segment boundary. is_span_boundary() judges whether a memory area spans LLD's segment boundary. If iommu_arena_find_pages() finds such a area, it tries to find the next available memory area. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d7e0390ab57cf15a5cfe8d6806192f0997e5a8 Author: FUJITA Tomonori Date: Tue Mar 4 14:28:57 2008 -0800 alpha: IOMMU had better access to the free space bitmap at only one place iommu_arena_find_pages duplicates the code to access to the bitmap for free space management. This patch convert the IOMMU code to have only one place to access the bitmap, in the popular way that other IOMMUs (e.g. POWER and SPARC) do. This patch is preparation for modifications to fix the IOMMU segment boundary problem. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3c5f1def7dd50b792f56dcf7378c2684c06947f3 Author: FUJITA Tomonori Date: Tue Mar 4 14:28:54 2008 -0800 alpha: convert IOMMU to use ALIGN() This patch is preparation for modifications to fix the IOMMU segment boundary problem. Signed-off-by: FUJITA Tomonori Cc: Richard Henderson Cc: Ivan Kokshaysky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 040922c04cf2c8ac70be2e88a8a9614ecdb41d2e Author: Eric Sandeen Date: Tue Mar 4 14:28:53 2008 -0800 include falloc.h in header-y Include falloc.h in header-y; it defines a flag for the fallocate sysctl. Signed-off-by: Eric Sandeen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9fe3fd03a18ee42006a59b182761d7d0f6f090f3 Author: Jesper Nilsson Date: Tue Mar 4 14:28:52 2008 -0800 CRIS: Import string.c (memcpy) from newlib: fixes compile error with gcc 4 Adrian Bunk reported another compile error with a SVN head GCC: ... CC arch/cris/arch-v10/lib/string.o /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/string.c:138: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/string.c:138: error: lvalue required as increment operand /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/cris/arch-v10/lib/string.c:139: error: lvalue required as increment operand ... This is due to the use of the construct: *((long*)dst)++ = lc; Which isn't legal since casts don't return an lvalue. The solution is to import the implementation from newlib, which is continually autotested together with GCC mainline, and uses the construct: *(long *) dst = lc; dst += 4; Since this is an import of a file from newlib, I'm not touching the formatting or correcting any checkpatch errors. As for the earlier fix for memset.c, even if the two files for CRIS v10 and CRIS v32 are identical at the moment, it might be possible to tweak the CRIS v32 version. Thus, I'm not yet folding them into the same file, at least not until we've done some research on it. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a51f4124e6d69afdfae34a2ff2e580e7bf224ad2 Author: David Sterba Date: Tue Mar 4 14:28:50 2008 -0800 ipwireless: fix potential tty == NULL dereference The Coverity checker spotted the following inconsequent NULL checking in drivers/char/pcmcia/ipwireless/network.c:ipwireless_network_packet_received() if (tty && channel_idx == IPW_CHANNEL_RAS && (network->ras_control_lines & IPW_CONTROL_LINE_DCD) != 0 && ipwireless_tty_is_modem(tty)) { ... else ipwireless_tty_received(tty, data, length); Cc: Adrian Bunk Signed-off-by: David Sterba Signed-off-by: Jiri Kosina Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3149be50d3a31df095bcc83d752293da65a37f62 Author: Ville Syrjala Date: Tue Mar 4 14:28:50 2008 -0800 sm501: add support for the SM502 programmable PLL SM502 has a programmable PLL which can provide the panel pixel clock instead of the 288MHz and 336MHz PLLs. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Ville Syrjala Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 245904a4ce08c48495b2fd6d6c317c26ddf2b57a Author: Ville Syrjala Date: Tue Mar 4 14:28:49 2008 -0800 sm501: remove a duplicated table misc_div is a subset of px_div so eliminate the smaller table. Signed-off-by: Ville Syrjala Cc: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e533705bd973267c488f8c3a7c7246ecad3a414 Author: Ville Syrjala Date: Tue Mar 4 14:28:49 2008 -0800 sm501fb: fix timing limits Vertical sync height register can only hold 6 bits. Fix the hsync start test to use > instead of >=. Also add a few clarifying comments. Signed-off-by: Ville Syrjala Acked-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19d06eff4e0d77fc1a15c92f845f1916e2d10dd0 Author: Ville Syrjala Date: Tue Mar 4 14:28:48 2008 -0800 sm501fb: set transp.offset to 0 in 8bpp and 16bpp modes Even though it may not be strictly necessary transp.offset should probably be 0 when alpha channel is not available. Signed-off-by: Ville Syrjala Acked-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fedbb3625b3c16441de1378ca00a74e9c1733289 Author: Ville Syrjala Date: Tue Mar 4 14:28:47 2008 -0800 sm501fb: RGB offsets are reversed in 16bpp modes The RGB offsets were reversed in 16bpp modes. Simply trying to reverse the offsets when endianness differs is clearly the wrong thing to do but that is an issue for another patch. Signed-off-by: Ville Syrjala Acked-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5619d823bc0e49d05618cdf955b04055b51a7de5 Author: Ville Syrjala Date: Tue Mar 4 14:28:46 2008 -0800 sm501fb: direct color visual does not work The sm501fb palette code clearly does not handle direct color so change the driver to use true color visual for 16bpp. Signed-off-by: Ville Syrjala Acked-by: Magnus Damm Acked-by: Ben Dooks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5cba6d22e35a05adb28fdea191b232501518c455 Author: Andrew Morton Date: Tue Mar 4 14:28:45 2008 -0800 ndelay(): switch to C function to avoid 64-bit division We should be able to do ndelay(some_u64), but that can cause a call to __divdi3() to be emitted because the ndelay() macros does a divide. Fix it by switching to static inline which will force the u64 arg to be treated as an unsigned long. udelay() takes an unsigned long arg. [bunk@kernel.org: reported m68k build breakage] Cc: Adrian Bunk Cc: Evgeniy Polyakov Cc: Martin Michlmayr Cc: Herbert Xu Cc: Ralf Baechle Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit daa49ff50a0cd1ddf88019e9afc41e26640ab1c4 Author: Anton Vorontsov Date: Tue Mar 4 14:28:44 2008 -0800 ds1wm: report bus reset error The patch replaces dev_dbg() by dev_err(), so the user could actually see the error, instead of wondering why w1 doesn't work. The root cause of the bus reset error isn't yet debugged though, but this sometimes happens on iPaq H5555. And while I'm at it, some cosmetic cleanups also made (few lines were using spaces instead of tabs). Signed-off-by: Anton Vorontsov Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fbc357df2e7728feb010148bed4eccb03a181610 Author: Anton Vorontsov Date: Tue Mar 4 14:28:43 2008 -0800 ds1wm: should check for IS_ERR(clk) instead of NULL On the error condition clk_get() returns ERR_PTR(..), so checking for NULL doesn't work. ds1wm module causes a kernel oops when ds1wm clock isn't registered. This patch converts NULL check to IS_ERR(), plus uses PTR_ERR() for the return code. Signed-off-by: Anton Vorontsov Acked-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4874cc1b5142397d585c63d84b3d6d3afff60354 Author: Grant Likely Date: Tue Mar 4 14:28:42 2008 -0800 powerpc: mpc5200: fix build error on mpc52xx_psc_spi device driver Commit id 94f389485e27641348c1951ab8d65157122a8939 (Separate MPC52xx PSC FIOF regsiters from the rest of PSC) split the PSC fifo registers away from the core PSC regs. Doing so broke the mpc52xx_psc_spi driver. This patch teaches the mpc52xx_psc_spi driver about the new PSC fifo register definitions. Signed-off-by: Grant Likely Cc: David Brownell Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05680d86d21bdbe56db80c66c24c686590815f1f Author: Peter Osterlund Date: Tue Mar 4 14:28:41 2008 -0800 pktcdvd: reduce stack consumption On my system, pkt_open() consumes 584 bytes because the compiler decides to inline lots of functions that would not normally be part of long call chains. The following patch fixes that problem on my system. Signed-off-by: Peter Osterlund Cc: Nix Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 735c4fb916e9f83a9350aeb2680d77d01ea75094 Author: Andrew Morton Date: Tue Mar 4 14:28:40 2008 -0800 add noinline_for_stack People are adding `noinline' in various places to prevent excess stack consumption due to gcc inlining. But once this is done, it is quite unobvious why the `noinline' is present in the code. We can comment each and every site, or we can use noinline_for_stack. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8ed857c64e3ae62e27606ae58bc7371b5daccb1 Author: Krzysztof Helt Date: Tue Mar 4 14:28:39 2008 -0800 tridentfb: resource management fixes in probe function Correct error paths in probe function. The probe function enables mmio mode so it important to disable the mmio mode before exiting the probe function. Otherwise, the console is left in unusable state (garbled fonts at least, lock up at worst). [akpm@linux-foundation.org: cleanups] Signed-off-by: Krzysztof Helt Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00f0b8259e48979c37212995d798f3fbd0374690 Author: Balbir Singh Date: Tue Mar 4 14:28:39 2008 -0800 Memory controller: rename to Memory Resource Controller Rename Memory Controller to Memory Resource Controller. Reflect the same changes in the CONFIG definition for the Memory Resource Controller. Group together the config options for Resource Counters and Memory Resource Controller. Signed-off-by: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 804defea1c020d5c52985685e56986f1a399acde Author: Ananth N Mavinakayanahalli Date: Tue Mar 4 14:28:38 2008 -0800 Kprobes: move kprobe examples to samples/ Move kprobes examples from Documentation/kprobes.txt to under samples/. Patch originally by Randy Dunlap. o Updated the patch to apply on 2.6.25-rc3 o Modified examples code to build on multiple architectures. Currently, the kprobe and jprobe examples code works for x86 and powerpc o Cleaned up unneeded #includes o Cleaned up Kconfig per Sam Ravnborg's suggestions to fix build break on archs that don't have kretprobes o Implemented suggestions by Mathieu Desnoyers on CONFIG_KRETPROBES o Included Andrew Morton's cleanup based on x86-git o Modified kretprobe_example to act as a arch-agnostic module to determine routine execution times: Use 'modprobe kretprobe_example func=' to determine execution time of func_name in nanoseconds. Signed-off-by: Randy Dunlap Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9edddaa200df18e08fe0cf21036e8ae467b1363c Author: Ananth N Mavinakayanahalli Date: Tue Mar 4 14:28:37 2008 -0800 Kprobes: indicate kretprobe support in Kconfig Add CONFIG_HAVE_KRETPROBES to the arch//Kconfig file for relevant architectures with kprobes support. This facilitates easy handling of in-kernel modules (like samples/kprobes/kretprobe_example.c) that depend on kretprobes being present in the kernel. Thanks to Sam Ravnborg for helping make the patch more lean. Per Mathieu's suggestion, added CONFIG_KRETPROBES and fixed up dependencies. Signed-off-by: Ananth N Mavinakayanahalli Acked-by: Mathieu Desnoyers Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8182ec49a73729334f5a6c65a607ba7009ebd6d6 Author: Samuel Thibault Date: Tue Mar 4 14:28:36 2008 -0800 VT notifier fix for VT switch VT notifier callbacks need to be aware of console switches. This is already partially done from console_callback(), but at that time fg_console, cursor positions, etc. are not yet updated and hence screen readers fetch the old values. This adds an update notify after all of the values are updated in redraw_screen(vc, 1). Signed-off-by: Samuel Thibault Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be852795e1c8d3829ddf3cb1ce806113611fa555 Author: Eric Dumazet Date: Tue Mar 4 14:28:35 2008 -0800 alloc_percpu() fails to allocate percpu data Some oprofile results obtained while using tbench on a 2x2 cpu machine were very surprising. For example, loopback_xmit() function was using high number of cpu cycles to perform the statistic updates, supposed to be real cheap since they use percpu data pcpu_lstats = netdev_priv(dev); lb_stats = per_cpu_ptr(pcpu_lstats, smp_processor_id()); lb_stats->packets++; /* HERE : serious contention */ lb_stats->bytes += skb->len; struct pcpu_lstats is a small structure containing two longs. It appears that on my 32bits platform, alloc_percpu(8) allocates a single cache line, instead of giving to each cpu a separate cache line. Using the following patch gave me impressive boost in various benchmarks ( 6 % in tbench) (all percpu_counters hit this bug too) Long term fix (ie >= 2.6.26) would be to let each CPU allocate their own block of memory, so that we dont need to roudup sizes to L1_CACHE_BYTES, or merging the SGI stuff of course... Note : SLUB vs SLAB is important here to *show* the improvement, since they dont have the same minimum allocation sizes (8 bytes vs 32 bytes). This could very well explain regressions some guys reported when they switched to SLUB. Signed-off-by: Eric Dumazet Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e3892296de632e3f9299d9fabe0c746740004891 Author: Jan Kara Date: Tue Mar 4 14:28:33 2008 -0800 vfs: fix NULL pointer dereference in fsync_buffers_list() Fix NULL pointer dereference in fsync_buffers_list() introduced by recent fix of races in private_list handling. Since bh->b_assoc_map has been cleared in __remove_assoc_queue() we should really use original value stored in the 'mapping' variable. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10ed273f5016c582413dfbc468dd084957d847e1 Author: KOSAKI Motohiro Date: Tue Mar 4 14:28:32 2008 -0800 zlc_setup(): handle jiffies wraparound jiffies subtraction may cause an overflow problem. It should be using time_after(). [akpm@linux-foundation.org: include jiffies.h] Signed-off-by: KOSAKI Motohiro Cc: Lee Schermerhorn Cc: Paul Jackson Cc: Mel Gorman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9d4fcfe515d7cece1b26decd75f5d41544a287b Author: Alex Riesen Date: Tue Mar 4 14:28:31 2008 -0800 Fix "Malformed early option 'loglevel'" Keith Mannthey said: The parameter hotadd_percent is setup right but there is a "Malformed early option 'numa'" message. Rusty Russell said: This happens when the function registered with early_param() returns non-zero. __setup() functions return 1 if OK, module_param() and early_param() return 0 or a -ve error code. For instance: Linux version 2.6.25-rc3-t (raa@steel) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #22 SMP PREEMPT Tue Feb 26 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 00000000000a0000 (usable) BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000003fff0000 (usable) BIOS-e820: 000000003fff0000 - 000000003fff3000 (ACPI NVS) BIOS-e820: 000000003fff3000 - 0000000040000000 (ACPI data) BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved) Malformed early option 'loglevel' 127MB HIGHMEM available. 896MB LOWMEM available. Command line: BOOT_IMAGE=2.6.25-t ro root=809 ro console=ttyS0,57600n8 console=tty0 loglevel=5 Acked-by: Yinghai Lu Cc: Rusty Russell Cc: Keith Mannthey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d31472b6d4f799a68d877f69b2f843eec5875472 Author: Roland McGrath Date: Tue Mar 4 14:28:30 2008 -0800 core dump: user_regset writeback This makes the user_regset-based core dump code call user_regset writeback hooks when available. This is necessary groundwork to allow IA64 to set CORE_DUMP_USE_REGSET. Cc: Shaohua Li Signed-off-by: Roland McGrath Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 938a9204e0df070bfbaac71f6403cebed76763ad Author: akpm@linux-foundation.org Date: Tue Mar 4 14:28:29 2008 -0800 Add memory resource controller maintainers Signed-off-by: Balbir Singh Signed-off-by: Pavel Emelyanov Cc: Paul Menage Cc: KAMEZAWA Hiroyuki Cc: YAMAMOTO Takashi Cc: Hugh Dickins Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb3a0fb6fd3e997b61f1b121e980aeea88fa4529 Author: Paul Menage Date: Tue Mar 4 14:28:28 2008 -0800 Control Groups: add Paul Menage as maintainer Control Groups: Add Paul Menage as maintainer Signed-off-by: Paul Menage Cc: Balbir Singh Cc: KAMEZAWA Hiroyuki Cc: YAMAMOTO Takashi Cc: Hugh Dickins Cc: Pavel Emelyanov Cc: David Rientjes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7560fa60fcdcdb0da662f6a9fad9064b554ef46c Author: David Brownell Date: Tue Mar 4 14:28:27 2008 -0800 gpio: and "no GPIO support here" stubs Add a defining fail/warn stubs for GPIO calls on platforms that don't support the GPIO programming interface. That includes the arch-specific implementation glue otherwise. This facilitates a new model for GPIO usage: drivers that can use GPIOs if they're available, but don't require them. One example of such a driver is NAND driver for various FreeScale chips. On platforms update with GPIO support, they can be used instead of a worst-case delay to verify that the BUSY signal is off. (Also includes a couple minor unrelated doc updates.) Signed-off-by: David Brownell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 83c7c693ed3e61535ad6a097ad991a88aafc54b8 Author: Harvey Harrison Date: Tue Mar 4 14:28:26 2008 -0800 specialix.c: fix possible double-unlock Noticed by sparse, trivial to see: drivers/char/specialix.c:2112:3: warning: context imbalance in 'sx_throttle' - unexpected unlock Signed-off-by: Harvey Harrison Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c46288b09e1a5b5741a7e1a575d5f53f79132d39 Author: Byron Bradley Date: Tue Mar 4 14:28:25 2008 -0800 rtc: add support for the S-35390A RTC chip This adds basic get/set time support for the Seiko Instruments S-35390A. This chip communicates using I2C and is used on the QNAP TS-109/TS-209 NAS devices. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Byron Bradley Acked-by: Jean Delvare Acked-by: David Brownell Tested-by: Tim Ellis Cc: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb78922ce9c71b24c4af1ffc9c3d60c57ac471fb Author: Balbir Singh Date: Tue Mar 4 14:28:24 2008 -0800 Memory Resource Controller use strstrip while parsing arguments The memory controller has a requirement that while writing values, we need to use echo -n. This patch fixes the problem and makes the UI more consistent. Signed-off-by: Balbir Singh Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a10568733cdff03cac742955c7254585451f5431 Author: Jesper Nilsson Date: Tue Mar 4 14:28:23 2008 -0800 CRIS v10: Include mm.h instead of vmstat.h in kernel/time.c Commit 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 (CONFIG_HIGHPTE vs. sub-page page tables) introduced use of inc_zone_page_state and dec_zone_page_state in include/linux/mm.h. Those are defined in include/linux/vmstat.h, but after it includes mm.h, making it impossible to include vmstat.h since inc_zone_page_state and dec_zone_page_state then would be undefined. arch/cris/arch-v10/kernel/time.c does just this, which makes the CRIS v10 build break with the following error: ... CC arch/cris/arch-v10/kernel/time.o In file included from include/linux/vmstat.h:7, from arch/cris/arch-v10/kernel/time.c:17: include/linux/mm.h: In function 'pgtable_page_ctor': include/linux/mm.h:902: error: implicit declaration of function 'inc_zone_page_state' include/linux/mm.h: In function 'pgtable_page_dtor': include/linux/mm.h:908: error: implicit declaration of function 'dec_zone_page_state' make[2]: *** [arch/cris/arch-v10/kernel/time.o] Error 1 make[1]: *** [arch/cris/arch-v10/kernel] Error 2 make: *** [sub-make] Error 2 ... By changing kernel/time.c to include linux/mm.h, the build succeeds. Signed-off-by: Jesper Nilsson Cc: Mikael Starvik Cc: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 51587cb54fb2b27c5e0db9078a61261c9359142a Author: Bjorn Helgaas Date: Tue Mar 4 14:28:21 2008 -0800 serial: add PNP ID GVC0303 for Archtek 3334BRV ISA modem Thomas Lehmann verified that this entry works. Signed-off-by: Bjorn Helgaas Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf655043d4ba6fb3e352d6295a6ad5c2361755c4 Author: Andy Whitcroft Date: Tue Mar 4 14:28:20 2008 -0800 update checkpatch.pl to version 0.15 This version brings a number of minor fixes updating the type detector and the unary tracker. It also brings a few small fixes for false positives. It also reverts the --file warning. Of note: - limit CVS checks to added lines - improved type detections - fixes to the unary tracker Andy Whitcroft (13): Version: 0.15 EXPORT_SYMBOL checks need to accept array variables export checks must match DECLARE_foo and LIST_HEAD possible types: cleanup debugging missing line values: track values through preprocessor conditional paths typeof is actually a type possible types: detect definitions which cross lines values: include line numbers on value debug information values: ensure we find correctly record pending brackets values: simplify the brace history stack CVS keyword checks should only apply to added lines loosen spacing for comments allow braces for single statement blocks with multiline conditionals Harvey Harrison (1): checkpatch: remove fastcall Ingo Molnar (1): checkpatch.pl: revert wrong --file message Uwe Kleine-Koenig (1): fix typo "goot" -> "good" Signed-off-by: Andy Whitcroft Cc: Randy Dunlap Cc: Joel Schopp Cc: Ingo Molnar Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b6abdb0e6ca5c2c0a7caa4131da2af0750927e72 Author: Li Zefan Date: Tue Mar 4 14:28:19 2008 -0800 cgroup: fix default notify_on_release setting The documentation says the default value of notify_on_release of a child cgroup is inherited from its parent, which is reasonable, but the implementation just sets the flag disabled. Signed-off-by: Li Zefan Acked-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c256e05b7b30fab484deacb4f8cff59ce649c75e Author: Michael Buesch Date: Tue Mar 4 20:31:13 2008 +0100 b43legacy: Fix module init message This fixes the module init message to tell that the legacy driver loaded. This makes it less confusing, in case both drivers are loaded. Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit cdb2a9fe63575dd1eb82b724bbd0aa5e0dd89fa0 Author: Jussi Kivilinna Date: Tue Mar 4 20:05:27 2008 +0200 rndis_wlan: fix broken data copy Replace broken code that attempted to copy 6 byte array to 64-bit integer. Due to missing cast to 64-bit integer, left shift operation were 32-bit and lead to bytes been copied over each other. New code uses simple memcpy, for greater readability and efficiency. Signed-off-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 8a96df80b3ddb2410045a26ea19eeccb5f2d2d11 Author: Sebastian Siewior Date: Tue Mar 4 18:22:27 2008 +0100 libertas: compare the current command with response instead of with itself. Signed-off-by: Sebastian Siewior Signed-off-by: John W. Linville commit 6305f498604df6c66bdb4cc533ce6332fa5ab61f Author: David Woodhouse Date: Mon Mar 3 12:20:12 2008 +0100 libertas: fix sanity check on sequence number in command response Slightly more useful if we compare it against the sequence number of the command we have outstanding, rather than comparing the reply with itself. Doh. Pointed out by Sebastian Siewior Signed-off-by: David Woodhouse Acked-by: Dan Williams Signed-off-by: John W. Linville commit c2f2d3a06f8b628d444cf4f396d6c6ddd47e1d1f Author: Johannes Berg Date: Fri Feb 29 23:28:25 2008 +0100 p54: fix eeprom parser length sanity checks When I called p54_parse_eeprom() on a hand-coded structure I managed to make a small mistake with wrap->len which caused a segfault a few lines down when trying to read entry->len. This patch changes the validation code to avoid such problems. Signed-off-by: Johannes Berg Tested-by: Florian Fainelli Signed-off-by: John W. Linville commit 8c28293f5514f64ba064bac7946aebeda4a663c6 Author: Johannes Berg Date: Fri Feb 29 13:56:33 2008 +0100 p54: fix EEPROM structure endianness Since the EEPROM structure is read from hardware, it is always little endian, annotate that in the struct and make sure to convert where applicable. Signed-off-by: Johannes Berg Cc: Michael Wu Tested-by: Florian Fainelli Signed-off-by: John W. Linville commit dc63644b0ee3b447e879ef8e124657b40e9ea81c Author: Yoichi Yuasa Date: Fri Feb 29 11:09:31 2008 +0100 ssb: Add pcibios_enable_device() return value check This patch has added pcibios_enable_device() return value check. Signed-off-by: Yoichi Yuasa Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1d60ab0574fae362b1cca0ef52181ef75fd46832 Author: Stefano Brivio Date: Sun Mar 2 11:33:10 2008 +0100 rc80211-pid: fix rate adjustment Merge rate_control_pid_shift_adjust() to rate_control_pid_adjust_rate() in order to make the learning algorithm aware of constraints on rates. Also add some comments and rename variables. This fixes a bug which prevented 802.11b/g non-AP STAs from working with 802.11b only AP STAs. This patch was originally destined for 2.6.26, and is being backported to fix a user reported problem in post-2.6.24 kernels. Signed-off-by: Stefano Brivio Signed-off-by: John W. Linville commit c1ef5cbd03921047c2eafb998132e562043678a7 Author: Kenji Kaneshige Date: Tue Mar 4 13:01:14 2008 -0800 pci: hotplug: pciehp: fix error code path in hpc_power_off_slot Fix the error code path in hpc_power_off_slot(). The Bad DLLP Mask bit must be restored before return. Signed-off-by: Kenji Kaneshige Signed-off-by: Kristen Carlson Accardi Signed-off-by: Greg Kroah-Hartman commit 90a1ba0c5e39eeea278f263c28ae02166c5911c8 Author: Jonas Bonn Date: Fri Feb 22 11:02:21 2008 +0100 PCI: Add DECLARE_PCI_DEVICE_TABLE macro The definitions of struct pci_device_id arrays should generally follow the same pattern across the entire kernel. This macro defines this array as const and puts it into the __devinitconst section. There are currently many definitions scattered about the kernel that omit the __devinitdata modifier despite the documentation stating that it should always be there. These definitions really also should have been const, which wasn't possible before but has become so with the addition of the __devinitconst attribute. Furthermore, there are definitions that use "const" and __devinitdata, which is explicitly wrong but the compiler doesn't catch section mismatches if there's only one such one case in the module (which is often the case). Adding the __devinitconst modifier where there was nothing before buys us memory. Adding the const modifier gives the compiler a chance to do its thing. Changing __devinitdata to __devinitconst where it was wrong actually fixes some compiler errors in older (mid-release) kernels that were patched over by "removing" the section attribute altogether (which wastes memory). This macro makes it pretty difficult to get this definition wrong in the future... Signed-off-by: Jonas Bonn Signed-off-by: Greg Kroah-Hartman commit 4725e7bdb831b9d4bd4ba0b0909398ebcf0c2df9 Author: Greg Kroah-Hartman Date: Mon Mar 3 14:47:13 2008 -0800 PCI: fix up error messages for pci_bus registering Due to the class_device cleanup of pci_bus, the error messages when things go wrong are incorrect. So fix this up to properly report what is really happening, if things go wrong. Thanks to Kay for pointing out the issue. Cc: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 0ab2b57f8db8a1bcdf24089074f5d2856a3ffb42 Author: Sam Ravnborg Date: Sun Feb 17 10:45:28 2008 +0100 PCI: fix section mismatch warning in pci_scan_child_bus Fix following warning: WARNING: vmlinux.o(.text+0x47bdb1): Section mismatch in reference from the function pci_scan_child_bus() to the function .devinit.text:pcibios_fixup_bus() We had plenty of functions that could be annotated __devinit but due to the former restriction that exported symbols could not be annotated they were not so. So annotate these function and fix the references from the pci/hotplug/* code to silence the resuting warnings. Signed-off-by: Sam Ravnborg Signed-off-by: Greg Kroah-Hartman commit 415b6d0e894333d8e5e5a384a483a01b9b782fc7 Author: Bjorn Helgaas Date: Fri Feb 29 16:04:39 2008 -0700 PCI: consolidate duplicated MSI enable functions Two recent patches added basically the same code to turn on HT MSI mapping: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=6bae1d96c6d7dde078994f6cb98235fd46f8736b http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9dc625e72309e1c919ea3e7f51d0ffca96123787 There's no need to have both, so this patch removes one copy. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit d6505a5236a68c51a77df16bc4e6100b3aee2672 Author: Bjorn Helgaas Date: Fri Feb 29 16:12:18 2008 -0700 PCI: use dev_printk in quirk messages Convert quirk printks to dev_printk(). Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman commit 4ae897df80019db433cd46cdd50d3b48463757d9 Author: Sven Andersen Date: Tue Mar 4 22:09:11 2008 +0100 USB: ftdi_sio - really enable EM1010PC Add EM1010PC to ftdi_sio.c Signed-off-by: Sven Andersen Cc: stable Signed-off-by: Greg Kroah-Hartman commit 350351006426471458fe50b1de1160200a1ba138 Author: Tony Jones Date: Fri Feb 22 00:13:36 2008 +0100 USB: remove incorrect struct class_device from the printer gadget This field does nothing, and should not be allowed to stick around incase someone gets any other ideas... Signed-off-by: Tony Jones Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 64cc2dd937298324c77c7d584495052547c64a6a Author: Dmitry Baryshkov Date: Fri Feb 22 17:17:19 2008 -0800 USB: pxa2xx_udc: fix misuse of clock enable/disable calls Fix pxa2xx_udc to balance calls to clk_enable/clk_disable. [db: remove inline #ifdefs for IXP non-support of calls] Signed-off-by: Dmitry Baryshkov dbaryshkov@gmail.com Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 546d7eec389a3df3173b3131d92829c14e614601 Author: Kevin Vance Date: Sat Mar 1 13:49:59 2008 -0500 USB: ftdi_sio: Workaround for broken Matrix Orbital serial port Workaround for the FT232RL-based, Matrix Orbital VK204-25-USB serial port added to the ftdi_sio driver. The device has an invalid endpoint descriptor, which must be modified before it can be used. Signed-off-by: Kevin Vance Cc: stable Signed-off-by: Greg Kroah-Hartman commit 85fb62a001278270f9fffbdc3508ef23d5f3693d Author: Daniel Kozák Date: Tue Mar 4 18:54:53 2008 +0100 USB: Add support for AXESSTEL MV110H CDMA modem Add entry for Axesstel MV110H CDMA modem (ID: 1726:1000) to option driver Signed-off-by: Daniel Kozák Signed-off-by: Greg Kroah-Hartman commit 6d512a80c26d87f8599057c86dc920fbfe0aa3aa Author: Alan Stern Date: Fri Feb 22 17:00:06 2008 -0500 usb-storage: update earlier scatter-gather bug fix This patch (as1037) makes a small update to the earlier as1035 patch. The minimum-length computation shouldn't be done in usb_stor_access_xfer_buf(), since that routine can be called multiple times for a single transfer. It should be done in usb_stor_set_xfer_buf() instead, which gets called only once. The way it is now isn't really _wrong_, but it isn't really _right_ either. Moving the statement will be an improvement. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 0ed930bffab2ec98ee8f43f579a30755c13dd5ea Author: Anti Sullin Date: Mon Mar 3 15:39:54 2008 +0200 USB: isp116x: fix enumeration on boot This patch removes the buffering of the status register. USB core behavior has changed a bit and this buffering was not refreshed at the right time. The core got buffered old value of HCRHPORT and it did not detect any devices on boot. Signed-off-by: Anti Sullin Acked by: Olav Kongas Signed-off-by: Greg Kroah-Hartman commit b5f7a0ec11694e60c99d682549dfaf8a03d7ad97 Author: Misha Zhilin Date: Wed Feb 27 18:05:24 2008 -0800 USB: ehci: handle large bulk URBs correctly (again) USB: ehci: Fixes completion for multi-qtd URB the short read case When use of urb->status in the EHCI driver was reworked last August (commit 14c04c0f88f228fee1f412be91d6edcb935c78aa), a bug was inserted in the handling of early completion for bulk transactions that need more than one qTD (e.g. more than 20KB in one URB). This patch resolves that problem by ensuring that the early completion status is preserved until the URB is handed back to its submitter, instead of resetting it after each qTD. Signed-off-by: Misha Zhilin Signed-off-by: David Brownell Acked-by: Alan Stern Cc: stable@kernel.org Signed-off-by: Greg Kroah-Hartman commit 14f3546f32d69adaa303b72e5a999e85abe83f9a Author: Alan Stern Date: Wed Feb 27 15:43:47 2008 -0500 USB: spruce up the device blacklist This patch (as1040) fixes up the blacklist of USB device quirks. A couple of lines are broken to comply with the 80-column rule, and entries are sorted into the proper numerical order. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit d6d914f52b15d5a8e81ad481e02d9ab30d412a29 Author: Lei Ming Date: Mon Feb 25 18:07:28 2008 +0800 USB: fix comment of struct usb_interface update the comment for the removed "driver" field and being out-of-order of @cur_altsetting and @num_altsetting. Signed-off-by: Lei Ming Signed-off-by: Greg Kroah-Hartman commit c2c8d1fdadda4abc90efdb7176f44cb903634511 Author: Alan Stern Date: Mon Feb 25 11:43:32 2008 -0500 USB: update Kconfig entry for USB_SUSPEND This patch (as1039) updates the Kconfig entry for USB_SUSPEND. The out-of-date reference to "power/state" is fixed, autosuspend is mentioned, and the dependency on EXPERIMENTAL is removed. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 11e1abb453690a907ea26c07043987165a4f277f Author: David Ludlow Date: Mon Feb 25 17:30:52 2008 -0500 usb: Add support for the mos7820/7840-based B&B USB/RS485 converter to mos7840.c Add support for the mos7820/7840-based B&B USOPTL4_2/USOPTL4_4 USB/RS485 converter to mos7840.c Signed-off-by: Dave Ludlow Signed-off-by: Greg Kroah-Hartman commit 3634634edd49c115da931998b9540bcc17665b05 Author: Harvey Harrison Date: Wed Feb 13 17:08:16 2008 -0800 debugfs: fix sparse warnings extern does not belong in C files, move declaration to linux/debugfs.h fs/debugfs/file.c:42:30: warning: symbol 'debugfs_file_operations' was not declared. Should it be static? fs/debugfs/file.c:54:31: warning: symbol 'debugfs_link_operations' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Greg Kroah-Hartman commit c1fe539a7e031302af1d121163e7ce68e679ba8c Author: Cornelia Huck Date: Wed Feb 27 15:38:23 2008 +0100 Driver core: Fix cleanup when failing device_add(). Driver core: Fix cleanup when failing device_add(). - Don't call cleanup_device_parent() if we didn't call setup_parent(). - dev->kobj.parent may be NULL when cleanup_device_parent() is called, so we need to handle glue_dir == NULL in cleanup_glue_dir(). Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman commit 135dee0cd0eb2638fab899b428e51f00e8c046a8 Author: Rafael J. Wysocki Date: Mon Mar 3 23:46:51 2008 +0100 driver core: Remove dpm_sysfs_remove() from error path of device_add() Since device_pm_remove(dev) calls dpm_sysfs_remove(dev), it's incorrect to call the latter after the former in the device_add() error path. Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit 1b3cbec1dcb6747b587b40335f5de1d9e035063c Author: Alan Stern Date: Fri Feb 29 11:50:22 2008 -0500 PM: fix new mutex-locking bug in the PM core This patch (as1041) fixes a bug introduced by the acquire-all-device-semaphores reversion. The error pathway of dpm_suspend() fails to reacquire a mutex it should be holding. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman commit 7a8d37a37380e2b1500592d40b7ec384dbebe7a0 Author: Rafael J. Wysocki Date: Mon Feb 25 00:35:04 2008 +0100 PM: Do not acquire device semaphores upfront during suspend Remove the code that acquires all device semaphores from the suspend code path as it causes multiple problems to appear (most notably, http://bugzilla.kernel.org/show_bug.cgi?id=10030) and revert the change introduced by commit 4145ed6dc597a9bea5f6ae8c574653b2de10620f depending on the code being removed. Remove pm_sleep_lock()/pm_sleep_unlock() from device_add() to avoid the issue reported at http://bugzilla.kernel.org/show_bug.cgi?id=9874. It should fix the regreesions reported at: http://bugzilla.kernel.org/show_bug.cgi?id=9874 http://bugzilla.kernel.org/show_bug.cgi?id=10030 Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman commit a4573c488dd531c6e2d308ce8a7413c4a2646207 Author: Greg Kroah-Hartman Date: Tue Feb 26 09:36:38 2008 -0800 kobject: properly initialize ksets kset_initialize was calling kobject_init_internal() which didn't initialize the kobject as well as kobject_init() was. So have kobject_init() call kobject_init_internal() and move the logic to initalize the kobject there. Cc: Kay Sievers Cc: Hannes Reinecke Signed-off-by: Greg Kroah-Hartman commit d47846c5866b7d98a1173c86a39d810a06647329 Author: Ingo Molnar Date: Tue Mar 4 14:54:47 2008 +0100 sysfs: CONFIG_SYSFS_DEPRECATED fix CONFIG_SYSFS_DEPRECATED=y changed its meaning recently and causes regressions in working setups that had SYSFS_DEPRECATED disabled. so rename it to SYSFS_DEPRECATED_V2 so that testers pick up the new default via 'make oldconfig', even if their old .config's disabled CONFIG_SYSFS_DEPRECATED ... Signed-off-by: Ingo Molnar Cc: Kay Sievers Cc: Linus Torvalds Cc: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 024440d2ec9712c077cd315de7ae6bc9f6f14f1b Author: Greg Kroah-Hartman Date: Mon Mar 3 14:47:13 2008 -0800 driver core: fix up Kconfig text for CONFIG_SYSFS_DEPRECATED As things get moved into this config option, the hard date of 2006 does not work anymore, so update the text to be more descriptive. Cc: Kay Sievers Cc: Jiri Slaby Signed-off-by: Greg Kroah-Hartman commit 9dad6f5785a9f113dbbd58951d2f5ef9abd06dcc Author: Adrian Bunk Date: Mon Mar 3 20:07:22 2008 +0200 [IA64] fix ia64 kprobes compilation This patch fixes the following compile error with a recent gcc: CC kernel/kprobes.o /home/bunk/linux/kernel-2.6/git/linux-2.6/kernel/kprobes.c:1066: error: __ksymtab_jprobe_return causes a section type conflict Signed-off-by: Adrian Bunk Signed-off-by: Tony Luck commit ed58dd41f3aeefc11a7f634db90687f92ea8632e Author: Herbert Xu Date: Tue Mar 4 14:29:21 2008 -0800 [ESP]: Add select on AUTHENC Now the ESP uses the AEAD interface even for algorithms which are not combined mode, we need to select CONFIG_CRYPTO_AUTHENC as otherwise only combined mode algorithms will work. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 7adc3830f90df04a13366914d80a3ed407db5381 Author: David S. Miller Date: Tue Mar 4 14:28:41 2008 -0800 [TCP]: Improve ipv4 established hash function. If all of the entropy is in the local and foreign addresses, but xor'ing together would cancel out that entropy, the current hash performs poorly. Suggested by Cosmin Ratiu: Basically, the situation is as follows: There is a client machine and a server machine. Both create 15000 virtual interfaces, open up a socket for each pair of interfaces and do SIP traffic. By profiling I noticed that there is a lot of time spent walking the established hash chains with this particular setup. The addresses were distributed like this: client interfaces were 198.18.0.1/16 with increments of 1 and server interfaces were 198.18.128.1/16 with increments of 1. As I said, there were 15000 interfaces. Source and destination ports were 5060 for each connection. So in this case, ports don't matter for hashing purposes, and the bits from the address pairs used cancel each other, meaning there are no differences in the whole lot of pairs, so they all end up in the same hash chain. Signed-off-by: David S. Miller commit 956d6cad87abdfaef35fa4fc2f2e4ac5bb4ee7a5 Author: Doug Chapman Date: Fri Feb 29 15:28:43 2008 -0500 [IA64] move gcc_intrin.h from header-y to unifdef-y When I submitted 0df29025fd0379d5950d206314d0b10a2c8a9607 to ad an #ifdef __KERNEL__ to include/asm-ia64/gcc_intrin.h a few weeks ago I neglected to move gcc_intrin.h from header-y to unifdef-y. Thanks to David Woodhouse for pointing this out. Signed-off-by: Doug Chapman Signed-off-by: Jarod Wilson Signed-off-by: Tony Luck commit 6ed0dc5ba811ce682f48988bf114669265e1120d Author: Alex Chiang Date: Wed Feb 27 18:41:38 2008 -0700 [IA64] workaround tiger ia64_sal_get_physical_id_info hang This fixes regression introduced in 113134fcbca83619be4c68d0ca66db6093777b5d Intel Tiger platforms hang when calling SAL_GET_PHYSICAL_ID_INFO instead of properly returning -1 for unimplemented, so add a version check. SGI Altix platforms have an incorrect SAL version hard-coded into their prom -- they encode 2.9, but actually implement 3.2 -- so fix it up and allow ia64_sal_get_physical_id_info to keep working. Signed-off-by: Alex Chiang Acked-by: Russ Anderson Signed-off-by: Tony Luck commit 022f9268854e88adcc343de77a440d6e82f74c2e Author: Adrian Bunk Date: Tue Feb 26 21:54:46 2008 +0200 [IA64] move defconfig to arch/ia64/configs/ This patch moves the default ia64 defconfig to arch/ia64/configs/generic_defconfig where it belongs and selects it as the default defconfig through KBUILD_DEFCONFIG. Signed-off-by: Adrian Bunk Signed-off-by: Tony Luck commit a6cd6322d594014240465210ccb290971469c6e8 Author: Kenji Kaneshige Date: Mon Feb 25 14:32:22 2008 +0900 [IA64] Fix irq migration in multiple vector domain Fix the problem that the following error message is sometimes displayed at irq migration when vector domain is enabled. "Unexpected interrupt vector %d on CPU %d is not mapped to any IRQ!" The cause of this problem is an interrupt is sent to the previous target CPU after cleaning up vector to irq mapping table. To clean up vector to irq map on the previous target CPU safty, change the irq migration in multiple vector domain as follows. The original idea is from x86 interrupt management code. - Delay vector to irq table cleanup until the interrupts are sent to new target CPUs. By this, it is ensured that target CPU is completely changed on the interrupt controller side. - Even after the interrupts are sent to new target CPUs, there can be pended interrupts remaining on the previous target CPU. So we need to delay clearning up vector to irq table until the pended interrupt is handled. For this, send IPI to the previous target CPU with lower priority vector and clean up vector to irq table in its handler. This patch affects only to irq migration code with multiple vector domain is enabled. Signed-off-by: Kenji Kaneshige Signed-off-by: Tony Luck commit 86dffa4cd1a1d61fed68ab64c674d4094f2bdfe4 Author: Shi Weihua Date: Tue Feb 19 10:26:19 2008 +0800 [IA64] signal(ia64_ia32): add a signal stack overflow check The similar check has been added to x86_32(i386) in commit id 83bd01024b1fdfc41d9b758e5669e80fca72df66. So we add this check to ia64_ia32 and improve it a liitle bit in that we need to check for stack overflow only when the signal is on stack. Signed-off-by: Shi Weihua Signed-off-by: Tony Luck commit d7a6c68a2f991b18e61ebfe0251ab42c054d9a1d Author: Shi Weihua Date: Tue Feb 19 10:25:09 2008 +0800 [IA64] signal(ia64): add a signal stack overflow check The similar check has been added to x86_32(i386) in commit id 83bd01024b1fdfc41d9b758e5669e80fca72df66. So we add this check to ia64 and improve it a liitle bit in that we need to check for stack overflow only when the signal is on stack. Signed-off-by: Shi Weihua Signed-off-by: Tony Luck commit bd3be240cb4e513c3d5e7d773ab9a8ce646befbd Author: Jes Sorensen Date: Mon Feb 11 15:10:19 2008 +0100 [IA64] CONFIG_SGI_SN2 - auto select NUMA and ACPI_NUMA Auto select CONFIG_NUMA and CONFIG_ACPI_NUMA when picking SN2, similar to how they are selected automatically for CONFIG_IA64_GENERIC. Signed-off-by: Jes Sorensen Signed-off-by: Tony Luck commit d9452e9f81e997cbd0c9bface8d2c2a4b064cc3e Author: David S. Miller Date: Tue Mar 4 12:28:49 2008 -0800 [NETPOLL]: Revert two bogus cleanups that broke netconsole. Based upon a report by Andrew Morton and code analysis done by Jarek Poplawski. This reverts 33f807ba0d9259e7c75c7a2ce8bd2787e5b540c7 ("[NETPOLL]: Kill NETPOLL_RX_DROP, set but never tested.") and c7b6ea24b43afb5749cb704e143df19d70e23dea ("[NETPOLL]: Don't need rx_flags."). The rx_flags did get tested for zero vs. non-zero and therefore we do need those tests and that code which sets NETPOLL_RX_DROP et al. Signed-off-by: David S. Miller commit fcab59a3186640ce085e89ee6dfc03cacfb6c7c9 Author: Hugh Dickins Date: Tue Mar 4 19:33:24 2008 +0000 x86: a P4 is a P6 not an i486 P4 has been coming out as CPU_FAMILY=4 instead of 6: fix MPENTIUM4 typo. Signed-off-by: Hugh Dickins Signed-off-by: Linus Torvalds commit e97a294ef6938512b655b1abf17656cf2b26f709 Author: Jens Axboe Date: Tue Mar 4 20:22:54 2008 +0100 scsi: missing add of padded bytes to io completion byte count Original patch from Tejun Heo but should use ->extra_len and not ->data_len, as we would then overshoot the original request size. Signed-off-by: Jens Axboe commit 6497dcffe07b7c3d863f9899280c4f6eae999161 Author: Dan Williams Date: Sat Mar 1 07:52:14 2008 -0700 ioat: fix 'ack' handling, driver must ensure that 'ack' is zero Initialize 'ack' to zero in case the descriptor has been recycled. Prevents "kernel BUG at crypto/async_tx/async_xor.c:185!" Signed-off-by: Dan Williams Acked-by: Shannon Nelson Cc: stable@kernel.org commit ec8670f1f795badedaa056a3a3245b9b82201747 Author: Dan Williams Date: Sat Mar 1 07:51:29 2008 -0700 dmaengine: fix sparse warning include/linux/dmaengine.h:364:2: warning: returning void-valued expression Signed-off-by: Dan Williams commit 222ccf9ab838a1ca7163969fabd2cddc10403fb5 Author: Dan Williams Date: Sat Mar 1 07:51:17 2008 -0700 fsldma: do not cleanup descriptors in hardirq context "Cleaning" descriptors involves calling pending callbacks and clients assume that their callback will only ever happen in softirq context. Delay cleanup to the tasklet. Signed-off-by: Dan Williams Acked-by: Zhang Wei commit 173acc7ce8538f1f3040791dc622a92aadc12cf4 Author: Zhang Wei Date: Sat Mar 1 07:42:48 2008 -0700 dmaengine: add driver for Freescale MPC85xx DMA controller The driver implements DMA engine API for Freescale MPC85xx DMA controller, which could be used by devices in the silicon. The driver supports the Basic mode of Freescale MPC85xx DMA controller. The MPC85xx processors supported include MPC8540/60, MPC8555, MPC8548, MPC8641 and so on. The MPC83xx(MPC8349, MPC8360) are also supported. [kamalesh@linux.vnet.ibm.com: build fix] [dan.j.williams@intel.com: merge mm fixes, rebase on async_tx-2.6.25] Signed-off-by: Zhang Wei Signed-off-by: Ebony Zhu Acked-by: Kumar Gala Cc: Shannon Nelson Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Dan Williams commit 62fb185130e4d420f71a30ff59d8b16b74ef5d2b Author: Peter Zijlstra Date: Mon Feb 25 17:34:02 2008 +0100 sched: revert load_balance_monitor() changes The following commits cause a number of regressions: commit 58e2d4ca581167c2a079f4ee02be2f0bc52e8729 Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:08:00 2008 +0100 sched: group scheduling, change how cpu load is calculated commit 6b2d7700266b9402e12824e11e0099ae6a4a6a79 Author: Srivatsa Vaddagiri Date: Fri Jan 25 21:08:00 2008 +0100 sched: group scheduler, fix fairness of cpu bandwidth allocation for task groups Namely: - very frequent wakeups on SMP, reported by PowerTop users. - cacheline trashing on (large) SMP - some latencies larger than 500ms While there is a mergeable patch to fix the latter, the former issues are not fixable in a manner suitable for .25 (we're at -rc3 now). Hence we revert them and try again in v2.6.26. Signed-off-by: Peter Zijlstra CC: Srivatsa Vaddagiri Tested-by: Alexey Zaytsev Signed-off-by: Ingo Molnar commit 87d034f3139b5f0d93df2ba58f37d6f2c2c7eeb6 Author: Ian Campbell Date: Thu Feb 28 23:16:49 2008 +0000 x86/xen: fix DomU boot problem Construct Xen guest e820 map with a hole between 640K-1M. It's pure luck that Xen kernels have gotten away with it in the past. The patch below seems like the right thing to do. It certainly boots in a domU without the DMI problem (without any of the other related patches such as Alexander's). Signed-off-by: Ian Campbell Cc: H. Peter Anvin Cc: Jeremy Fitzhardinge Tested-by: Mark McLoughlin Acked-by: Mark McLoughlin Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner commit 7c9e92b6cdc9937eee53600e5d49a25e421463dd Author: Yinghai Lu Date: Tue Feb 19 15:35:54 2008 -0800 x86: not set node to cpu_to_node if the node is not online resolve boot problem reported by Mel Gorman: http://lkml.org/lkml/2008/2/13/404 init_cpu_to_node will use cpu->apic (from MADT or mptable) and apic->node(from SRAT or AMD config space with k8_bus_64.c) to have cpu->node mapping, and later identify_cpu will overwrite them again...(with nearby_node...) this patch checks if the node is online, otherwise it will not update cpu_node map. so keep cpu_node map to online node before identify_cpu..., to prevent possible error. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner commit 18a8622101154277df97e24097ed17aace84fa3a Author: Suresh Siddha Date: Mon Mar 3 13:01:08 2008 -0800 x86, i387: fix ptrace leakage using init_fpu() This bug got introduced by the recent i387 merge: commit 4421011120b2304e5c248ae4165a2704588aedf1 Author: Roland McGrath Date: Wed Jan 30 13:31:50 2008 +0100 x86: x86 i387 user_regset Current usage of unlazy_fpu() in ptrace specific routines is wrong. unlazy_fpu() will not init fpu if the task never used math. So the ptrace calls can expose the parent tasks FPU data in some cases. Replace it with the init_fpu() which will init the math state, if the task never used math before. Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner commit 8727e28ddebb031d80b5e261c98c24f1dcb9a82f Author: Geert Uytterhoeven Date: Tue Mar 4 09:18:16 2008 +0100 m68k{,nommu}: Wire up new timerfd syscalls m68k{,nommu}: Wire up the new timerfd syscalls, which were introduced in commit 4d672e7ac79b5ec5cdc90e450823441e20464691 ("timerfd: new timerfd API"). Signed-off-by: Geert Uytterhoeven Acked-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 0a504779d312ab20b9dbe3c8f1c66f395f80e2eb Author: Greg Ungerer Date: Tue Mar 4 16:52:01 2008 +1000 m68knommu: fix fec driver interrupt races The FEC driver has a common interrupt handler for all interrupt event types. It is raised on a number of distinct interrupt vectors. This handler can't be re-entered while processing an interrupt, so make sure all requested vectors are flagged as IRQF_DISABLED. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit e311f68a4e43ade048d7dbaa6b458fbe31114daf Author: Greg Ungerer Date: Tue Mar 4 16:35:04 2008 +1000 m68knommu: declare do_IRQ() Need a declaration of do_IRQ for the 68328 interrupt handling code. It is common to all m68knommu targets, so a common declaration makes sense. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 881ab680a49708b785384990ba729c1305e7f978 Author: Greg Ungerer Date: Tue Mar 4 16:24:17 2008 +1000 m68knommu: remove duplicate hw_tick() code Remove duplicate hw_tick() function from 68328 timers code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 673da21b10fe5988dd237beddd5292e18b5c5988 Author: Greg Ungerer Date: Tue Mar 4 15:44:23 2008 +1000 m68knommu: update defconfig Update the m68knommu defconfig. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 10a7f3135ac4937a3dc8ed11614a2b70cbd44728 Author: Tony Breeds Date: Tue Mar 4 16:05:06 2008 +1100 Build fix for drivers/s390/char/defkeymap.c Commit 5ce2087ed0eb424e0889bdc9102727f65d2ecdde (Fix default compose table initialization) left a trailing quote. CC drivers/s390/char/defkeymap.o drivers/s390/char/defkeymap.c:155: error: missing terminating ' character drivers/s390/char/defkeymap.c:156: error: syntax error before ';' token make[3]: *** [drivers/s390/char/defkeymap.o] Error 1 Fix that. Signed-off-by: Tony Breeds Signed-off-by: Linus Torvalds commit 13b1c3d4b49bd83d861c775ca2db54e1692a1b07 Author: Roland McGrath Date: Mon Mar 3 20:22:05 2008 -0800 freezer vs stopped or traced This changes the "freezer" code used by suspend/hibernate in its treatment of tasks in TASK_STOPPED (job control stop) and TASK_TRACED (ptrace) states. As I understand it, the intent of the "freezer" is to hold all tasks from doing anything significant. For this purpose, TASK_STOPPED and TASK_TRACED are "frozen enough". It's possible the tasks might resume from ptrace calls (if the tracer were unfrozen) or from signals (including ones that could come via timer interrupts, etc). But this doesn't matter as long as they quickly block again while "freezing" is in effect. Some minor adjustments to the signal.c code make sure that try_to_freeze() very shortly follows all wakeups from both kinds of stop. This lets the freezer code safely leave stopped tasks unmolested. Changing this fixes the longstanding bug of seeing after resuming from suspend/hibernate your shell report "[1] Stopped" and the like for all your jobs stopped by ^Z et al, as if you had freshly fg'd and ^Z'd them. It also removes from the freezer the arcane special case treatment for ptrace'd tasks, which relied on intimate knowledge of ptrace internals. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds commit 1a4e3f89c6b2cbe0b26c08ec63a8c34156eaae04 Author: Randy Dunlap Date: Wed Feb 20 09:20:08 2008 -0800 x86: disable KVM for Voyager and friends Most classic Pentiums don't have hardware virtualization extension, and building kvm with Voyager, Visual Workstation, or NUMAQ generates spurious failures. Signed-off-by: Avi Kivity Signed-off-by: Randy Dunlap commit 33f9c505ed5c83bd8a07877e5b4628308f4cc099 Author: Avi Kivity Date: Wed Feb 27 16:06:57 2008 +0200 KVM: VMX: Avoid rearranging switched guest msrs while they are loaded KVM tries to run as much as possible with the guest msrs loaded instead of host msrs, since switching msrs is very expensive. It also tries to minimize the number of msrs switched according to the guest mode; for example, MSR_LSTAR is needed only by long mode guests. This optimization is done by setup_msrs(). However, we must not change which msrs are switched while we are running with guest msr state: - switch to guest msr state - call setup_msrs(), removing some msrs from the list - switch to host msr state, leaving a few guest msrs loaded An easy way to trigger this is to kexec an x86_64 linux guest. Early during setup, the guest will switch EFER to not include SCE. KVM will stop saving MSR_LSTAR, and on the next msr switch it will leave the guest LSTAR loaded. The next host syscall will end up in a random location in the kernel. Fix by reloading the host msrs before changing the msr list. Signed-off-by: Avi Kivity commit f7d9c7b7b902f9f532738d47593d9679b0b182d9 Author: Avi Kivity Date: Tue Feb 26 22:12:10 2008 +0200 KVM: MMU: Fix race when instantiating a shadow pte For improved concurrency, the guest walk is performed concurrently with other vcpus. This means that we need to revalidate the guest ptes once we have write-protected the guest page tables, at which point they can no longer be modified. The current code attempts to avoid this check if the shadow page table is not new, on the assumption that if it has existed before, the guest could not have modified the pte without the shadow lock. However the assumption is incorrect, as the racing vcpu could have modified the pte, then instantiated the shadow page, before our vcpu regains control: vcpu0 vcpu1 fault walk pte modify pte fault in same pagetable instantiate shadow page lookup shadow page conclude it is old instantiate spte based on stale guest pte We could do something clever with generation counters, but a test run by Marcelo suggests this is unnecessary and we can just do the revalidation unconditionally. The pte will be in the processor cache and the check can be quite fast. Signed-off-by: Avi Kivity commit 8c35f237fb5664d30aa90448c3d6cea0cbb43f35 Author: Avi Kivity Date: Mon Feb 25 10:28:31 2008 +0200 KVM: Route irq 0 to vcpu 0 exclusively Some Linux versions allow the timer interrupt to be processed by more than one cpu, leading to hangs due to tsc instability. Work around the issue by only disaptching the interrupt to vcpu 0. Problem analyzed (and patch tested) by Sheng Yang. Signed-off-by: Avi Kivity commit 0b975a3c2d53829fa978e18fabae7d99031f588f Author: Avi Kivity Date: Sun Feb 24 14:37:50 2008 +0200 KVM: Avoid infinite-frequency local apic timer If the local apic initial count is zero, don't start a an hrtimer with infinite frequency, locking up the host. Signed-off-by: Avi Kivity commit 24993d53495d1f9b844f8eb3ebd1b9efd3521617 Author: Marcelo Tosatti Date: Thu Feb 14 21:25:39 2008 -0200 KVM: make MMU_DEBUG compile again the cr3 variable is now inside the vcpu->arch structure. Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit 5e4a0b3c1b899bb0ba28bde6edf95c5ddeb48b5c Author: Marcelo Tosatti Date: Thu Feb 14 21:21:43 2008 -0200 KVM: move alloc_apic_access_page() outside of non-preemptable region alloc_apic_access_page() can sleep, while vmx_vcpu_setup is called inside a non preemptable region. Move it after put_cpu(). Signed-off-by: Marcelo Tosatti Signed-off-by: Avi Kivity commit a2938c807024ba30191e3bd593430c0659d75717 Author: Joerg Roedel Date: Wed Feb 13 16:30:28 2008 +0100 KVM: SVM: fix Windows XP 64 bit installation crash While installing Windows XP 64 bit wants to access the DEBUGCTL and the last branch record (LBR) MSRs. Don't allowing this in KVM causes the installation to crash. This patch allow the access to these MSRs and fixes the issue. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 72dc67a69690288538142df73a7e3ac66fea68dc Author: Izik Eidus Date: Sun Feb 10 18:04:15 2008 +0200 KVM: remove the usage of the mmap_sem for the protection of the memory slots. This patch replaces the mmap_sem lock for the memory slots with a new kvm private lock, it is needed beacuse untill now there were cases where kvm accesses user memory while holding the mmap semaphore. Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit cc66b4512cae8df4ed1635483210aabf7690ec27 Author: Jens Axboe Date: Tue Mar 4 11:47:46 2008 +0100 block: fix blkdev_issue_flush() not detecting and passing EOPNOTSUPP back This is important to eg dm, that tries to decide whether to stop using barriers or not. Tested as working by Anders Henke Signed-off-by: Jens Axboe commit 56d94a37f63ad1c9da3bc8e903f79d0ee1e80170 Author: Harvey Harrison Date: Tue Mar 4 11:31:22 2008 +0100 block: fix shadowed variable warning in blk-map.c Introduced between 2.6.25-rc2 and -rc3 block/blk-map.c:154:14: warning: symbol 'bio' shadows an earlier one block/blk-map.c:110:13: originally declared here Signed-off-by: Harvey Harrison Signed-off-by: Jens Axboe commit 448da4d262b5db90817ce853726ff4d9b0c2bf48 Author: Harvey Harrison Date: Tue Mar 4 11:30:18 2008 +0100 block: remove extern on function definition Intoduced between 2.6.25-rc2 and -rc3 block/blk-settings.c:319:12: warning: function 'blk_queue_dma_drain' with external linkage has definition Signed-off-by: Harvey Harrison Signed-off-by: Jens Axboe commit 68d95b585f1b67b3c89ce0eb934e221ebeeb5c61 Author: Mike Miller Date: Tue Mar 4 11:25:15 2008 +0100 cciss: remove READ_AHEAD define and use block layer defaults This patch removes the #define READ_AHEAD 1024 from the driver and uses the block layer defaults, instead. We have found that under certain workloads the setting can cause a disk connected to the e200 controller to go offline. If the disk hiccups the link may try to downshift but the controller is never notified that the link successfully completed the renegotiation. We've also found that performance using the block layer default of 32 pages was on par with the 1024 setting. We tried setting it to zero at one time based on info from our firmware guys but that killed performance. Turns out we were talking about 2 different read ahead settings. Please consider this for inclusion. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit ecb80c6a490863af569853eea2a925f97e9e856a Author: Adrian Bunk Date: Tue Mar 4 11:23:51 2008 +0100 make cdrom.c:check_for_audio_disc() static This patch makes the needlessly global check_for_audio_disc() static. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit a0db701a6bf767320e4471bd55e70702d230f6fb Author: Adrian Bunk Date: Tue Mar 4 11:23:50 2008 +0100 block/genhd.c: proper externs This patch adds proper externs for two structs in include/linux/genhd.h Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit bec419404afe8b0d60000118ca90ada4c69a3a6d Author: Adrian Bunk Date: Tue Mar 4 11:23:48 2008 +0100 unexport blk_rq_map_user_iov This patch removes the unused export of blk_rq_map_user_iov. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 9d7f1e6b9b2c2e4fe029ff35f4ca1e2879864208 Author: Adrian Bunk Date: Tue Mar 4 11:23:47 2008 +0100 unexport blk_{get,put}_queue This patch removes the unused exports of blk_{get,put}_queue. Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 1826eadfc42839af7c1c5a1859510aff635d3fa1 Author: Adrian Bunk Date: Tue Mar 4 11:23:46 2008 +0100 block/genhd.c: cleanups This patch contains the following cleanups: - make the needlessly global struct disk_type static - #if 0 the unused genhd_media_change_notify() Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit ff88972c850ced92b9c4c7f538d85829c741eeb0 Author: Adrian Bunk Date: Tue Mar 4 11:23:45 2008 +0100 proper prototype for blk_dev_init() This patch adds a proper prototye for blk_dev_init() in block/blk.h Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 278caf0120a77e4398762357a8cc522d094fe2f2 Author: Adrian Bunk Date: Tue Mar 4 11:23:44 2008 +0100 block/blk-tag.c should #include "blk.h" Every file should include the headers containing the externs for its global functions (in this case for __blk_queue_free_tags()). Signed-off-by: Adrian Bunk Signed-off-by: Jens Axboe commit 419c434c35614609fd0c79d335c134bf4b88b30b Author: Yang Shi Date: Tue Mar 4 11:20:51 2008 +0100 Fix DMA access of block device in 64-bit kernel on some non-x86 systems with 4GB or upper 4GB memory For some non-x86 systems with 4GB or upper 4GB memory, we need increase the range of addresses that can be used for direct DMA in 64-bit kernel. Signed-off-by: Yang Shi Signed-off-by: Jens Axboe commit e3790c7d42a545e8fe8b38b513613ca96687b670 Author: Tejun Heo Date: Tue Mar 4 11:18:17 2008 +0100 block: separate out padding from alignment Block layer alignment was used for two different purposes - memory alignment and padding. This causes problems in lower layers because drivers which only require memory alignment ends up with adjusted rq->data_len. Separate out padding such that padding occurs iff driver explicitly requests it. Tomo: restorethe code to update bio in blk_rq_map_user introduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa according to padding alignment. Signed-off-by: Tejun Heo Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 7a85f8896f4b4a4a0249563b92af9e3161a6b467 Author: FUJITA Tomonori Date: Tue Mar 4 11:17:11 2008 +0100 block: restore the meaning of rq->data_len to the true data length The meaning of rq->data_len was changed to the length of an allocated buffer from the true data length. It breaks SG_IO friends and bsg. This patch restores the meaning of rq->data_len to the true data length and adds rq->extra_len to store an extended length (due to drain buffer and padding). This patch also removes the code to update bio in blk_rq_map_user introduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa. The commit adjusts bio according to memory alignment (queue_dma_alignment). However, memory alignment is NOT padding alignment. This adjustment also breaks SG_IO friends and bsg. Padding alignment needs to be fixed in a proper way (by a separate patch). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 89b6e743788516491846724d7ef89bcac7ac9c99 Author: Mike Miller Date: Thu Feb 21 08:54:03 2008 +0100 resubmit: cciss: procfs updates to display info about many volumes This patch allows us to display information about all of the logical volumes configured on a particular controller without stepping on memory even when there are many volumes (128 or more) configured. Please consider this for inclusion. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit 02cf01aea5af7a4d1a38045712fe11bffcc206b0 Author: Jens Axboe Date: Wed Feb 20 10:34:51 2008 +0100 splice: only return -EAGAIN if there's hope of more data sys_tee() currently is a bit eager in returning -EAGAIN, it may do so even if we don't have a chance of anymore data becoming available. So improve the logic and only return -EAGAIN if we have an attached writer to the input pipe. Reported by Johann Felix Soden and Patrick McManus . Tested-by: Johann Felix Soden Signed-off-by: Jens Axboe commit 5d87a052c7e5f245bbb3018721b4b0afe0afc252 Author: Randy Dunlap Date: Wed Feb 20 09:01:22 2008 +0100 block: fix kernel-docbook parameters and files kernel-doc for block/: - add missing parameters - fix one function's parameter list (remove blank line) - add 2 source files to docbook for non-exported kernel-doc functions Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit ec9b6add7d81f902f6094e71f595da4a362f3348 Author: Jarek Poplawski Date: Mon Mar 3 20:49:34 2008 -0800 [PPPOL2TP]: Add missing sock_put() in pppol2tp_tunnel_closeall() Every skb removed from session->reorder_q needs sock_put(). Signed-off-by: Jarek Poplawski Acked-by: James Chapman Signed-off-by: David S. Miller commit c8fff1cf4e4e5e420c929469a09427aa37342928 Author: Jarek Poplawski Date: Mon Mar 3 20:48:53 2008 -0800 Subject: [PPPOL2TP] add missing sock_put() in pppol2tp_recv_dequeue() Every skb removed from session->reorder_q needs sock_put(). Signed-off-by: Jarek Poplawski Acked-by: James Chapman Signed-off-by: David S. Miller commit 86c838b03daf35e2af6555842d04fe09a89f8d93 Author: Julia Lawall Date: Tue Feb 26 21:45:56 2008 +0100 [PATCH] fs/ocfs2/aops.c: Correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. This is not tested and clearly changes the semantics, so it is only something to consider. Signed-off-by: Julia Lawall Signed-off-by: Mark Fasheh commit 05488bbebe3deedbc5d58a1832f563ff96bc2ef6 Author: Adrian Bunk Date: Sun Feb 17 10:20:41 2008 +0200 [2.6 patch] ocfs2: make dlm_do_assert_master() static This patch makes the needlessly global dlm_do_assert_master() static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 200bfae37a15e50e0f9aa5683958bdfc3fd55e05 Author: Adrian Bunk Date: Sun Feb 17 10:20:38 2008 +0200 [2.6 patch] make ocfs2_downconvert_thread() static This patch makes the needlessly global ocfs2_downconvert_thread() static. Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 006000566d4e95b8d1924addfb41094acf0d5ec2 Author: Adrian Bunk Date: Tue Jan 29 00:11:41 2008 +0200 [2.6 patch] fs/ocfs2/: possible cleanups This patch contains the following cleanups that are now possible: - make the following needlessly global functions static: - dlmglue.c:ocfs2_process_blocked_lock() - heartbeat.c:ocfs2_node_map_init() - #if 0 the following unused global function plus support functions: - heartbeat.c:ocfs2_node_map_is_only() Signed-off-by: Adrian Bunk Signed-off-by: Mark Fasheh commit 0dd3256e04c452396c9d22943e4a18e02f4dbdf4 Author: Marcin Slusarz Date: Wed Feb 13 00:06:18 2008 +0100 [PATCH] ocfs2: le*_add_cpu conversion replace all: little_endian_variable = cpu_to_leX(leX_to_cpu(little_endian_variable) + expression_in_cpu_byteorder); with: leX_add_cpu(&little_endian_variable, expression_in_cpu_byteorder); generated with semantic patch Signed-off-by: Marcin Slusarz Signed-off-by: Mark Fasheh commit 1044e401af9a309637828aa3cc8f3b6409fcbf4e Author: Mark Fasheh Date: Thu Feb 28 17:16:03 2008 -0800 ocfs2: Fix writeout in ocfs2_data_convert_worker() Commit f1f540688eae66c274ff1c1133b5d9c687b28f58 "optimized" ocfs2_data_convert_worker() to "only do work for regular files". Unfortunately, I left out a '!', which casued it to *skip* regular files. This was hidden from testing until recently because the default data journaling mode (data=ordered) doesn't exercise this code. Signed-off-by: Mark Fasheh Signed-off-by: Joel Becker commit 7ad8b3d30ecae325fcccbf86f34ce3af716b4f95 Author: Sunil Mushran Date: Wed Feb 6 12:11:17 2008 -0800 ocfs2: Enable localalloc for local mounts Commit 2fbe8d1ebe004425b4f7b8bba345623d2280be82 disabled localalloc for local mounts. This caused issues as ocfs2 uses localalloc to provide write locality. This patch enables localalloc for local mounts. Signed-off-by: Sunil Mushran Signed-off-by: Mark Fasheh commit f0e98c387e61de00646be31fab4c2fa0224e1efb Author: David S. Miller Date: Mon Mar 3 15:01:05 2008 -0800 [SPARC]: Fix link errors with gcc-4.3 Reported by Adrian Bunk. Just like in changeset a3f9985843b674cbcb58f39fab8416675e7ab842 ("[SPARC64]: Move kernel unaligned trap handlers into assembler file.") we have to move the assembler bits into a seperate asm file because as far as the compiler is concerned these inline bits we're doing in unaligned.c are unreachable. Signed-off-by: David S. Miller commit 821c7de7194e77afee1a69d50830a329a6d9af9f Author: Oleg Nesterov Date: Sun Mar 2 21:44:44 2008 +0300 exit_notify: fix kill_orphaned_pgrp() usage with mt exit 1. exit_notify() always calls kill_orphaned_pgrp(). This is wrong, we should do this only when the whole process exits. 2. exit_notify() uses "current" as "ignored_task", obviously wrong. Use ->group_leader instead. Test case: void hup(int sig) { printf("HUP received\n"); } void *tfunc(void *arg) { sleep(2); printf("sub-thread exited\n"); return NULL; } int main(int argc, char *argv[]) { if (!fork()) { signal(SIGHUP, hup); kill(getpid(), SIGSTOP); exit(0); } pthread_t thr; pthread_create(&thr, NULL, tfunc, NULL); sleep(1); printf("main thread exited\n"); syscall(__NR_exit, 0); return 0; } output: main thread exited HUP received Hangup With this patch the output is: main thread exited sub-thread exited HUP received Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit 05e83df624fe682bb8571cdb2c6d5284a99c3066 Author: Oleg Nesterov Date: Sun Mar 2 21:44:42 2008 +0300 will_become_orphaned_pgrp: partially fix insufficient ->exit_state check p->exit_state != 0 doesn't mean this process is dead, it may have sub-threads. Change the code to use "p->exit_state && thread_group_empty(p)" instead. Without this patch, ^Z doesn't deliver SIGTSTP to the foreground process if the main thread has exited. However, the new check is not perfect either. There is a window when exit_notify() drops tasklist and before release_task(). Suppose that the last (non-leader) thread exits. This means that entire group exits, but thread_group_empty() is not true yet. As Eric pointed out, is_global_init() is wrong as well, but I did not dare to do other changes. Just for the record, has_stopped_jobs() is absolutely wrong too. But we can't fix it now, we should first fix SIGNAL_STOP_STOPPED issues. Even with this patch ^Z doesn't play well with the dead main thread. The task is stopped correctly but do_wait(WSTOPPED) won't see it. This is another unrelated issue, will be (hopefully) fixed separately. Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit f49ee505b1ecb5960984880740f09aba87f870dc Author: Oleg Nesterov Date: Sun Mar 2 21:44:40 2008 +0300 introduce kill_orphaned_pgrp() helper Factor out the common code in reparent_thread() and exit_notify(). No functional changes. Signed-off-by: Oleg Nesterov Signed-off-by: Linus Torvalds commit 5ce2087ed0eb424e0889bdc9102727f65d2ecdde Author: Samuel Thibault Date: Mon Mar 3 01:23:49 2008 +0000 Fix default compose table initialization Oddly enough, unsigned int c = '\300'; puts a "negative" value in c, not 0300... This fixes the default unicode compose table by using integers instead of character constants. Signed-off-by: Samuel Thibault Signed-off-by: Linus Torvalds commit 62e5c4b4d6351707346695fd9e151b6cda85cbe1 Author: Cyrill Gorcunov Date: Sun Mar 2 23:28:24 2008 +0300 slub: fix possible NULL pointer dereference This patch fix possible NULL pointer dereference if kzalloc failed. To be able to return proper error code the function return type is changed to ssize_t (according to callees and sysfs definitions). Signed-off-by: Cyrill Gorcunov Signed-off-by: Christoph Lameter commit f619cfe1bda809a97c407f4c723eb3235ecd64e5 Author: Christoph Lameter Date: Sat Mar 1 13:56:40 2008 -0800 slub: Add kmalloc_large_node() to support kmalloc_node fallback Slub is missing some NUMA support for large kmallocs. Provide that. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit 7693143481730686362cc6360e3d47c012d9b2c8 Author: Pekka J Enberg Date: Sat Mar 1 13:43:54 2008 -0800 slub: look up object from the freelist once We only need to look up object from c->page->freelist once in __slab_alloc(). Signed-off-by: Pekka Enberg Signed-off-by: Christoph Lameter commit 6446faa2ff30ca77c5b25e886bbbfb81c63f1c91 Author: Christoph Lameter Date: Fri Feb 15 23:45:26 2008 -0800 slub: Fix up comments Provide comments and fix up various spelling / style issues. Signed-off-by: Christoph Lameter commit d8b42bf54be18b5d0bad941b3a1d3e8f022651a7 Author: Christoph Lameter Date: Fri Feb 15 23:45:25 2008 -0800 slub: Rearrange #ifdef CONFIG_SLUB_DEBUG in calculate_sizes() Group SLUB_DEBUG code together to reduce the number of #ifdefs. Move some debug checks under the #ifdef. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit ae20bfda6813387af18c7fdbc0f8b1fa7be2d05b Author: Christoph Lameter Date: Fri Feb 15 23:45:25 2008 -0800 slub: Remove BUG_ON() from ksize and omit checks for !SLUB_DEBUG The BUG_ONs are useless since the pointer derefs will lead to NULL deref errors anyways. Some of the checks are not necessary if no debugging is possible. Signed-off-by: Christoph Lameter commit 27d9e4e94862c89d171cf70911b4f11ad69fb54e Author: Christoph Lameter Date: Fri Feb 15 23:45:25 2008 -0800 slub: Use the objsize from the kmem_cache_cpu structure No need to access the kmem_cache structure. We have the same value in kmem_cache_cpu. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit d692ef6dcd20da60786470654410e85f29c2ddd9 Author: Christoph Lameter Date: Fri Feb 15 23:45:24 2008 -0800 slub: Remove useless checks in alloc_debug_processing Alloc debug processing is never called with a NULL object pointer. No reason to check for NULL. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit e153362a50a34439718a938a851bba977116e19a Author: Christoph Lameter Date: Fri Feb 15 23:45:24 2008 -0800 slub: Remove objsize check in kmem_cache_flags() There is no page->offset anymore and also no associated limit on the number of objects. The page->offset field was removed for 2.6.24. So the check in kmem_cache_flags() is now also obsolete (should have been dropped earlier, somehow a hunk vanished). Reviewed-by: Pekka Enberg Signed-by: Christoph Lameter commit d9acf4b7b62d783d84273a61aed41a0f025b08ac Author: Christoph Lameter Date: Fri Feb 15 15:22:21 2008 -0800 slub: rename slab_objects to show_slab_objects The sysfs callback is better named show_slab_objects since it is always called from the xxx_show callbacks. We need the name for other purposes later. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit a973e9dd1e140a65bed694a2c5c8d53e9cba1a23 Author: Christoph Lameter Date: Sat Mar 1 13:40:44 2008 -0800 Revert "unique end pointer" patch This only made sense for the alternate fastpath which was reverted last week. Mathieu is working on a new version that addresses the fastpath issues but that new code first needs to go through mm and it is not clear if we need the unique end pointers with his new scheme. Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit 8e8440f53593b5f9c695f18b493b535873dbb9da Author: Dave Young Date: Mon Mar 3 12:18:55 2008 -0800 [BLUETOOTH]: l2cap info_timer delete fix in hci_conn_del When the l2cap info_timer is active the info_state will be set to L2CAP_INFO_FEAT_MASK_REQ_SENT, and it will be unset after the timer is deleted or timeout triggered. Here in l2cap_conn_del only call del_timer_sync when the info_state is set to L2CAP_INFO_FEAT_MASK_REQ_SENT. Signed-off-by: Dave Young Acked-by: Marcel Holtmann Signed-off-by: David S. Miller commit 7e36763b2c204d59de4e88087f84a2c0c8421f25 Author: Frank Blaschka Date: Mon Mar 3 12:16:04 2008 -0800 [NET]: Fix race in generic address resolution. neigh_update sends skb from neigh->arp_queue while neigh_timer_handler has increased skbs refcount and calls solicit with the skb. neigh_timer_handler should not increase skbs refcount but make a copy of the skb and do solicit with the copy. Signed-off-by: Frank Blaschka Signed-off-by: David S. Miller commit c3d84a4dd22c727f5ed64453c72183c242ac9c19 Author: Heiko Carstens Date: Mon Mar 3 12:12:33 2008 -0800 iucv: fix build error on !SMP Since a5fbb6d1064be885d2a6b82f625186753cf74848 "KVM: fix !SMP build error" smp_call_function isn't a define anymore that folds into nothing but a define that calls up_smp_call_function with all parameters. Hence we cannot #ifdef out the unused code anymore... This seems to be the preferred method, so do this for s390 as well. net/iucv/iucv.c: In function 'iucv_cleanup_queue': net/iucv/iucv.c:657: error: '__iucv_cleanup_queue' undeclared Signed-off-by: Heiko Carstens Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Ursula Braun Signed-off-by: David S. Miller commit d152a7d88ab4134a895f91a9e00f70d118696039 Author: Ilpo Järvinen Date: Mon Mar 3 12:10:16 2008 -0800 [TCP]: Must count fack_count also when skipping It makes fackets_out to grow too slowly compared with the real write queue. This shouldn't cause those BUG_TRAP(packets <= tp->packets_out) to trigger but how knows how such inconsistent fackets_out affects here and there around TCP when everything is nowadays assuming accurate fackets_out. So lets see if this silences them all. Reported by Guillaume Chazarain . Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 9a4a668240e2f9564d12347c50c3d9c5f1686a85 Author: Harvey Harrison Date: Mon Mar 3 11:42:17 2008 -0800 sparc64: replace remaining __FUNCTION__ occurances __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 74074dec4f365e1b042ad47f75854f06bd771455 Author: Harvey Harrison Date: Mon Mar 3 11:41:51 2008 -0800 sparc: replace remaining __FUNCTION__ occurances __FUNCTION__ is gcc-specific, use __func__ Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 7105a387a8ac9b512b900efd5ff7a97acc44fb39 Author: Randy Dunlap Date: Fri Feb 29 22:03:27 2008 -0800 docbook: fix fusion source files Fix docbook problems in fusion source files. These cause the generated docbook to be incorrect. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 0643245f595dc175c14245fa1e1e9efda3e12f2a Author: Randy Dunlap Date: Fri Feb 29 22:03:15 2008 -0800 docbook: fix kernel-api source files Fix docbook problems in kernel-api.tmpl. These cause the generated docbook to be incorrect. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit d0bcabcd72dda5f553322a1ca92ae31c15b408b6 Author: Randy Dunlap Date: Fri Feb 29 22:03:07 2008 -0800 docbook: fix usb source files Fix docbook problems in USB source files. These cause the generated docbook to be incorrect. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit e59e4a09729b06a131de9042b2a5b05b7ad26174 Author: Randy Dunlap Date: Fri Feb 29 22:02:50 2008 -0800 docbook: fix scsi source file Fix docbook problem in SCSI source files. These cause the generated docbook to be incorrect. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 7b089c8b90e6caedda889334bba5c72a152b79c6 Author: Randy Dunlap Date: Fri Feb 29 22:02:40 2008 -0800 docbook: fix rapidio source files Fix docbook problems in rapidio source files. These cause the generated docbook to be incorrect. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 78a4a50a86b0a54f7ecbc164267b6c762760254c Author: Randy Dunlap Date: Fri Feb 29 22:02:31 2008 -0800 docbook: fix filesystems.tmpl source files Fix docbook problems in filesystems.tmpl. These cause the generated docbook to be incorrect. Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit a64e715fc74b1a7dcc5944f848acc38b2c4d4ee2 Author: Linus Torvalds Date: Mon Mar 3 10:12:14 2008 -0800 Allow ARG_MAX execve string space even with a small stack limit The new code that removed the limitation on the execve string size (which was historically 32 pages) replaced it with a much softer limit based on RLIMIT_STACK which is usually much larger than the traditional limit. See commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba ("mm: variable length argument support") for details. However, if you have a small stack limit (perhaps because you need lots of stacks in a threaded environment), the new heuristic of allowing up to 1/4th of RLIMIT_STACK to be used for argument and environment strings could actually be smaller than the old limit. So just say that it's ok to have up to ARG_MAX strings regardless of the value of RLIMIT_STACK, and check the rlimit only when going over that traditional limit. (Of course, if you actually have a *really* small stack limit, the whole stack itself will be limited before you hit ARG_MAX, but that has always been true and is clearly the right behaviour anyway). Acked-by: Carlos O'Donell Cc: Michael Kerrisk Cc: Peter Zijlstra Cc: Ollie Wild Signed-off-by: Linus Torvalds commit a345b4ba2086bacc63884e5d72268415a97bcbff Author: Linus Torvalds Date: Mon Mar 3 10:02:44 2008 -0800 Revert "x86: fix pmd_bad and pud_bad to support huge pages" This reverts commit cded932b75ab0a5f9181ee3da34a0a488d1a14fd. Arjan bisected down a boot-time hang to this, saying: ".. it prevents the kernel to finish booting on my (Penryn based) laptop. The boot stops right after freeing the init memory." and while it's not clear exactly what triggers it, at this stage we're better off just reverting it while Ingo tries to figure out what went wrong. Requested-by: Arjan van de Ven Cc: Hans Rosenfeld Cc: Nish Aravamudan Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 902955fc13259dcec1321d45251a477977fcba39 Author: Ingo Molnar Date: Mon Mar 3 13:53:58 2008 +0100 x86: revert "x86: fix pmd_bad and pud_bad to support huge pages" revert commit cded932b75ab0a5f9181ee3da34a0a488d1a14fd, "x86: fix pmd_bad and pud_bad to support huge pages", it causes a bootup hang, as reported and bisected by Arjan van de Ven. Bisected-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit 9b5cf48b06a52c04b85c88642c3b620db8e1d592 Author: Rafael J. Wysocki Date: Mon Mar 3 01:17:37 2008 +0100 x86: revert "x86: CPA: avoid split of alias mappings" Revert: commit 8be8f54bae3453588011cad06363813a5293af53 Author: Thomas Gleixner Date: Sat Feb 23 20:43:21 2008 +0100 x86: CPA: avoid split of alias mappings because it clearly mishandles the case when __change_page_attr(), called from __change_page_attr_set_clr(), changes cpa->processed to 1 and cpa_process_alias(cpa) is executed right after that. This crashes my x86-64 test box early in the boot process (ref. http://bugzilla.kernel.org/show_bug.cgi?id=10140#c4). Signed-off-by: Rafael J. Wysocki Acked-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit c7ac679c160db864810920df61a6ed14275011aa Author: Joerg Roedel Date: Mon Feb 11 20:28:27 2008 +0100 KVM: emulate access to MSR_IA32_MCG_CTL Injecting an GP when accessing this MSR lets Windows crash when running some stress test tools in KVM. So this patch emulates access to this MSR. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 674eea0fc4d1d693250b5d3ddad42ca931c87dfd Author: Avi Kivity Date: Mon Feb 11 18:37:23 2008 +0200 KVM: Make the supported cpuid list a host property rather than a vm property One of the use cases for the supported cpuid list is to create a "greatest common denominator" of cpu capabilities in a server farm. As such, it is useful to be able to get the list without creating a virtual machine first. Since the code does not depend on the vm in any way, all that is needed is to move it to the device ioctl handler. The capability identifier is also changed so that binaries made against -rc1 will fail gracefully. Signed-off-by: Avi Kivity commit d730616384211436cfc84e6c2c1aa45351706a96 Author: Paul Knowles Date: Wed Feb 6 11:02:35 2008 +0000 KVM: Fix kvm_arch_vcpu_ioctl_set_sregs so that set_cr0 works properly Whilst working on getting a VM to initialize in to IA32e mode I found this issue. set_cr0 relies on comparing the old cr0 to the new one to work correctly. Move the assignment below so the compare can work. Signed-off-by: Paul Knowles Signed-off-by: Avi Kivity commit 6b390b6392309b98fd116b57c2926c44975cde26 Author: Joerg Roedel Date: Tue Jan 29 13:01:27 2008 +0100 KVM: SVM: set NM intercept when enabling CR0.TS in the guest Explicitly enable the NM intercept in svm_set_cr0 if we enable TS in the guest copy of CR0 for lazy FPU switching. This fixes guest SMP with Linux under SVM. Without that patch Linux deadlocks or panics right after trying to boot the other CPUs. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit 334df50a866ff7e234c9566960997ca5b9d0a382 Author: Joerg Roedel Date: Mon Jan 21 13:09:33 2008 +0100 KVM: SVM: Fix lazy FPU switching If the guest writes to cr0 and leaves the TS flag at 0 while vcpu->fpu_active is also 0, the TS flag in the guest's cr0 gets lost. This leads to corrupt FPU state an causes Windows Vista 64bit to crash very soon after boot. This patch fixes this bug. Signed-off-by: Joerg Roedel Signed-off-by: Markus Rechberger Signed-off-by: Avi Kivity commit da40451bba23b51eaca4170a095891646ce72104 Author: Michael Ellerman Date: Fri Feb 29 18:33:29 2008 +1100 [POWERPC] Convert the cell IOMMU fixed mapping to 16M IOMMU pages The only tricky part is we need to adjust the PTE insertion loop to cater for holes in the page table. The PTEs for each segment start on a 4K boundary, so with 16M pages we have 16 PTEs per segment and then a gap to the next 4K page boundary. It might be possible to allocate the PTEs for each segment separately, saving the memory currently filling the gaps. However we'd need to check that's OK with the hardware, and that it actually saves memory. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 225d49050f9b6506f2f9df6b40e591ee93939d11 Author: Michael Ellerman Date: Fri Feb 29 18:33:27 2008 +1100 [POWERPC] Allow for different IOMMU page sizes in cell IOMMU code Make some preliminary changes to cell_iommu_alloc_ptab() to allow it to take the page size as a parameter rather than assuming IOMMU_PAGE_SIZE. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 3d3e6da17d6af42a3fd4891fb09d93dca002e590 Author: Michael Ellerman Date: Fri Feb 29 18:33:26 2008 +1100 [POWERPC] Cell IOMMU: n_pte_pages is in 4K page units, not IOMMU_PAGE_SIZE We use n_pte_pages to calculate the stride through the page tables, but we also use it to set the NPPT value in the segment table entry. That is defined as the number of 4K pages per segment, so we should calculate it as such regardless of the IOMMU page size. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 7d432ff1b7db87e78eb74d42631d2a23ca6f26f2 Author: Michael Ellerman Date: Fri Feb 29 18:33:25 2008 +1100 [POWERPC] Split setup of IOMMU stab and ptab, allocate dynamic/fixed ptabs separately Currently the cell IOMMU code allocates the entire IOMMU page table in a contiguous chunk. This is nice and tidy, but for machines with larger amounts of RAM the page table allocation can fail due to it simply being too large. So split the segment table and page table setup routine, and arrange to have the dynamic and fixed page tables allocated separately. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit edf441fb80f9d7a962c298e8da94c8c64802fffa Author: Michael Ellerman Date: Fri Feb 29 18:33:24 2008 +1100 [POWERPC] Move allocation of cell IOMMU pad page There's no need to allocate the pad page unless we're going to actually use it - so move the allocation to where we know we're going to use it. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 08e024272e529076663e5b4dc8eeecd4131f8a48 Author: Michael Ellerman Date: Fri Feb 29 18:33:23 2008 +1100 [POWERPC] Remove unused pte_offset variable The cell IOMMU code no longer needs to save the pte_offset variable separately, it is incorporated into tbl->it_offset. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit 0d7386ebffd8506b28c37a7d5541132a576f64e2 Author: Michael Ellerman Date: Fri Feb 29 18:33:23 2008 +1100 [POWERPC] Use it_offset not pte_offset in cell IOMMU code The cell IOMMU tce build and free routines use pte_offset to convert the index passed from the generic IOMMU code into a page table offset. This takes into account the SPIDER_DMA_OFFSET which sets the top bit of every DMA address. However it doesn't cater for the IOMMU window starting at a non-zero address, as the base of the window is not incorporated into pte_offset at all. As it turns out tbl->it_offset already contains the value we need, it takes into account the base of the window and also pte_offset. So use it instead! Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit f9660e8a6c16e17935777cdee5194842904c2d72 Author: Michael Ellerman Date: Fri Feb 29 18:33:22 2008 +1100 [POWERPC] Clearup cell IOMMU fixed mapping terminology It's called the fixed mapping, not the static mapping. Signed-off-by: Michael Ellerman Signed-off-by: Arnd Bergmann commit f3c1ed9720ec62626bbf3e0c3648568c131978e2 Author: Jens Osterkamp Date: Thu Feb 28 11:27:31 2008 +0100 [POWERPC] enable hardware watchpoints on cell blades Ulrich Weigand has found that the hardware watchpoints on cell were not working back in November : http://ozlabs.org/pipermail/linuxppc-dev/2007-November/046135.html This patch sets them during initialization. Signed-off-by: Jens Osterkamp Signed-off-by: Arnd Bergmann commit 9176c0b1f5a9099cebc07458042ae6a7c75af7b2 Author: Jens Osterkamp Date: Thu Feb 28 11:26:21 2008 +0100 [POWERPC] move celleb DABRX definitions This moves the private DABRX definitions for celleb from beat.h to reg.h to make them usable for all. Signed-off-by: Jens Osterkamp Signed-off-by: Arnd Bergmann commit 101fd46a753f8931a05d252bf5564c9415a5f8d7 Author: Bob Nelson Date: Wed Feb 20 05:00:56 2008 +0100 [POWERPC] OProfile: enable callgraph support for Cell This patch enables OProfile callgraph support for the Cell processor. The original code was just calling a function to add the PC value, now it will call a function that first checks the callgraph depth. Callgraph is already enabled on the other Power platforms. Signed-off-by: Bob Nelson Signed-off-by: Arnd Bergmann commit 855c603d61ede7e2810217f15f0d574b4f29c891 Author: Stefan Richter Date: Wed Feb 27 22:14:27 2008 +0100 firewire: fix crash in automatic module unloading "modprobe firewire-ohci; sleep .1; modprobe -r firewire-ohci" used to result in crashes like this: BUG: unable to handle kernel paging request at ffffffff8807b455 IP: [] PGD 203067 PUD 207063 PMD 7c170067 PTE 0 Oops: 0010 [1] PREEMPT SMP CPU 0 Modules linked in: i915 drm cpufreq_ondemand acpi_cpufreq freq_table applesmc input_polldev led_class coretemp hwmon eeprom snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss button thermal processor sg snd_hda_intel snd_pcm snd_timer snd snd_page_alloc sky2 i2c_i801 rtc [last unloaded: crc_itu_t] Pid: 9, comm: events/0 Not tainted 2.6.25-rc2 #3 RIP: 0010:[] [] RSP: 0018:ffff81007dcdde88 EFLAGS: 00010246 RAX: ffff81007dc95040 RBX: ffff81007dee5390 RCX: 0000000000005e13 RDX: 0000000000008c8b RSI: 0000000000000001 RDI: ffff81007dee5388 RBP: ffff81007dc5eb40 R08: 0000000000000002 R09: ffffffff8022d05c R10: ffffffff8023b34c R11: ffffffff8041a353 R12: ffff81007dee5388 R13: ffffffff8807b455 R14: ffffffff80593bc0 R15: 0000000000000000 FS: 0000000000000000(0000) GS:ffffffff8055a000(0000) knlGS:0000000000000000 CS: 0010 DS: 0018 ES: 0018 CR0: 000000008005003b CR2: ffffffff8807b455 CR3: 0000000000201000 CR4: 00000000000006e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Process events/0 (pid: 9, threadinfo ffff81007dcdc000, task ffff81007dc95040) Stack: ffffffff8023b396 ffffffff88082524 0000000000000000 ffffffff8807d9ae ffff81007dc5eb40 ffff81007dc9dce0 ffff81007dc5eb40 ffff81007dc5eb80 ffff81007dc9dce0 ffffffffffffffff ffffffff8023be87 0000000000000000 Call Trace: [] ? run_workqueue+0xdf/0x1df [] ? worker_thread+0xd8/0xe3 [] ? autoremove_wake_function+0x0/0x2e [] ? worker_thread+0x0/0xe3 [] ? kthread+0x47/0x74 [] ? trace_hardirqs_on_thunk+0x35/0x3a [] ? child_rip+0xa/0x12 [] ? restore_args+0x0/0x3d [] ? kthreadd+0x14c/0x171 [] ? kthreadd+0x14c/0x171 [] ? kthread+0x0/0x74 [] ? child_rip+0x0/0x12 Code: Bad RIP value. RIP [] RSP CR2: ffffffff8807b455 ---[ end trace c7366c6657fe5bed ]--- Note that this crash happened _after_ firewire-core was unloaded. The shared workqueue tried to run firewire-core's device initialization jobs or similar jobs. The fix makes sure that firewire-ohci and hence firewire-core is not unloaded before all device shutdown jobs have been completed. This is determined by the count of device initializations minus device releases. Also skip useless retries in the node initialization job if the node is to be shut down. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 15803478fdea964e5f76079851fcd13068208d5d Author: Stefan Richter Date: Sun Feb 24 18:57:23 2008 +0100 firewire: potentially invalid pointers used in fw_card_bm_work The bus management workqueue job was in danger to dereference NULL pointers. Also, after having temporarily lifted card->lock, a few node pointers and a device pointer may have become invalid. Add NULL pointer checks and get the necessary references. Also, move card->local_node out of fw_card_bm_work's sight during shutdown of the card. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit f8436158b1d76e6842856048f287799468b56eb2 Author: Stefan Richter Date: Tue Feb 26 23:30:02 2008 +0100 firewire: fw-sbp2: better fix for NULL pointer dereference in scsi_remove_device Patch "firewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device" had the unintended effect that firewire-sbp2 could not be unloaded anymore until all SBP-2 devices were unplugged. We now fix the NULL pointer bug by reacquiring a reference to the sdev instead of holding a reference to the sdev (and to the module) all the time. Signed-off-by: Stefan Richter Tested-by: Jarod Wilson commit 0c82d83cb09a1c9fd4d24d32064ce827709c104b Author: Uwe Kleine-König Date: Wed Feb 27 13:44:59 2008 +0100 [ARM] Fix freeing of page tables for ARM in free_pgd_slow Since 2f569af (CONFIG_HIGHPTE vs. sub-page page tables.) pte_free() calls pte_lock_deinit() and dec_zone_page_state(). So free_pgd_slow must not call the latter two when calling the first. Signed-off-by: Uwe Kleine-König Cc: Martin Schwidefsky Cc: Andrew Morton Cc: Linus Torvalds Signed-off-by: Russell King commit 8d07a67cface19ac07d7324f38bda7bbb06bbdb2 Author: Steve Grubb Date: Thu Feb 21 16:59:22 2008 -0500 [PATCH] drop EOE records from printk Hi, While we are looking at the printk issue, I see that its printk'ing the EOE (end of event) records which is really not something that we need in syslog. Its really intended for the realtime audit event stream handled by the audit daemon. So, lets avoid printk'ing that record type. Signed-off-by: Steve Grubb Signed-off-by: Al Viro commit b29ee87e9b441e72454efd1be56aa1a05ffb2f58 Author: Eric Paris Date: Thu Feb 21 15:53:05 2008 -0500 [RFC] AUDIT: do not panic when printk loses messages On the latest kernels if one was to load about 15 rules, set the failure state to panic, and then run service auditd stop the kernel will panic. This is because auditd stops, then the script deletes all of the rules. These deletions are sent as audit messages out of the printk kernel interface which is already known to be lossy. These will overun the default kernel rate limiting (10 really fast messages) and will call audit_panic(). The same effect can happen if a slew of avc's come through while auditd is stopped. This can be fixed a number of ways but this patch fixes the problem by just not panicing if auditd is not running. We know printk is lossy and if the user chooses to set the failure mode to panic and tries to use printk we can't make any promises no matter how hard we try, so why try? At least in this way we continue to get lost message accounting and will eventually know that things went bad. The other change is to add a new call to audit_log_lost() if auditd disappears. We already pulled the skb off the queue and couldn't send it so that message is lost. At least this way we will account for the last message and panic if the machine is configured to panic. This code path should only be run if auditd dies for unforeseen reasons. If auditd closes correctly audit_pid will get set to 0 and we won't walk this code path. Signed-off-by: Al Viro commit 422b03cf75e11dfdfb29b0f19709bac585335f86 Author: Paul Moore Date: Wed Feb 27 10:39:22 2008 -0500 [PATCH] Audit: Fix the format type for size_t variables Fix the following compiler warning by using "%zu" as defined in C99. CC kernel/auditsc.o kernel/auditsc.c: In function 'audit_log_single_execve_arg': kernel/auditsc.c:1074: warning: format '%ld' expects type 'long int', but argument 4 has type 'size_t' Signed-off-by: Paul Moore Signed-off-by: Al Viro commit b445c56815d84b9fce40707f99811bdc354458e0 Author: Jeff Garzik Date: Fri Feb 29 19:10:51 2008 -0500 [libata] wrap kmap_atomic(KM_IRQ0) with local_irq_save/restore() Interrupts must be disabled if using kmap_atomic(KM_IRQ0), but that was not the case in a few code paths coming directly from ATA driver interrupt handlers (which use spin_lock rather than spin_lock_irqsave). Signed-off-by: Jeff Garzik commit d862ccc570c875e1454fc57ed00f5a1081985b26 Author: Mark Brown Date: Wed Feb 27 15:34:56 2008 +0100 [ARM] 4843/1: Add GCR_CLKBPB for PXA3xx The PXA3xx AC97 controller has an additional control bit GCR_CLKBPB which must be used during cold reset. Signed-off-by: Mark Brown Acked-by: eric miao Signed-off-by: Russell King commit ceee4f98f73bb7a1f6ee6710b9ebffd0ecb8c0ca Author: eric miao Date: Wed Feb 27 02:01:11 2008 +0100 [ARM] 4842/1: pxa: remove redundant IRQ saving/restoring in clk_pxa3xx_cken_* This is unnecessary since it is already protected by spin_lock_irq{save, restore} in clock.c. Signed-off-by: eric miao Signed-off-by: Russell King commit 7a987e82cd9175215dec6339d383d64e551c8899 Author: eric miao Date: Wed Feb 27 02:00:26 2008 +0100 [ARM] 4841/1: pxa: fix typo in LCD platform data definition code for zylonite Signed-off-by: eric miao Signed-off-by: Russell King commit a3359e21c06cb5b366fb47307b3d2fd23386a774 Author: eric miao Date: Wed Feb 27 01:59:28 2008 +0100 [ARM] 4840/1: pxa: fix the typo in get_irqnr_and_base This typo causes the incorrect calculation of the IRQ numbers in the ICIP2 registers. Signed-off-by: eric miao Signed-off-by: Russell King commit 9ae3ae0bebb9a3a348dc233229008b126014889d Author: Alexandre Rusev Date: Tue Feb 26 18:42:10 2008 +0100 [ARM] 4839/1: fixes kernel Oops in /dev/mem device driver for memory map with PHYS_OFF "cat /dev/mem" may cause kernel Oops for boards with PHYS_OFFSET != 0 because character device is mapped to addresses starting from zero and there is no protection against such situation. Patch just add this. Signed-off-by: Alexandre Rusev Signed-off-by: Russell King commit c710e39cbec4f3d60acd07f5356404a61bc1959a Author: Randy Dunlap Date: Wed Feb 27 12:11:16 2008 -0800 [ARM] eliminate MODULE_PARM() usage Convert debug-only (and removed) MODULE_PARM() to module_param(). Compiles cleanly (with DEBUG=1). Signed-off-by: Randy Dunlap Signed-off-by: Russell King commit 5ce94e9e8b469a17fbd3efa1b940c19b5e43449a Author: Thomas Kunze Date: Sun Feb 24 17:59:34 2008 +0100 [ARM] 4838/1: Fix kexec for SA1100 machines This patch sets KEXEC_CONTROL_MEMORY_LIMIT to (-1)UL. As the value is compared with physical addresses TASK_SIZE makes no sense. Machines where the RAM addresses start above TASK_SIZE kexecs eats all memory and crashes the kernel without this patch. Signed-off-by: Thomas Kunze Acked-by: Richard Purdie Signed-off-by: Russell King commit 94a3f78566ef98a48814d82892f28bb741624cb8 Author: Lennert Buytenhek Date: Sat Feb 23 00:23:48 2008 +0100 [ARM] 4837/1: make __get_unaligned_*() return unsigned types Eric Sandeen tracked an XFS on ARM corruption bug down to a function under fs/xfs/ involving some get_unaligned() calls on u64 pointers. As it turns out, calling ARM's get_unaligned() on a u64 pointer pointing to the following byte sequence: 80 81 82 83 84 85 86 87 would return ffffffff83828180 (LE mode.) This turns out to be because of implicit u8 -> int promotion in ARM's implementation of various helpers for get_unaligned(), causing them to accidentally return signed instead of unsigned values, which in turn caused the subsequent casts to unsigned long long in __get_unaligned_8_[bl]e() to sign-extend the lower words. Fix by casting the return values of __get_unaligned_[24]_[bl]e() to unsigned int. Cc: Eric Sandeen Cc: Rabeeh Khoury Cc: Nicolas Pitre Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King commit b98d7291883f7ed27e3f4b59bc12dc963c9f72a6 Author: Uli Luckas Date: Fri Feb 22 16:45:18 2008 +0100 [ARM] 4836/1: Make ATAGS_PROC depend on KEXEC On Wed, Feb 20, 2008 at 11:50:33AM +0100, Guennadi Liakhovetski wrote: > arch/arm/kernel/atags.c uses for some reason the > KEXEC_BOOT_PARAMS_SIZE macro, which is only defined if CONFIG_KEXEC > is set. So, either this macro should be defined always, or another > macro should be used, or ATAGS_PROC should depend on KEXEC. As the procfs export of ATAGS is not meant as a stable, general purpose ABI it shouldn't be an independent, general configuration option. This patch make ATAGS_PROC depend on KEXEC Signed-off-by: Uli Luckas Signed-off-by: Russell King commit 401023710d73aaef1191ab4d6a79d39c51add828 Author: Kim B. Heino Date: Fri Feb 29 12:26:21 2008 -0800 [TUN]: Fix RTNL-locking in tun/tap driver Current tun/tap driver sets also net device's hw address when asked to change character device's hw address. This is a good idea, but it misses RTLN-locking, resulting following error message in 2.6.25-rc3's inetdev_event() function: RTNL: assertion failed at net/ipv4/devinet.c (1050) Attached patch fixes this problem. Signed-off-by: Kim B. Heino Signed-off-by: David S. Miller commit 459eea74104ad85c30e17541c2b30d776445e985 Author: Pavel Emelyanov Date: Fri Feb 29 11:24:45 2008 -0800 [SCTP]: Use proc_create to setup de->proc_fops. In addition to commit 160f17 ("[SCTP]: Use proc_create() to setup ->proc_fops first") use proc_create in two more places. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit c9e71002aacc9821e99531dcc130db88bbc8ad05 Author: Paul E. McKenney Date: Thu Feb 28 11:51:07 2008 -0800 rcupreempt: remove never-migrates assumption from rcu_process_callbacks() This patch fixes a potentially invalid access to a per-CPU variable in rcu_process_callbacks(). This per-CPU access needs to be done in such a way as to guarantee that the code using it cannot move to some other CPU before all uses of the value accessed have completed. Even though this code is currently only invoked from softirq context, which currrently cannot migrate to some other CPU, life would be better if this code did not silently make such an assumption. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit ae778869ae4549628b9e83efe958c3aaa63ed1b9 Author: Paul E. McKenney Date: Wed Feb 27 16:21:10 2008 -0800 rcupreempt: fix hibernate/resume in presence of PREEMPT_RCU and hotplug This fixes a oops encountered when doing hibernate/resume in presence of PREEMPT_RCU. The problem was that the code failed to disable preemption when accessing a per-CPU variable. This is OK when called from code that already has preemption disabled, but such is not the case from the suspend/resume code path. Reported-by: Dave Young Tested-by: Dave Young Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 5e47879f493e14a017d1facefc601f43c477dbee Author: Wang Chen Date: Fri Feb 29 10:34:45 2008 -0800 [IRDA]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit d40e705903397445c6861a0a56c23e5b2e8f9b9a Author: Jeremy Fitzhardinge Date: Fri Feb 29 18:55:43 2008 +0100 xen: mask out SEP from CPUID Fix 32-on-64 pvops kernel: we don't want userspace using syscall/sysenter, even if the hypervisor supports it, so mask it out from CPUID. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit 53c58588107973c0e240a1ed4fb8295f274c409d Author: Dave Anderson Date: Thu Feb 21 11:45:38 2008 -0500 x86 ptrace: fix ptrace_bts_config structure declaration The 2.6.25 ptrace_bts_config structure in asm-x86/ptrace-abi.h is defined with u32 types: #include /* configuration/status structure used in PTRACE_BTS_CONFIG and PTRACE_BTS_STATUS commands. */ struct ptrace_bts_config { /* requested or actual size of BTS buffer in bytes */ u32 size; /* bitmask of below flags */ u32 flags; /* buffer overflow signal */ u32 signal; /* actual size of bts_struct in bytes */ u32 bts_size; }; #endif But u32 is only accessible in asm-x86/types.h if __KERNEL__, leading to compile errors when ptrace.h is included from user-space. The double-underscore versions that are exported to user-space in asm-x86/types.h should be used instead. Signed-off-by: Dave Anderson Signed-off-by: Ingo Molnar commit b4ef95de00be4c2c30feccf607a45093c8c118b7 Author: Ingo Molnar Date: Tue Feb 26 09:40:27 2008 +0100 x86: disable BTS ptrace extensions for now revert the BTS ptrace extension for now. based on general objections from Roland McGrath: http://lkml.org/lkml/2008/2/21/323 we'll let the BTS functionality cook some more and re-enable it in v2.6.26. We'll leave the dead code around to help the development of this code. (X86_BTS is not defined at the moment) Signed-off-by: Ingo Molnar commit 8be8f54bae3453588011cad06363813a5293af53 Author: Thomas Gleixner Date: Sat Feb 23 20:43:21 2008 +0100 x86: CPA: avoid split of alias mappings avoid over-eager large page splitup. When the target area needs to be split or is split already (ioremap) then the current code enforces the split of large mappings in the alias regions even if we could avoid it. Use a separate variable processed in the cpa_data structure to carry the number of pages which have been processed instead of reusing the numpages variable. This keeps numpages intact and gives the alias code a chance to keep large mappings intact. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 757265b8c57bb8fd91785d3d1a87fb483c86c9c2 Author: Ingo Molnar Date: Thu Feb 28 20:19:06 2008 +0100 x86: delay the export removal of init_mm delay the removal of this symbol export by one more kernel release, giving external modules such as VirtualBox a chance to stop using it. Signed-off-by: Ingo Molnar commit b16bf712f491808a8c926dd481c696fe7d73ee5a Author: Ingo Molnar Date: Thu Feb 28 14:02:08 2008 +0100 x86: fix leak un ioremap_page_range() failure Jan Beulich noticed it during code review that if a driver's ioremap() fails (say due to -ENOMEM) then we might leak the struct vm_area. Free it properly. Signed-off-by: Ingo Molnar commit f2dbe03dccc95f41429d60e4221b02fc0f112cc4 Author: Roland McGrath Date: Wed Feb 27 11:42:15 2008 -0800 x86 vdso: fix build locale dependency Priit Laes discovered that the sed command processing nm output was sensitive to locale settings. This was addressed in commit 03994f01e8b72b3d01fd3d09d1cc7c9f421a727c by using [:alnum:] in place of [a-zA-Z0-9]. But that solution too is locale-dependent and may not always match the identifiers it needs to. The better fix is just to run sed et al with a fixed locale setting in all builds. Signed-off-by: Roland McGrath CC: Priit Laes Signed-off-by: Ingo Molnar commit d67bbacb4b557ece3b41abdcb616354ac0ce00e1 Author: Thomas Gleixner Date: Wed Feb 27 09:39:52 2008 +0100 x86: restore vsyscall64 prochandler a recent fix: commit ce28b9864b853803320c3f1d8de1b81aa4120b14 Author: Thomas Gleixner Date: Wed Feb 20 23:57:30 2008 +0100 x86: fix vsyscall wreckage removed the broken /kernel/vsyscall64 handler completely. This triggers the following debug check: sysctl table check failed: /kernel/vsyscall64 No proc_handler Restore the sane part of the proc handler. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit cded932b75ab0a5f9181ee3da34a0a488d1a14fd Author: Hans Rosenfeld Date: Mon Feb 18 18:10:47 2008 +0100 x86: fix pmd_bad and pud_bad to support huge pages I recently stumbled upon a problem in the support for huge pages. If a program using huge pages does not explicitly unmap them, they remain mapped (and therefore, are lost) after the program exits. I observed that the free huge page count in /proc/meminfo decreased when running my program, and it did not increase after the program exited. After running the program a few times, no more huge pages could be allocated. The reason for this seems to be that the x86 pmd_bad and pud_bad consider pmd/pud entries having the PSE bit set invalid. I think there is nothing wrong with this bit being set, it just indicates that the lowest level of translation has been reached. This bit has to be (and is) checked after the basic validity of the entry has been checked, like in this fragment from follow_page() in mm/memory.c: if (pmd_none(*pmd) || unlikely(pmd_bad(*pmd))) goto no_page_table; if (pmd_huge(*pmd)) { BUG_ON(flags & FOLL_GET); page = follow_huge_pmd(mm, address, pmd, flags & FOLL_WRITE); goto out; } Note that this code currently doesn't work as intended if the pmd refers to a huge page, the pmd_huge() check can not be reached if the page is huge. Extending pmd_bad() (and, for future 1GB page support, pud_bad()) to allow for the PSE bit being set fixes this. For similar reasons, allowing the NX bit being set is necessary, too. I have seen huge pages having the NX bit set in their pmd entry, which would cause the same problem. Signed-Off-By: Hans Rosenfeld Signed-off-by: Ingo Molnar commit 3d00daf44654dc75629caf42816ac4e293658724 Author: Roland McGrath Date: Tue Feb 26 13:00:18 2008 -0800 x86: tls prevent_tail_call Fix a kernel bug (vmware boot problem) reported by Tomasz Grobelny, which occurs with certain .config variants and gccs. The x86 TLS cleanup in commit efd1ca52d04d2f6df337a3332cee56cd60e6d4c4 made the sys_set_thread_area and sys_get_thread_area functions ripe for tail call optimization. If the compiler chooses to use it for them, it can clobber the user trap frame because these are asmlinkage functions. Reported-by: Tomasz Grobelny Signed-off-by: Roland McGrath Signed-off-by: Ingo Molnar commit 7be2a03e3174cee3a3cdcdf17db357470f51caff Author: Dmitry Adamushko Date: Fri Feb 8 15:41:13 2008 +0100 softlockup: fix task state setting kthread_stop() can be called when a 'watchdog' thread is executing after kthread_should_stop() but before set_task_state(TASK_INTERRUPTIBLE). Signed-off-by: Dmitry Adamushko Signed-off-by: Ingo Molnar commit 2232c2d8e0a6a31061dec311f3d1cf7624bc14f1 Author: Steven Rostedt Date: Fri Feb 29 18:46:50 2008 +0100 rcu: add support for dynamic ticks and preempt rcu The PREEMPT-RCU can get stuck if a CPU goes idle and NO_HZ is set. The idle CPU will not progress the RCU through its grace period and a synchronize_rcu my get stuck. Without this patch I have a box that will not boot when PREEMPT_RCU and NO_HZ are set. That same box boots fine with this patch. This patch comes from the -rt kernel where it has been tested for several months. Signed-off-by: Steven Rostedt Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit 57ce36feb4d1281247755bc445bae77728298955 Author: Uwe Kleine-König Date: Mon Feb 25 16:45:03 2008 +0100 let __dec_zone_page_state use __dec_zone_state This removes code duplication and makes __dec_zone_page_state look like __inc_zone_page_state. Signed-off-by: Uwe Kleine-König Acked-by: Christoph Lameter Signed-off-by: Linus Torvalds commit 32fa458688fa2e68bc433929b2d4941eef7efe39 Author: David Howells Date: Thu Feb 28 13:29:43 2008 +0000 Fix hpet_(un)register_irq_handler() for emulation Fix hpet_(un)register_irq_handler() for when CONFIG_HPET_EMULATE_RTC=n. They are provided macros that substitute value 0, but if they are called as functions and the return value isn't checked, the following warnings appear: drivers/char/rtc.c: In function `rtc_init': drivers/char/rtc.c:1063: warning: statement with no effect drivers/char/rtc.c: In function `rtc_exit': drivers/char/rtc.c:1157: warning: statement with no effect Signed-off-by: David Howells Signed-off-by: Linus Torvalds commit b59931649256685f294d2d163a4f6d6286fbff05 Author: Roland McGrath Date: Tue Feb 26 13:20:58 2008 -0800 elfcore-compat fix uid/gid types I overlooked the difference between __kernel_uid_t and uid_t when defining struct compat_elf_prpsinfo. The result is a regression in 32-bit core dumps on x86_64, where the NT_PRPSINFO note has the wrong size and layout. This patch fixes it. Signed-off-by: Roland McGrath Acked-by: Ingo Molnar Signed-off-by: Linus Torvalds commit 0d9ac27afa469dbb20940ad7f25502785af1cbe3 Author: Takashi Iwai Date: Wed Feb 27 16:40:18 2008 +0100 [ALSA] intel8x0 - Add quirk for Compaq Deskpro EN Added the ac97_quirk hp_only for Compaq Deskpro EN. Signed-off-by: Takashi Iwai commit b4818494edddfe382de4f5d072cb527b60315a46 Author: Herton Ronaldo Krzesinski Date: Sat Feb 23 11:34:12 2008 +0100 [ALSA] hda-codec - Adapt eeepc p701 mixer for virtual master control Fix the line-out volume control of eeepc p701 to be a proper slave of the virtual master control. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai commit 008f3599ef97438900d62fe05d75535d114780fc Author: Harvey Harrison Date: Fri Feb 29 11:46:32 2008 +0100 [ALSA] sound: ice1712: unused structs Don't need to declare a struct when defining a structure layout. Both of these structs are unused. sound/pci/ice1712/revo.c:39:3: warning: symbol 'revo51' was not declared. Should it be static? sound/pci/ice1712/phase.c:54:3: warning: symbol 'phase28' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Takashi Iwai commit 3fffe871b93f957bea443e85f6b221c50bbf9f97 Author: Jarkko Nikula Date: Thu Feb 28 12:35:25 2008 +0100 [ALSA] ASoC: Fix WM9712 mixer_event DAPM widget function type Add kcontrol argument to function since the API was changed by the commit 9af6d9562414568ecadf96aaef5b88e7e8b19821. Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai commit 338c7ed070bb1e068c3ae8ef14dc577e75d8aecc Author: Jarkko Nikula Date: Thu Feb 28 12:34:48 2008 +0100 [ALSA] ASoC: Fix DAPM widget function types in pxa machine drivers Add kcontrol argument to functions since the API was changed by the commit 9af6d9562414568ecadf96aaef5b88e7e8b19821. Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai commit 31bffaa9435f14b35a8e23ed2005925f65ec6d9b Author: Takashi Iwai Date: Wed Feb 27 16:10:44 2008 +0100 [ALSA] hda-codec - Fix mixer names of realtek codecs to adapt mater controls Some models like eeepc ep20 have invalid mixer names that aren't handled properly by virtual master controls. Rename them to the proper names. Also fixed some typos in the mixer names but they are not compiled in right now. Signed-off-by: Takashi Iwai commit b6a370b6fb3114f9f7fc8a393c3ffc2236d7cbf1 Author: Takashi Iwai Date: Mon Feb 4 14:00:53 2008 +0100 [ALSA] intel8x0 - Add quirk for Acer Travelmate 2310 Added ac97_quirk=hp-only for Acer Travelmate 2310. ALSA bug#3656 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3656 Signed-off-by: Takashi Iwai commit 0b167bf456d4af58103e2072bc4bd5733e7e7579 Author: Andrew Paprocki Date: Sun Feb 3 10:15:44 2008 +0100 [ALSA] hda_intel - Add model quirk for Albatron KI690-AM2 motherboard This adds a quirk to the Realtek ALC883 table for the Albatron KI690-AM2 motherboard to use the 6stack-dig model. Signed-off-by: Andrew Paprocki Signed-off-by: Takashi Iwai commit b930b9f41d5e9eadd9041f273c4d6d18e7061d05 Author: Clemens Ladisch Date: Tue Feb 26 08:40:57 2008 +0100 [ALSA] oxygen: add owner field I forgot to set the module owner for the HiFier/Xonar models. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit 3f1eeaed2c0dc6c787a47ae7a6c774589a04a3a2 Author: Tony Vroon Date: Mon Feb 25 16:44:13 2008 +0100 [ALSA] hda-codec - Add Fujitsu Lifebook E8410 to quirk table Add the proper model entry for Fujitsu Lifebook E8410 with ALC262 codec. From: Tony Vroon Signed-off-by: Takashi Iwai commit fb304ce53afbb653bfa67cc81ee9cf06edcbf68e Author: Takashi Iwai Date: Mon Feb 25 15:32:01 2008 +0100 [ALSA] hda-codec - Fix AD1988 capture elements The some indices of capture elements of AD1988 are wrongly assigned. This patch fixes it. See ALSA bug#3795 https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3795 Signed-off-by: Takashi Iwai commit 20cde9e8f83711dca532c49605914d50292d9ce5 Author: Clemens Ladisch Date: Mon Feb 25 11:04:41 2008 +0100 [ALSA] sb8: fix SB 1.0 capture DMA programming Fix a wrong version check that would cause an invalid command to be sent to SB 1.0 chips. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit d513202efd5bb9974545ef1c7f951467b21eb3a5 Author: Clemens Ladisch Date: Mon Feb 25 11:01:00 2008 +0100 [ALSA] usb-audio: add workaround for broken E-Mu frequency feedback Add a workaround for the feedback pipe of E-Mu 0202/0404 USB devices that reports the number of samples per packet instead of the number of samples per microframe. Signed-off-by: Clemens Ladisch Signed-off-by: Takashi Iwai commit ee47fd12d73706edb2a10efd05d5eed15b4d1e08 Author: Jarkko Nikula Date: Wed Feb 20 17:13:15 2008 +0100 [ALSA] ASoC: Fix TLV320AIC3X PLL divider table for 64 kHz rate Signed-off-by: Jarkko Nikula Signed-off-by: Takashi Iwai commit b84f08d49188a18d965fab8463c9cb679785eb39 Author: Takashi Iwai Date: Mon Feb 18 12:36:11 2008 +0100 [ALSA] hda-codec - Fix Master volume on HP dv8000 HP dv8000 laptop has a problem with Master volume. It's due to the connection of the widget 0x13. When it's connected from the analog amp mixer (0x19), it works as expected mysteriously (ALSA bug#3775): https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3775 Signed-off-by: Takashi Iwai commit 0bc8c7bf9e7440500fe04f95d6cddc58ea023cd2 Author: Sangtae Ha Date: Thu Feb 28 22:14:32 2008 -0800 [TCP]: BIC web page link is corrected. Signed-off-by: Sangtae Ha Signed-off-by: David S. Miller commit 7729d74ed5099021f79ee8ecfa676829b5bac796 Author: David S. Miller Date: Thu Feb 28 21:53:20 2008 -0800 [SPARC]: Add reboot_command[] extern decl to asm/system.h Kill off some sparse warnings. Signed-off-by: David S. Miller commit c8edc89d24546c834d7f595663afd14602855c02 Author: David S. Miller Date: Thu Feb 28 21:46:59 2008 -0800 [SPARC]: Mark linux_sparc_{fpu,chips} static. Caught by sparse. Signed-off-by: David S. Miller commit 2a58aa33daef37134c8a43dca0b7578c3fa7f993 Author: Andre Detsch Date: Mon Feb 25 15:07:42 2008 -0300 [POWERPC] spufs: fix use time accounting on SPE-overcommit The spu_runcntl_RW register is restored within spu_restore function. So, at the end of spu_bind_context, the SPU context is not just loaded, but running. This change corrects the state switch to account the time as USER. Signed-off-by: Andre Detsch Signed-off-by: Jeremy Kerr commit be71716e464f4ea38f08034dc666f2feb55535d9 Author: David S. Miller Date: Thu Feb 28 20:38:15 2008 -0800 [SPARC64]: Adjust kernel PC validation test in fault handler. Because of the new futex validation init handler, we have to accept faults in init section text as well as the normal kernel text. Thanks to Tom Callaway for the bug report. Signed-off-by: David S. Miller commit 1bd960ee2b1231759bd485aad0fa483c2f793a3b Author: Josef Jeff Sipek Date: Fri Feb 29 13:58:40 2008 +1100 [XFS] If you mount an XFS filesystem with no mount options at all, then the "ikeep" option is set rather than "noikeep". This regression was introduced in 970451. With no mount options specified, xfs_parseargs() does the following: int ikeep = 0; args->flags |= XFSMNT_BARRIER; args->flags2 |= XFSMNT2_COMPAT_IOSIZE; if (!options) goto done; It only sets the above two options by default and before, it also used to set XFSMNT_IDELETE by default. If options are specified, then if (!(args->flags & XFSMNT_DMAPI) && !ikeep) args->flags |= XFSMNT_IDELETE; is executed later on which is skipped by the "goto done;" above. The solution is to invert the logic. SGI-PV: 977771 SGI-Modid: xfs-linux-melb:xfs-kern:30590a Signed-off-by: Niv Sardi Signed-off-by: Barry Naujok Signed-off-by: Josef 'Jeff' Sipek Signed-off-by: Lachlan McIlroy commit c92a1acb675058375cc508ad024c33358b42d766 Author: Arnd Bergmann Date: Thu Feb 28 06:06:30 2008 +0100 [POWERPC] spufs: serialize SLB invalidation against SLB loading There is a potential race between flushes of the entire SLB in the MFC and the point where new entries are being established. The problem is that we might put a ESID entry into the MFC SLB when the VSID entry has just been cleared by the global flush. This can be circumvented by holding the register_lock throughout both the flushing and the creation of SLB entries. Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr commit cc4b7c1814c9ad375e8167ea4a9ec4a0ec1ada04 Author: Arnd Bergmann Date: Tue Feb 26 07:01:56 2008 +0100 [POWERPC] spufs: invalidate SLB translation before adding a new entry When we replace an SLB entry in the MFC after using up all the available entries, there is a short window in which an incorrect entry is marked as valid. The problem is that the 'valid' bit is stored in the ESID, which is always written after the VSID. Overwriting the VSID first will make the original ESID entry point to the new VSID, which means that any concurrent DMA accessing the old ESID ends up being redirected to the new virtual address. A few cycles later, we write the new ESID and everything is fine again. That race can be closed by writing a zero entry to the ESID first, which makes sure that the VSID is not accessed until we write the new ESID. Note that we don't actually need to invalidate the SLB entry using the invalidation register, which would also flush any ERAT entries for that segment, because the segment translation does not become invalid but is only removed from the SLB cache. Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr commit fae9ca791507876c3ccaa8ab686b2ce42dc7a560 Author: Arnd Bergmann Date: Fri Feb 29 15:16:48 2008 +1100 [POWERPC] spufs: synchronize IRQ when disabling There is a small race between the context save procedure and the SPU interrupt handling, where we expect all interrupt processing to have finished after disabling them, while an interrupt is still being processed on another CPU. The obvious fix is to call synchronize_irq() after disabling the interrupts at the start of the context save procedure to make sure we never access the SPU any more during an ongoing save or even after that. Thanks to Benjamin Herrenschmidt for pointing this out. Acked-by: Benjamin Herrenschmidt Signed-off-by: Arnd Bergmann Signed-off-by: Jeremy Kerr commit 0aef45645174525ee6aa7baed247a130e052740d Author: Sonic Zhang Date: Fri Feb 29 12:08:42 2008 +0800 Blackfin Serial Driver: Fix bug - Only insert UART rx char in timer task. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3910 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 71791bee90dd29b292c7e55c1c00857578c912bd Author: Jeremy Kerr Date: Mon Feb 25 14:58:37 2008 +1100 [POWERPC] spufs: fix order of sputrace thread IDs Currently, we get the following output from sputrace: [5.097935954] 1606: spufs_ps_nopfn__enter (thread = 1605, spu = -1) [5.097958164] 1606: spufs_ps_nopfn__insert (thread = 1605, spu = 15) [5.097973529] 1607: spufs_ps_nopfn__enter (thread = 1605, spu = -1) [5.097989174] 1607: spufs_ps_nopfn__insert (thread = 1605, spu = 14) Which leads me to believe that 160[67] is the current thread ID, and 1605 is the context backing the psmap. However, the 'current' and 'owner' tids are reversed - the 'current' tid is on the right. This change puts the current thread ID in the left-hand column instead, and renames the right to 'ctxthread'. Signed-off-by: Jeremy Kerr commit 931506d3b2208362efc678ee863ee42a90755e89 Author: Anantha Subramanyam Date: Thu Feb 28 15:58:35 2008 -0800 sata_svw: Add support for HT1100 SATA controller This patch adds support (including ATAPI DMA) for HT1100 (aka BCM11000) SATA controller. Signed-off-by: Anantha Subramanyam Signed-off-by: Jeff Garzik commit 2335f8ec27e125208d8d2d3e257a82862c4977d6 Author: Wang Chen Date: Thu Feb 28 14:16:33 2008 -0800 [X25]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 6d37a1581695fba42f4b51e3ff4c2871552cd6d7 Author: Wang Chen Date: Thu Feb 28 14:15:56 2008 -0800 [WANROUTER]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit d45fba3625249fada590a2eea09c38e755a3a2a7 Author: Wang Chen Date: Thu Feb 28 14:14:58 2008 -0800 [8021Q]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 770207208e4374f013f6f49233d5c8c8df505e03 Author: Wang Chen Date: Thu Feb 28 14:14:25 2008 -0800 [IPV4]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 4436f4cbfac15acea139863e322ed2f9efb118d3 Author: Wang Chen Date: Thu Feb 28 14:13:46 2008 -0800 [IPV6]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 160f17e345f5b50484d6cdc985b8686a05bf015d Author: Wang Chen Date: Thu Feb 28 14:13:16 2008 -0800 [SCTP]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 25296d599ccc7e06af217329729e4d7154fa79a2 Author: Wang Chen Date: Thu Feb 28 14:11:49 2008 -0800 [PKTGEN]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 46ecf0b994715589b9f5f620beca4d6aaaa02028 Author: Wang Chen Date: Thu Feb 28 14:10:51 2008 -0800 [NEIGHBOUR]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 7e0218099832d954d107f48de9e81bd521e16f24 Author: Wang Chen Date: Thu Feb 28 14:08:54 2008 -0800 [LLC]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 1e15dc981deb39056fa846fe55e1a1dbb175a98e Author: Wang Chen Date: Thu Feb 28 14:06:14 2008 -0800 [IPX]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 2ce8f047d5f3c0d782838bd2ecb6e4c440268e6d Author: Wang Chen Date: Thu Feb 28 14:00:59 2008 -0800 [SUNRPC]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 16e297b35811c53288b35e15a5823fd8534c6d21 Author: Wang Chen Date: Thu Feb 28 13:55:45 2008 -0800 [ATM]: Use proc_create() to setup ->proc_fops first Use proc_create() to make sure that ->proc_fops be setup before gluing PDE to main tree. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 7e8616d8e7731b026019d9af7cc9914b8bb42bc7 Author: Vlad Yasevich Date: Wed Feb 27 16:04:52 2008 -0500 [SCTP]: Update AUTH structures to match declarations in draft-16. The new SCTP socket api (draft 16) updates the AUTH API structures. We never exported these since we knew they would change. Update the rest to match the draft. Signed-off-by: Vlad Yasevich commit b40db6846847e82daf175641987df29324c425fa Author: Vlad Yasevich Date: Wed Feb 27 14:40:37 2008 -0500 [SCTP]: Incorrect length was used in SCTP_*_AUTH_CHUNKS socket option The chunks are stored inside a parameter structure in the kernel and when we copy them to the user, we need to account for the parameter header. Signed-off-by: Vlad Yasevich commit 15efbe763978d7cc327d824d9e8f8f9e525dd40d Author: Neil Horman Date: Fri Feb 15 09:53:59 2008 -0500 [SCTP]: Clean up naming conventions of sctp protocol/address family registration I noticed while looking into some odd behavior in sctp, that the variable name sctp_pf_inet6_specific was used twice to represent two different pieces of data (its both a structure name and a pointer to that type of structure), which is confusing to say the least, and potentially dangerous depending on the variable scope. This patch cleans that up, and makes the protocol and address family registration names in SCTP more regular, increasing readability. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich ipv6.c | 12 ++++++------ protocol.c | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) commit ed2b5b474e853fe2f9a9988f2871051291779d90 Author: Wang Chen Date: Thu Feb 28 12:53:32 2008 -0800 [APPLETALK]: Use proc_create() to setup ->proc_fops first As Davem mentioned in his recently patch (d9595a7b9c777d45a74774f1428c263a0a47f4c0) that the procfs visibility should occur after the ->proc_fops are setup. And also, Alexey provide proc_create() to make sure that ->proc_fops is setup before gluing PDE to main tree. We use proc_create(). Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 4d9d2cb026c756318965e2d9874d4695d9ebd4f6 Author: Eliezer Tamir Date: Thu Feb 28 11:59:10 2008 -0800 [BNX2X]: add bnx2x to MAINTAINERS Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 8d84a44096a34a5015fef8293fe1bf70068bfdd0 Author: Eliezer Tamir Date: Thu Feb 28 11:58:49 2008 -0800 [BNX2X]: update version, remove CVS strings Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 96fc1784007bf194399759e9b7d9c836c7bbda2a Author: Eliezer Tamir Date: Thu Feb 28 11:57:55 2008 -0800 [BNX2X]: Fix Xmit bugs Several endianity corrections in start_xmit() Fixed TSO bug where packets were missing the TCP flags. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit e8717a47266b1527e620ddf262613b9d010bbbe7 Author: Eliezer Tamir Date: Thu Feb 28 11:57:29 2008 -0800 [BNX2X]: Prevent PCI queue overflow Limit traffic through an internal queue to prevent overflow. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 228241eb58ad13e7cf2ddd9c92eabb5c3055cf5c Author: Eliezer Tamir Date: Thu Feb 28 11:56:57 2008 -0800 [BNX2X]: fix slowpath races and locking Fixed locking between fastpath and slowpath operations. Corrected order of traffic disabling to prevent race when going down under traffic. - first have the microcode drop all incoming packets - then do the slowpath stuff - only then reset the MAC Got rid of in_reset_task. Remove_one() and friends would deference a null pointer if init_one failed. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 877e9aa4c31d8d1670b21824b819929435f46579 Author: Eliezer Tamir Date: Thu Feb 28 11:55:53 2008 -0800 [BNX2X]: fix HW attentions and error handling Some of the HW attentions, used to indicate an error were not properly acked. This will cause the driver to endlessly receive interrupts when such an error happens. Had to break the code into smaller chunks because it got too nested. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 615f8fd9c2ab475c420d5baa7def37c5cb0d50d3 Author: Eliezer Tamir Date: Thu Feb 28 11:54:54 2008 -0800 [BNX2X]: fix MSI-X/INT#A errata Errata A0.158 workaround. Running in INT#A mode after running with MSI-X fails due to a PCI core bug. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 0e39e645b3e83873d59b865df2b671c822e2182c Author: Eliezer Tamir Date: Thu Feb 28 11:54:03 2008 -0800 [BNX2X]: correct statistics Errors were summed improperly, some stats were missing. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 49d66772112f40554ba18d037e0601ac3da0bf79 Author: Eliezer Tamir Date: Thu Feb 28 11:53:13 2008 -0800 [BNX2X]: Correct RX filtering and MC configuration The configuration of RX filtering needed the following corrections: Drop flags need to be set per Rx queue. Have to tell the microcode to collect drop stats, and properly wait for them to complete when going down. Sometimes we failed to detect proper completion due to a logical error in the wait loop. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit f14106478e372e64be54a3cdab1e2fa83a5c8a35 Author: Eliezer Tamir Date: Thu Feb 28 11:51:50 2008 -0800 [BNX2X]: Correct Link management Properly protect PHY access between two devices on the same board with a HW lock. Use GPIO to clear all previous configurations before changing link parameters. Shut down the external PHY in case of fan failure. Reducing the MDC/MDIO clock to 2.5MHz due to problems with some devices. Resolve the flow control response according to autoneg with external PHY. Unmasking all PHY interrupts in single write to prevent a race in the interrupts order. LASI indication fixes to work with peculiarities of PHYs. Disable MAC RX to avoid a HW bug when closing the MAC under traffic. Disable parallel detection on HiGig due to HW limitation. Updating the shared memory structure to work with the current bootcode. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 250479504ff7d7e8c7d5cf85bedd40fb8d725429 Author: Eliezer Tamir Date: Thu Feb 28 11:50:16 2008 -0800 [BNX2X]: Correct init_one() Correct PCI-E info printed by init_one() In one case it failed to free the netdev. Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit c14423fe585a5937db6e2eece4b79486521103be Author: Eliezer Tamir Date: Thu Feb 28 11:49:42 2008 -0800 [BNX2X]: Spelling fixes Signed-off-by: Eliezer Tamir Signed-off-by: David S. Miller commit 21e43188f272c7fd9efc84b8244c0b1dfccaa105 Author: Herbert Xu Date: Thu Feb 28 11:23:17 2008 -0800 [IPCOMP]: Disable BH on output when using shared tfm Because we use shared tfm objects in order to conserve memory, (each tfm requires 128K of vmalloc memory), BH needs to be turned off on output as that can occur in process context. Previously this was done implicitly by the xfrm output code. That was lost when it became lockless. So we need to add the BH disabling to IPComp directly. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit f62f2fdd9c33160584b800da8c4a25ff1679225a Author: Stephen Neuendorffer Date: Mon Feb 25 10:34:47 2008 +1100 [POWERPC] Xilinx: hwicap cleanup This fixes various items pointed out during a review of the hwicap driver. Primarily, reversed memcpy calls, re-entrancy issues, and mutex conversion have been addressed. There are also fixes to comments to use the kerneldoc format, as well as some sparse annotations. Signed-off-by: Stephen Neuendorffer Acked-by: Grant Likely Signed-off-by: Josh Boyer commit 2d8d4fdf78488f3362dccfd2a6bfdb4bc65c0858 Author: Aurelien Jarno Date: Thu Feb 28 15:11:26 2008 +0100 SSB PCI core driver: use new SPROM data structure Switch the SSB PCI core driver to the new SPROM data structure now that the old one has been removed. Signed-off-by: Aurelien Jarno Acked-by: Michael Buesch Signed-off-by: John W. Linville commit fe57e8be9e858b6d7af4e088cbbe718f51241eee Author: Josh Boyer Date: Thu Feb 28 08:16:27 2008 -0600 [POWERPC] 4xx: Use correct board info structure in cuboot wrappers Correct the remaining 44x cuboot wrappers to define TARGET_4xx as well. This creates the correct structure to use, including things like the second MAC address. Signed-off-by: Josh Boyer commit f9d8f88952c263a4eeaaa0fc6ff726d2315b6a57 Author: Alexey Zaytsev Date: Sat Feb 23 13:33:07 2008 +0300 Don't build bcm43xx if SSB is static and b43 PCI-SSB bridge is enabled. This may happen e.g. when the ssb is statically enables by the b44 driver, and the b43 pci-ssb bridge is enbled by the b43/b43legacy drivers, or the b43/b43legacy drivers are built statically. Signed-off-by: Alexey Zaytsev Acked-by: Larry Finger Signed-off-by: John W. Linville commit c7084535c9d2b8bcfc19f1ad9452eabde742ae22 Author: Alexey Zaytsev Date: Sat Feb 23 12:59:26 2008 +0300 Use a separate config option for the b43 pci to ssb bridge. The bridge code was unnecessary enabled by the b44 driver, but it prevents the bcm43xx driver from being loaded, as the bridge claims the same pci ids. Now we enable the birdge only if the b43{legacy} drivers are selected. Signed-off-by: Alexey Zaytsev Acked-by: Larry Finger Signed-off-by: John W. Linville commit 4b7524a42e14a7f86fa12611f3419650e99e2526 Author: Roland Dreier Date: Tue Feb 26 15:26:56 2008 +0100 libertas: Remove unused exports The libertas driver exports a number of symbols with no in-tree users; remove these unused exports. lbs_reset_device() is completely unused, with no callers at all, so remove the function completely. A couple of these unused exported symbols are static, which causes the following build error on ia64 with gcc 4.2.3: drivers/net/wireless/libertas/main.c:1375: error: __ksymtab_lbs_remove_mesh causes a section type conflict drivers/net/wireless/libertas/main.c:1354: error: __ksymtab_lbs_add_mesh causes a section type conflict Signed-off-by: Roland Dreier Acked-by: Holger Schurig Acked-by: Dan Williams Signed-off-by: John W. Linville commit 03147dfc8a3756439f0cc54aa181f30067f1b21b Author: Johannes Berg Date: Tue Feb 26 00:39:28 2008 +0100 mac80211: fix kmalloc vs. net_ratelimit The "goto end;" part definitely must not be rate limited. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 53b3f8e47a38f39836da1c9f9d2ea9a9c164c8f4 Author: Ivo van Doorn Date: Mon Feb 25 23:15:13 2008 +0100 rt2x00: Fix rt2x00lib_reset_link_tuner() rt2x00lib_reset_link_tuner() can be called from within the link tuner itself. This means that it should _not_ call rt2x00lib_stop_link_tuner() since that will cause the thread to hang. Reorder the things that should be done during a link tuner reset and during a link tuner start. Also make antenna tuning the last step of the link tuner since it could possibly reset some statistical information which we need for average calculation. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 05253c93feb40901d80a0d6f239a0bc78860c679 Author: Ivo van Doorn Date: Mon Feb 25 23:15:08 2008 +0100 rt2x00: Don't switch to antenna with low rssi When rssi_a > rssi_b is true and the current antenna was already antenna A, then rt2x00 incorrectly jumped to antenna B. Also don't configure the antenna when there has been no change in the antenna setup. Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 61667d8d5bf3c3ee09474069eaf4b93a4755ff8b Author: Ivo van Doorn Date: Mon Feb 25 23:15:05 2008 +0100 rt2x00: Add link tuner safe RX toggle states This adds 2 new states which both are used to toggle the RX. These new states are required for usage inside the link tuner thread, because the normal RX toggling will stop the link tuner thread. While it is possible that the link tuner thread itself is the caller of the RX toggle (when using software antenna diversity). Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit b290d433618aa7122f6e6c4a62ddc79412a48d4d Author: Ivo van Doorn Date: Mon Feb 25 23:15:01 2008 +0100 rt2x00: Fix antenna diversity Fix 2 issues in antenna diversity selection. 1) the following statement will always return true. if ((rssi_curr - rssi_old) > -5 || (rssi_curr - rssi_old) < 5) It is cleaner to check if the absolute value is smaller then 5. 2) Only enable software diversity when default antenna setup indicates support for it. Don't select it when the hardware does not indicate support for it... Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 8bfb04756a698e38825656eab3bc339a321551b3 Author: Sebastian Siewior Date: Sat Feb 23 21:46:31 2008 +0100 gelic wireless driver needs WIRELESS_EXT support | CC drivers/net/ps3_gelic_wireless.o | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c: In function 'gelic_wl_setup_netdev_ops': | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c:2660: error: 'struct net_device' has no member named 'wireless_data' | /home/bigeasy/git/linux-2.6/drivers/net/ps3_gelic_wireless.c:2661: error: 'struct net_device' has no member named 'wireless_handlers' | make[3]: *** [drivers/net/ps3_gelic_wireless.o] Error 1 | make[2]: *** [drivers/net] Error 2 | make[1]: *** [drivers] Error 2 | make[1]: *** Waiting for unfinished jobs.... | make: *** [sub-make] Error 2 Signed-off-by: Sebastian Siewior Acked-by: Masakazu Mokuno Signed-off-by: John W. Linville commit 4b74850dc3fb8a0941dde0f1bf7686803d1250cd Author: Masakazu Mokuno Date: Fri Feb 22 16:45:26 2008 +0900 PS3: gelic: Link the wireless net_device structure to the corresponding device structure Link the net_device structure of the wireless part to the corresponding device structure. Without this, the sysfs node for this net_device would not have 'device' link. Signed-off-by: Masakazu Mokuno Acked-by: Dan Williams Signed-off-by: John W. Linville commit 5b0acc64a3750f8f017b973f1059bb25b791c2a3 Author: Johannes Berg Date: Wed Feb 20 11:47:45 2008 +0100 rndis_wlan: fix sparse warnings It is obviously wrong to use an enum in a little endian struct, and those other enums should be declared differently. Signed-off-by: Johannes Berg Acked-by: Jussi Kivilinna Signed-off-by: John W. Linville commit 0111a701867a796a7ca6ecbc385e4befc9f35066 Author: Jeremy Kerr Date: Wed Feb 27 19:08:13 2008 +1100 [POWERPC] spufs: fix invalid scheduling of forgotten contexts At present, we have a situation where a context with no owner is re-scheduled by spu_forget: Thread 1: reading regs file Thread 2: context owner spu_forget() - ctx->owner = NULL - set SPU_SCHED_WAS_ACTIVE spu_acquire_saved() - context is in saved state spu_release_saved() - SPU_SCHED_WAS_ACTIVE is set, so spu_activate() the context, which now has no owner In spu_forget(), we shouldn't be requesting a re-schedule by setting SPU_SCHED_WAS_ACTIVE. This change removes the set_bit in spu_forget(), so that spu_release_saved() doesn't reinsert this destroyed context on to the run queue. Signed-off-by: Jeremy Kerr commit b90a137d30a6322d76023d879d40fc31f3edf0a6 Author: Vlad Yasevich Date: Thu Feb 14 10:18:20 2008 -0500 [SCTP]: Correctly set the length of sctp_assoc_change notification sctp_assoc_change notification may contain the data from a received ABORT chunk. Set the length correctly to account for that. Signed-off-by: Vlad Yasevich commit fbabbed8284d1526ed01754ecd4fabdb941a1ff2 Author: Patrick McHardy Date: Wed Feb 27 12:21:18 2008 -0800 [NETFILTER]: Fix NF_QUEUE_NR() parenthesis Properly add parens around the macro argument. This is not needed by the kernel but the macro is exported to userspace, so it shouldn't make any assumptions. Also use NF_VERDICT_BITS instead of NF_VERDICT_QBTIS for the left-shift since thats whats logically correct. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 6556874dc3770aefae89907b3cf9be8e23d66137 Author: Jan Engelhardt Date: Wed Feb 27 12:20:41 2008 -0800 [NETFILTER]: xt_conntrack: fix IPv4 address comparison Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit d61f89e9417e68caf9ca801606694c1c960ad179 Author: Jan Engelhardt Date: Wed Feb 27 12:09:05 2008 -0800 [NETFILTER]: xt_conntrack: fix missing boolean clamping Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 4e29e9ec7e0707d3925f5dcc29af0d3f04e49833 Author: Patrick McHardy Date: Wed Feb 27 12:07:47 2008 -0800 [NETFILTER]: nf_conntrack: fix smp_processor_id() in preemptible code warning Since we're using RCU for the conntrack hash now, we need to avoid getting preempted or interrupted by BHs while changing the stats. Fixes warning reported by Tilman Schmidt when using preemptible RCU: [ 48.180297] BUG: using smp_processor_id() in preemptible [00000000] code: ntpdate/3562 [ 48.180297] caller is __nf_conntrack_find+0x9b/0xeb [nf_conntrack] [ 48.180297] Pid: 3562, comm: ntpdate Not tainted 2.6.25-rc2-mm1-testing #1 [ 48.180297] [] debug_smp_processor_id+0x99/0xb0 [ 48.180297] [] __nf_conntrack_find+0x9b/0xeb [nf_conntrack] Tested-by: Tilman Schmidt Tested-by: Christian Casteyde [Bugzilla #10097] Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3bdfe7ec08b4256121a8894cd978e74fcf7031d7 Author: YOSHIFUJI Hideaki Date: Wed Feb 27 12:06:38 2008 -0800 [IPV6] SYSCTL: Fix possible memory leakage in error path. In error path, we do need to free memory just allocated. Signed-off-by: YOSHIFUJI Hideaki Signed-off-by: David S. Miller commit c91f91e5fb04fc8fd8fa4b5e9d949031e631c107 Author: Valentine Barshak Date: Wed Feb 27 01:58:53 2008 +1100 [POWERPC] 44x: add missing define TARGET_4xx and TARGET_440GX to cuboot-taishan In order to get the proper boad info (bd_info) structure defined in ppcboot.h both TARGET_4xx and TARGET_44x should be defined for all PowerPC 440 boards. The 440GX boards also need TARGET_440GX defined since they have 4 EMACs and there are 4 MAC addesses in bd_info passed by u-boot. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 3db3ba0347cb2f4bcb27a538fcc0f4e2c80600b0 Author: Stefan Roese Date: Fri Feb 22 02:21:37 2008 +1100 [POWERPC] 4xx: Fix L1 cache size in katmai DTS This patch changes the katmai (440SPe) L1 cache size to 32k. Some whitespace issues are cleaned up too. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit e33eb074cb95783b4497327098e4128e9f8c15b9 Author: Stefan Roese Date: Wed Feb 20 21:45:58 2008 +1100 [POWERPC] 4xx: Fix Haleakala PCIe compatibility problem in dts Since the 4xx PCIe driver checks for 405ex compatibility, the PCIe interface was not detected as it is currently defined as "405exr" compatible. This patch changes it to "405ex". The 405EX and 405EXr are identical exept that the 2nd PCIe and the 2nd EMAC interfaces are missing. Signed-off-by: Stefan Roese Signed-off-by: Josh Boyer commit 325d6f5593b40b5a48cf4ade74c01681f2ff6044 Author: Haavard Skinnemoen Date: Wed Feb 27 14:04:29 2008 +0100 avr32: Fix OCD refcounting bug Iff the parent has TIF_DEBUG set, _and_ clone_flags includes CLONE_PTRACE we should set the TIF_DEBUG flag for the child and increment the ocd refcount. Otherwise, the TIF_DEBUG flag must be unset. Currently, the child inherits TIF_DEBUG from the parent before copy_thread is called, so TIF_DEBUG may be already be set before we determine whether the child is supposed to inherit debugging capabilities from the parent or not. This means that ocd_enable() won't increment the refcount, because TIF_DEBUG is already set, and that TIF_DEBUG will be set for processes that aren't being debugged. This leads to a refcounting asymmetry, which may show up as ------------[ cut here ]------------ Badness at arch/avr32/kernel/ocd.c:73 PC is at ocd_disable+0x34/0x60 LR is at put_lock_stats+0xa/0x20 as reported by David Brownell. Happens when strace'ing a process that forks a new child process, e.g. "strace mount -tjffs2 mtd1 /mnt", and subsequently killing the child process (e.g. "umount /mnt".) Signed-off-by: Haavard Skinnemoen commit b37d428b24ad38034f56b614de05686ba151b614 Author: Pavel Emelyanov Date: Tue Feb 26 23:51:04 2008 -0800 [INET]: Don't create tunnels with '%' in name. Four tunnel drivers (ip_gre, ipip, ip6_tunnel and sit) can receive a pre-defined name for a device from the userspace. Since these drivers call the register_netdevice() (rtnl_lock, is held), which does _not_ generate the device's name, this name may contain a '%' character. Not sure how bad is this to have a device with a '%' in its name, but all the other places either use the register_netdev(), which call the dev_alloc_name(), or explicitly call the dev_alloc_name() before registering, i.e. do not allow for such names. This had to be prior to the commit 34cc7b, but I forgot to number the patches and this one got lost, sorry. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit d58831375d68a3bd39d5ebab9eca711fbb4ee108 Author: Jeremy Kerr Date: Tue Feb 26 13:31:42 2008 +1100 [POWERPC] spufs: fix context destruction during psmap fault We have a small window where a spu context may be destroyed while we're servicing a page fault (from another thread) to the context's problem state mapping. After we up_read() the mmap_sem, it's possible that the context is destroyed by its owning thread, and so the later references to ctx are invalid. This can maifest as a deadlock on the (now free()-ed) context state mutex. This change adds a reference to the context before we release the mmap_sem, so that the context cannot be destroyed. Signed-off-by: Jeremy Kerr commit d9595a7b9c777d45a74774f1428c263a0a47f4c0 Author: David S. Miller Date: Tue Feb 26 22:20:44 2008 -0800 [AF_KEY]: Fix oops by converting to proc_net_*(). To make sure the procfs visibility occurs after the ->proc_fs ops are setup, use proc_net_fops_create() and proc_net_remove(). This also fixes an OOPS after module unload in that the name string for remove was wrong, so it wouldn't actually be removed. That bug was introduced by commit 61145aa1a12401ac71bcc450a58c773dd6e2bfb9 ("[KEY]: Clean up proc files creation a bit.") Signed-off-by: David S. Miller commit 78374676efae525094aee45c0aab4bcab95ea9d1 Author: Li Zefan Date: Tue Feb 26 18:25:53 2008 -0800 CONNECTOR: make cn_already_initialized static It is used in connector.c only, so make it static. Signed-off-by: Li Zefan Signed-off-by: David S. Miller commit 148f97292e8fa2c35fcef60a7725cf1b073d6818 Author: Bjorn Mork Date: Tue Feb 26 18:17:53 2008 -0800 [IPV4]: Reset scope when changing address This bug did bite at least one user, who did have to resort to rebooting the system after an "ifconfig eth0 127.0.0.1" typo. Deleting the address and adding a new is a less intrusive workaround. But I still beleive this is a bug that should be fixed. Some way or another. Another possibility would be to remove the scope mangling based on address. This will always be incomplete (are 127/8 the only address space with host scope requirements?) We set the scope to RT_SCOPE_HOST if an IPv4 interface is configured with a loopback address (127/8). The scope is never reset, and will remain set to RT_SCOPE_HOST after changing the address. This patch resets the scope if the address is changed again, to restore normal functionality. Signed-off-by: Bjorn Mork Signed-off-by: David S. Miller commit f1243c2db6e3b8e5a602b1be2d256b582fc78ce4 Author: Benjamin Thery Date: Tue Feb 26 18:10:03 2008 -0800 [IPV6]: Add missing initializations of the new nl_info.nl_net field Add some more missing initializations of the new nl_info.nl_net field in IPv6 stack. This field will be used when network namespaces are fully supported. Signed-off-by: Benjamin Thery Signed-off-by: David S. Miller commit 3dbf8d56a2b7e0d738950daa16682e1e6dafb28b Author: Patrick McHardy Date: Tue Feb 26 17:52:05 2008 -0800 [MACVLAN]: Update Kconfig to refer to iproute Since the macvlan release I had at least 5 users asking how to configure it since the old userspace tool doesn't work with the version in the kernel. Add a pointer to the Kconfig help. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3ab2273175bd59616b6e85c0f88b154e8bd97413 Author: Thomas Gleixner Date: Tue Feb 26 17:42:56 2008 -0800 bluetooth: delete timer in l2cap_conn_del() Delete a possibly armed timer before kfree'ing the connection object. Solves: http://lkml.org/lkml/2008/2/15/514 Reported-by:Quel Qun Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller commit 622eaec613130e6ea78f2a5d5070e3278b21cd8f Author: David S. Miller Date: Tue Feb 26 17:30:02 2008 -0800 [SPARC64]: Loosen checks in exception table handling. Some parts of the kernel now do things like do *_user() accesses while set_fs(KERNEL_DS) that fault on purpose. See, for example, the code added by changeset a0c1e9073ef7428a14309cba010633a6cd6719ea ("futex: runtime enable pi and robust functionality"). That trips up the ASI sanity checking we make in do_kernel_fault(). Just remove it for now. Maybe we can add it back later with an added conditional which looks at the current get_fs() value. Signed-off-by: David S. Miller commit b2d7c7f7a69fd953626c3e507bac70e18b21f70e Author: Julia Lawall Date: Tue Feb 26 21:42:11 2008 +0100 arch/sh/drivers/dma/dma-sh.c: Correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. This is not tested and clearly changes the semantics, so it is only something to consider. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E1,E2; @@ ( !E1 & !E2 | - !E1 & E2 + !(E1 & E2) ) // Signed-off-by: Julia Lawall Signed-off-by: Paul Mundt commit 030f1b2f5d880c1ad3d7e0b71fc383f00f38f8f7 Author: Roland Dreier Date: Thu Feb 21 09:02:41 2008 -0600 MAINTAINERS: neteffect update Adding Nishi to the maintainers list. Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 4b1cc7e7ca5715907d17619dcb49144db6efe1c9 Author: John Lacombe Date: Thu Feb 21 08:34:58 2008 -0600 RDMA/nes: Fix interrupt moderation low threshold Interrupt moderation low threshold value was incorrectly triggering, indicating that the threshold should be lowered. The impact was the timer was likely to become 40usecs and get stuck there. The biggest side effect was too many interrupts and nonoptimal performance. Signed-off-by: John Lacombe Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 30da7cff87f0ffa169fe07b766c3d6a5f6d1f6ab Author: Faisal Latif Date: Thu Feb 21 08:31:22 2008 -0600 RDMA/nes: Fix CRC endianness for RDMA connection establishment on big-endian With commit ef19454b ("[LIB] crc32c: Keep intermediate crc state in cpu order"), the behavior of crc32c changes on big-endian platforms. Our algorithm expects the previous behavior; otherwise we have RDMA connection establishment failure on big-endian platforms like powerpc. Apply cpu_to_le32() to value returned by crc32c() to get the previous behavior. Signed-off-by: Faisal Latif Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit a2e9c384ce76993cd68d6de57eaa81985b4618e3 Author: Faisal Latif Date: Thu Feb 21 08:27:32 2008 -0600 RDMA/nes: Fix use-after-free in mini_cm_dec_refcnt_listen() Fix use-after-free spotted by Coverity checker flagged by Adrian Bunk. Signed-off-by: Faisal Latif Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit f84fba6f969065c6622669bbaa955c26fc1461ae Author: Glenn Streiff Date: Thu Feb 21 08:17:54 2008 -0600 RDMA/nes: Fix use-after-free in nes_create_cq() Just delete the debugging statement so we don't use cqp_request after freeing it. Adrian Bunk flagged this use-after-free issue spotted by the Coverity checker. Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit a4435febd4c0f14b25159dca249ecf91301c7c76 Author: Adrian Bunk Date: Thu Feb 21 08:13:47 2008 -0600 RDMA/nes: Fix a check-after-use in nes_probe() Fix a check-after-use spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit ed0ba33d64fb933f5fd985aa8f641984efd9d658 Author: Adrian Bunk Date: Thu Feb 21 08:12:06 2008 -0600 RDMA/nes: Fix a memory leak in schedule_nes_timer() Fix a memory leak spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 204f47c5a581630369d425b5a4afa48448c30359 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:36 2008 +0100 ide: remove stale comments from ide-dma.c (take 2) - ide-dma.c is not a separate module - ide-dma.c is not PCI specific anymore - DMA is enabled by default nowadays - link for Intel Zappa BIOS is dead etc. v2: * Some comments should be preserved. (Noticed by Mark Lord) Cc: Mark Lord Signed-off-by: Bartlomiej Zolnierkiewicz commit 56467d17d205368f857e194858ea69368a1cfec2 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:36 2008 +0100 ide: remove ide-tape documentation from Documentation/ide.txt More complete documentation is available in Documentation/ide/ide-tape.txt. Signed-off-by: Bartlomiej Zolnierkiewicz commit fcac6f87a5642ab16fe3deab11e57252dacf4d55 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:36 2008 +0100 qd65xx: remove commented out code Signed-off-by: Bartlomiej Zolnierkiewicz commit d48567dd43868b3d2e1fcc33ee76dc2d38a1ddeb Author: Borislav Petkov Date: Tue Feb 26 21:50:36 2008 +0100 ide-tape: schedule driver for removal after 6 months Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d12faa2736ebdee025a9aa07b2683c5fa8c86553 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:36 2008 +0100 ide-disk: add missing printk() KERN_* levels Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dbecebca1914f414008553b57aefde95b70f9142 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:35 2008 +0100 ide: fix sparse warning about shadowing 'flags' symbol drivers/ide/ide.c:801:18: warning: symbol 'flags' shadows an earlier one drivers/ide/ide.c:732:16: originally declared here Also fix some whitespace damage while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bcd88ac3b2ff2eae3d0fa57a6b02d4fce5392f32 Author: Andreas Schwab Date: Tue Feb 26 21:50:35 2008 +0100 ide-cd: fix CD/DVD burning Move counting of sense bytes into the transfer loop. Signed-off-by: Andreas Schwab Acked-by: Borislav Petkov Cc: Kiyoshi Ueda Cc: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz commit 9f10d9ee0ac6d79d7bc8b9a158bf4a29322d84d3 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:35 2008 +0100 ide-cd: fix 'ireason' handling for REQ_TYPE_ATA_PC requests Pass 'struct request *rq' to ide_cd_check_ireason() from cdrom_newpc_intr() and use ide_cd_check_ireason() also for REQ_TYPE_ATA_PC requests. This fixes some hangs caused by not finishing the transfer before ending the request and also makes use of 'ireason == 1' quirk for spurious IRQs. Tested-by: Brad Rosser Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 788d669736dd3d15195fea07bf97ec5a2e9f15e7 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:35 2008 +0100 qd65xx: fix setup of QD6580 Control register Control register of QD6580 should be setup before probing for devices. Signed-off-by: Bartlomiej Zolnierkiewicz commit c53ea18dc29a1ac075119f651d6ac4386a549a34 Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:34 2008 +0100 ide: skip probing port if "hdx=noprobe" was used for both devices on it * Skip probing port if "hdx=noprobe" parameter was used for both devices on it. * Obsolete "idex=noprobe" parameter - it only works for ide_generic, cmd640 and PCI hosts in Compatibility mode (on alpha/x86/ia64/m32r/mips/ppc32). Signed-off-by: Bartlomiej Zolnierkiewicz commit cbd34d00af2960097ebd46a31dabc8bb9f16ea4e Author: Bartlomiej Zolnierkiewicz Date: Tue Feb 26 21:50:33 2008 +0100 ide: remove redundant comment from ide_unregister() Identical comment is present in ide_hwif_release_regions() documentation. Signed-off-by: Bartlomiej Zolnierkiewicz commit b66cae7672996c1ed0c4c4a4df04ce7b275c61f6 Author: Sam Ravnborg Date: Tue Feb 26 21:50:33 2008 +0100 hpt366: fix section mismatch warnings hpt366: fix section mismatch warnings Fix following warnings: WARNING: o-sparc64/vmlinux.o(.data+0x195a38): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt370 WARNING: o-sparc64/vmlinux.o(.data+0x195a40): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt370a WARNING: o-sparc64/vmlinux.o(.data+0x195a48): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt372 WARNING: o-sparc64/vmlinux.o(.data+0x195a50): Section mismatch in reference from the variable hpt37x_info.0 to the variable .devinit.data:hpt372n Replace a static array with a small switch resulting in more readable code. Mark the pci table __devinitconst. A lot of variables are const but annotated __devinitdata. Annotating them __devinitconst would cause a section type conflict error when build for 64 bit powerpc. Signed-off-by: Sam Ravnborg Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit acbe44e6274e88a14a68df511d87890846a9bc99 Author: Borislav Petkov Date: Tue Feb 26 21:50:32 2008 +0100 ide-cd: Enable audio play quirk for Optiarc DVD RW AD-5200A drive Reported-by: Stefan Bader Signed-off-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit cf3680b90c7842cf91ed857ac4528f4e057da366 Author: Tejun Heo Date: Thu Feb 14 10:32:07 2008 +0900 printk: fix possible printk overrun printk recursion detection prepends message to printk_buf and offsets printk_buf when actual message is printed but it forgets to trim buffer length accordingly. This can result in overrun in extreme cases. Fix it. [ mingo@elte.hu: bug was introduced by me via: commit 32a76006683f7b28ae3cc491da37716e002f198e Author: Ingo Molnar Date: Fri Jan 25 21:07:58 2008 +0100 printk: make printk more robust by not allowing recursion ] Signed-off-by: Tejun Heo Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds commit f18edc95a37a901ffcbe91f5e05105f916a04fae Author: Thomas Gleixner Date: Sat Feb 16 14:05:01 2008 +0100 x86: no robust/pi futex for real i386 CPUs Real i386 CPUs do not have cmpxchg instructions. Catch it before crashing on an invalid opcode. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 12c247a6719987aad65f83158d2bb3e73c75c1f5 Author: Mikael Pettersson Date: Sun Feb 24 18:27:03 2008 +0100 x86: fix boot failure on 486 due to TSC breakage > Diffing dmesg between git7 and git8 doesn't sched any light since > git8 also removed the printouts of the x86 caps as they were being > initialised and updated. I'm currently adding those printouts back > in the hope of seeing where and when the caps get broken. That turned out to be very illuminating: --- dmesg-2.6.24-git7 2008-02-24 18:01:25.295851000 +0100 +++ dmesg-2.6.24-git8 2008-02-24 18:01:25.530358000 +0100 ... CPU: After generic identify, caps: 00000003 00000000 00000000 00000000 00000000 00000000 00000000 00000000 CPU: After all inits, caps: 00000003 00000000 00000000 00000000 00000000 00000000 00000000 00000000 +CPU: After applying cleared_cpu_caps, caps: 00000013 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Notice how the TSC cap bit goes from Off to On. (The first two lines are printout loops from -git7 forward-ported to -git8, the third line is the same printout loop added just after the xor-with-cleared_cpu_caps[] loop.) Here's how the breakage occurs: 1. arch/x86/kernel/tsc_32.c:tsc_init() sees !cpu_has_tsc, so bails and calls setup_clear_cpu_cap(X86_FEATURE_TSC). 2. include/asm-x86/cpufeature.h:setup_clear_cpu_cap(bit) clears the bit in boot_cpu_data and sets it in cleared_cpu_caps 3. arch/x86/kernel/cpu/common.c:identify_cpu() XORs all caps in with cleared_cpu_caps HOWEVER, at this point c->x86_capability correctly has TSC Off, cleared_cpu_caps has TSC On, so the XOR incorrectly sets TSC to On in c->x86_capability, with disastrous results. The real bug is that clearing bits with XOR only works if the bits are known to be 1 prior to the XOR, and that's not true here. A simple fix is to convert the XOR to AND-NOT instead. The following patch does that, and allows my 486 to boot 2.6.25-rc kernels again. [ mingo@elte.hu: fixed a similar bug in setup_64.c as well. ] The breakage was introduced via commit 7d851c8d3db0. Signed-off-by: Mikael Pettersson Signed-off-by: Ingo Molnar commit 03994f01e8b72b3d01fd3d09d1cc7c9f421a727c Author: Priit Laes Date: Sun Feb 24 18:36:05 2008 +0200 x86: fix build on non-C locales. For some locales regex range [a-zA-Z] does not work as it is supposed to. so we have to use [:alnum:] and [:xdigit:] to make it work as intended. [1] http://en.wikipedia.org/wiki/Estonian_alphabet Signed-off-by: Ingo Molnar commit 2b775a27c0d9fdf8078d5b31e1e27411e5bf2a91 Author: Glauber Costa Date: Fri Feb 22 12:09:29 2008 -0300 x86: make c_idle.work have a static address. Currently, c_idle is declared in the stack, and thus, have no static address. Peter Zijlstra points out this simple solution, in which c_idle.work is initializated separatedly. Note that the INIT_WORK macro has a static declaration of a key inside. Signed-off-by: Glauber Costa Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 1650743cdc0db73478f72c57544ce79ea8f3dda6 Author: Vegard Nossum Date: Fri Feb 22 19:23:58 2008 +0100 x86: don't save unreliable stack trace entries Currently, there is no way for print_stack_trace() to determine whether a given stack trace entry was deemed reliable or not, simply because save_stack_trace() does not record this information. (Perhaps needless to say, this makes the saved stack traces A LOT harder to read, and probably with no other benefits, since debugging features that use save_stack_trace() most likely also require frame pointers, etc.) This patch reverts to the old behaviour of only recording the reliable trace entries for saved stack traces. Signed-off-by: Vegard Nossum Acked-by: Arjan van de Ven Signed-off-by: Ingo Molnar commit ed2b7e2b1d1ae201afe8fbd111632074b7b53ed4 Author: Adrian Bunk Date: Fri Feb 22 21:58:37 2008 +0200 x86: don't make swapper_pg_pmd global There doesn't seem to be any reason for swapper_pg_pmd being global. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar commit 4147c8747eace9058c606b35e700060297edaf91 Author: Joerg Roedel Date: Thu Feb 21 15:50:14 2008 +0100 x86: don't print a warning when MTRR are blank and running in KVM Inside a KVM virtual machine the MTRRs are usually blank. This confuses Linux and causes a warning message at boot. This patch removes that warning message when running Linux as a KVM guest. Signed-off-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 5d119b2c9a490e2d647eae134211b32a18a04c7d Author: Ingo Molnar Date: Tue Feb 26 12:55:57 2008 +0100 x86: fix execve with -fstack-protect pointed out by pageexec@freemail.hu: > what happens here is that gcc treats the argument area as owned by the > callee, not the caller and is allowed to do certain tricks. for ssp it > will make a copy of the struct passed by value into the local variable > area and pass *its* address down, and it won't copy it back into the > original instance stored in the argument area. > > so once sys_execve returns, the pt_regs passed by value hasn't at all > changed and its default content will cause a nice double fault (FWIW, > this part took me the longest to debug, being down with cold didn't > help it either ;). To fix this we pass in pt_regs by pointer. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ce28b9864b853803320c3f1d8de1b81aa4120b14 Author: Thomas Gleixner Date: Wed Feb 20 23:57:30 2008 +0100 x86: fix vsyscall wreckage based on a report from Arne Georg Gleditsch about user-space apps misbehaving after toggling /proc/sys/kernel/vsyscall64, a review of the code revealed that the "NOP patching" done there is fundamentally unsafe for a number of reasons: 1) the patching code runs without synchronizing other CPUs 2) it inserts NOPs even if there is no clock source which provides vread 3) when the clock source changes to one without vread we run in exactly the same problem as in #2 4) if nobody toggles the proc entry from 1 to 0 and to 1 again, then the syscall is not patched out as a result it is possible to break user-space via this patching. The only safe thing for now is to remove the patching. This code was broken since v2.6.21. Reported-by: Arne Georg Gleditsch Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit d4afe414189b098d56bcd24280c018aa2ac9a990 Author: Ingo Molnar Date: Thu Feb 21 13:39:30 2008 +0100 x86: rename KERNEL_TEXT_SIZE => KERNEL_IMAGE_SIZE The KERNEL_TEXT_SIZE constant was mis-named, as we not only map the kernel text but data, bss and init sections as well. That name led me on the wrong path with the KERNEL_TEXT_SIZE regression, because i knew how big of _text_ my images have and i knew about the 40 MB "text" limit so i wrongly thought to be on the safe side of the 40 MB limit with my 29 MB of text, while the total image size was slightly above 40 MB. Signed-off-by: Ingo Molnar commit 88f3aec7afd9ae3e6f6d221801996b69aad1e3a4 Author: Ingo Molnar Date: Thu Feb 21 11:04:11 2008 +0100 x86: fix spontaneous reboot with allyesconfig bzImage recently the 64-bit allyesconfig bzImage kernel started spontaneously rebooting during early bootup. after a few fun hours spent with early init debugging, it turns out that we've got this rather annoying limit on the size of the kernel image: #define KERNEL_TEXT_SIZE (40*1024*1024) which limit my vmlinux just happened to pass: text data bss dec hex filename 29703744 4222751 8646224 42572719 2899baf vmlinux 40 MB is 42572719 bytes, so my vmlinux was just 1.5% above this limit :-/ So it happily crashed right in head_64.S, which - as we all know - is the most debuggable code in the whole architecture ;-) So increase the limit to allow an up to 128MB kernel image to be mapped. (should anyone be that crazy or lazy) We have a full 4K of pagetable (level2_kernel_pgt) allocated for these mappings already, so there's no RAM overhead and the limit was rather pointless and arbitrary. Signed-off-by: Ingo Molnar commit 3b57bc461fd5019aef4cfc77d4faf56ebe95449c Author: Yinghai Lu Date: Wed Feb 20 18:53:17 2008 -0800 x86: remove double-checking empty zero pages debug so far no one complained about that. Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 7265b6f10deba1cbe071cee646b063bda07ecd68 Author: Pavel Machek Date: Tue Feb 19 11:02:30 2008 +0100 x86: notsc is ignored on common configurations notsc is ignored in 32-bit kernels if CONFIG_X86_TSC is on.. which is bad, fix it. Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar commit f5106d91f2bf9153d6420f9ebb8114f73f9ce66a Author: Randy Dunlap Date: Mon Feb 18 13:10:44 2008 -0800 x86/mtrr: fix kernel-doc missing notation Fix mtrr kernel-doc warning: Warning(linux-2.6.24-git12//arch/x86/kernel/cpu/mtrr/main.c:677): No description found for parameter 'end_pfn' Signed-off-by: Randy Dunlap Signed-off-by: Ingo Molnar commit 829157be590af1c2555fb74c3c4db3327e3201fc Author: H. Peter Anvin Date: Wed Feb 13 11:16:46 2008 -0800 x86: handle BIOSes which terminate e820 with CF=1 and no SMAP The proper way to terminate the e820 chain is with %ebx == 0 on the last legitimate memory block. However, several BIOSes don't do that and instead return error (CF = 1) when trying to read off the end of the list. For this error return, %eax doesn't necessarily return the SMAP signature -- correctly so, since %ah should contain an error code in this case. To deal with some particularly broken BIOSes, we clear the entire e820 chain if the SMAP signature is missing in the middle, indicating a plain insane e820 implementation. However, we need to make the test for CF = 1 before the SMAP check. This fixes at least one HP laptop (nc6400) for which none of the memory-probing methods (e820, e801, 88) functioned fully according to spec. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4cd20952d74323df06e438c0c3273b5be89d6bfd Author: H. Peter Anvin Date: Mon Feb 18 23:24:33 2008 -0800 x86: add comments for NOPs Add comments describing the various NOP sequences. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 959b3be64cab9160cd74532a49b89cdd918d38e9 Author: H. Peter Anvin Date: Thu Feb 14 14:56:45 2008 -0800 x86: don't use P6_NOPs if compiling with CONFIG_X86_GENERIC P6_NOPs are definitely not supported on some VIA CPUs, and possibly (unverified) on AMD K7s. It is also the only thing that prevents a 686 kernel from running on Transmeta TM3x00/5x00 (Crusoe) series. The performance benefit over generic NOPs is very small, so when building for generic consumption, avoid using them. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7343b3b3a627eb30e24e921f004f659c8ebb91c5 Author: H. Peter Anvin Date: Thu Feb 14 14:52:05 2008 -0800 x86: require family >= 6 if we are using P6 NOPs The P6 family of NOPs are only available on family >= 6 or above, so enforce that in the boot code. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit a7ef94e6889186848573a10c5bdb8271405f44de Author: H. Peter Anvin Date: Thu Feb 14 14:51:00 2008 -0800 x86: do not promote TM3x00/TM5x00 to i686-class We have been promoting Transmeta TM3x00/TM5x00 chips to i686-class based on the notion that they contain all the user-space visible features of an i686-class chip. However, this is not actually true: they lack the EA-taking long NOPs (0F 1F /0). Since this is a userspace-visible incompatibility, downgrade these CPUs to the manufacturer-defined i586 level. Signed-off-by: H. Peter Anvin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b02a7f22f39f02fdf5a1380ff700293639db4490 Author: Pavel Machek Date: Tue Feb 5 00:48:13 2008 +0100 x86: hpet fix docbook comment Signed-off-by: Pavel Machek Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92cb54a37a42a41cfb2ef7f1478bfa4395198258 Author: Ingo Molnar Date: Wed Feb 13 14:37:52 2008 +0100 x86: make DEBUG_PAGEALLOC and CPA more robust Use PF_MEMALLOC to prevent recursive calls in the DBEUG_PAGEALLOC case. This makes the code simpler and more robust against allocation failures. This fixes the following fallback to non-mmconfig: http://lkml.org/lkml/2008/2/20/551 http://bugzilla.kernel.org/show_bug.cgi?id=10083 Also, for DEBUG_PAGEALLOC=n reduce the pool size to one page. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1ce70c4fac3c3954bd48c035f448793867592bc0 Author: Ahmed S. Darwish Date: Sun Feb 24 17:55:15 2008 +0200 x86/lguest: fix pgdir pmd index calculation Hi all, Beginning from commits close to v2.6.25-rc2, running lguest always oopses the host kernel. Oops is at [1]. Bisection led to the following commit: commit 37cc8d7f963ba2deec29c9b68716944516a3244f x86/early_ioremap: don't assume we're using swapper_pg_dir At the early stages of boot, before the kernel pagetable has been fully initialized, a Xen kernel will still be running off the Xen-provided pagetables rather than swapper_pg_dir[]. Therefore, readback cr3 to determine the base of the pagetable rather than assuming swapper_pg_dir[]. static inline pmd_t * __init early_ioremap_pmd(unsigned long addr) { - pgd_t *pgd = &swapper_pg_dir[pgd_index(addr)]; + /* Don't assume we're using swapper_pg_dir at this point */ + pgd_t *base = __va(read_cr3()); + pgd_t *pgd = &base[pgd_index(addr)]; pud_t *pud = pud_offset(pgd, addr); pmd_t *pmd = pmd_offset(pud, addr); Trying to analyze the problem, it seems on the guest side of lguest, %cr3 has a different value from &swapper_pg-dir (which is AFAIK fine on a pravirt guest): Putting some debugging messages in early_ioremap_pmd: /* Appears 3 times */ [ 0.000000] *************************** [ 0.000000] __va(%cr3) = c0000000, &swapper_pg_dir = c02cc000 [ 0.000000] *************************** After 8 hours of debugging and staring on lguest code, I noticed something strange in paravirt_ops->set_pmd hypercall invocation: static void lguest_set_pmd(pmd_t *pmdp, pmd_t pmdval) { *pmdp = pmdval; lazy_hcall(LHCALL_SET_PMD, __pa(pmdp)&PAGE_MASK, (__pa(pmdp)&(PAGE_SIZE-1))/4, 0); } The first hcall parameter is global pgdir which looks fine. The second parameter is the pmd index in the pgdir which is suspectful. AFAIK, calculating the index of pmd does not need a divisoin over four. Removing the division made lguest work fine again . Patch is at [2]. I am not sure why the division over four existed in the first place. It seems bogus, maybe the Xen patch just made the problem appear ? [2]: The patch: [PATCH] lguest: fix pgdir pmd index cacluation Remove an error in index calculation which leads to removing a not existing shadow page table (leading to a Null dereference). Signed-off-by: Ahmed S. Darwish Signed-off-by: Ingo Molnar commit db342d216ba9e060d8c5501eefc1d0a789c9e711 Author: Tony Breeds Date: Tue Feb 19 08:16:03 2008 +0100 lguest: fix build breakage [ mingo@elte.hu: merged to Rusty's patch ] Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit cbc34973709eb41b369c304c075cf2069f847012 Author: Harvey Harrison Date: Wed Feb 13 13:14:35 2008 -0800 lguest: include function prototypes Added a declaration to asm-x86/lguest.h and moved the extern arrays there as well. As an alternative to including asm/lguest.h directly, an include could be put in linux/lguest.h Signed-off-by: Harvey Harrison Cc: "rusty@rustcorp.com.au" Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef8ece55d9b6825c28a5c1a4bd89b94040cb7b32 Author: Lachlan McIlroy Date: Tue Feb 26 17:00:22 2008 +1100 [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac platform. SGI-PV: 971186 SGI-Modid: xfs-linux-melb:xfs-kern:30559a Signed-off-by: Lachlan McIlroy commit db69c915e67705daac25cad06d816c09be634de0 Author: Lachlan McIlroy Date: Tue Feb 26 17:00:14 2008 +1100 [XFS] Undo bit ops cleanup mod due to regression on 32-bit powermac platform. SGI-PV: 974005 SGI-Modid: xfs-linux-melb:xfs-kern:30558a Signed-off-by: Lachlan McIlroy commit 96de1a8f0275bd67f243833e7088baced518f873 Author: Paul Mundt Date: Tue Feb 26 14:52:45 2008 +0900 serial: Move asm-sh/sci.h to linux/serial_sci.h. This header is needed on other architectures as well (namely h8300), which currently fails to build without this in place. Rather than duplicating the port definition completely there, just move this to a common location instead. This should get h8300 working again for 2.6.25, in addition to the changes already pushed by Sato-san in -rc2. Signed-off-by: Paul Mundt commit 8b1d16540c6ae4e62fcff56bd47794951b3ca87a Author: Hideo Saito Date: Tue Feb 26 14:28:48 2008 +0900 sh: Fix up HAS_SR_RB typo in entry-macros. Signed-off-by: Hideo Saito Signed-off-by: Paul Mundt commit 763a495a022ac26afb2940e768e86725c1c7e8c9 Author: Magnus Damm Date: Tue Feb 26 14:14:56 2008 +0900 sh: revert dreamcast pci change Commit e036eaa681a17f71b64f6d9040fe605555623919 broke dreamcast pci, this patch fixes that by reverting the dreamcast specific bits. Signed-off-by: Magnus Damm Acked-by: Adrian McMenamin Signed-off-by: Andrew Morton Signed-off-by: Paul Mundt commit bd49666974a12f39eb9c74044e0b1753efcd94c4 Author: Adrian McMenamin Date: Sun Feb 24 14:30:23 2008 +0000 maple: fix device detection The maple bus driver that went into the kernel mainline in September 2007 contained some bugs which were revealed by the update of the kobj code for the current release series. Unfortunately those bugs also helped ensure maple devices were properly detected. This patch (against the current git) now ensures that devices are properly detected again. (A previous attempt to fix this by delaying initialisation only partially fixed this - as became apparent when the bus was fully loaded) Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit b7fd095602468ee501c5bcc3f9ca788cb3834096 Author: Rafael Ignacio Zurita Date: Mon Feb 18 22:32:58 2008 -0300 sh: fix rtc_resources setup for sh770x Fix the RTC resources setup for sh770x. Whit these proper start values RTC driver (drivers/rtc/rtc-sh.c) works. Signed-off-by: Rafael Ignacio Zurita Signed-off-by: Paul Mundt commit 1de83e94e6d4af22614c100b0c69716ab6eaa870 Author: Roel Kluin <12o3l@tiscali.nl> Date: Mon Feb 18 14:09:10 2008 +0100 sh: heartbeat: ioremap is expected to succeed ioremap is expected to succeed Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Paul Mundt commit 4377e605e0b004a8d2049eac6cc89fbe1fdcdbb2 Author: Tobias Klauser Date: Sun Feb 17 15:38:35 2008 +0100 sh: Storage class should be before const qualifier The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser Signed-off-by: Paul Mundt commit 24d10f0c37d301e88f6965e3dc0aa684311544e5 Author: Adrian McMenamin Date: Sat Feb 16 23:37:33 2008 +0000 maple: remove unused variable Remove an unused variable from the definition of struct maple_device Signed-off-by: Adrian McMenamin Signed-off-by: Paul Mundt commit 0b442d2c28479332610c46e1a74e5638ab63a97d Author: Steve French Date: Tue Feb 26 03:44:02 2008 +0000 [CIFS] remove unused variable Signed-off-by: Steve French commit 65b07ec29354b345ff93914d064c2467aef4c862 Author: Adrian Bunk Date: Thu Feb 21 08:01:18 2008 -0600 RDMA/nes: Fix off-by-one Fix an off-by-one spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 9300c0c06788a409a97d54bbe3360d2f385fc621 Author: Chien Tung Date: Thu Feb 21 07:51:17 2008 -0600 RDMA/nes: Resurrect error path dead code Adrian Bunk pointed out that a Coverity scan found some apparently dead code in nes_verbs.c that really shouldn't have been dead. The function nes_create_cq() was missing the assignment err = 1; just prior to an iteration that conditionally set err = 0 if a PBL was found for a given virtual CQ. I also noticed we should have been returning -EFAULT on a couple related error paths. Signed-off-by: Chien Tung Signed-off-by: Glenn Streiff Signed-off-by: Roland Dreier commit 82d416fffb5e8e39e899be7075dbeeac5fb8f0c2 Author: Bryan Rosenburg Date: Wed Feb 20 17:31:48 2008 -0600 RDMA/cxgb3: Fix shift calc in build_phys_page_list() for 1-entry page lists A single entry (addr 0x10001000, size 0x2000) will get converted to page address 0x10000000 with a page size of 0x4000. The code as it stands doesn't address the single buffer case, but in fact it allows the subsequent single-buffer special case to be eliminated entirely. Because the mask now includes the (page adjusted) starting and ending addresses, the general case works for the single buffer case as well. Signed-off-by: Bryan Rosenburg Acked-by: Steve Wise Signed-off-by: Roland Dreier commit 72ad6ec48989d4b5477128e739b960be11155036 Author: Jeff Garzik Date: Mon Feb 25 17:31:10 2008 -0500 Revert "power_state: get rid of write-only variable in SATA" This reverts commit 559bbe6cbd0d8c68d40076a5f7dc98e3bf5864b2. Michael S. Tsirkin reports that this changes breaks suspend/resume. Signed-off-by: Jeff Garzik commit c5c61bda5ecceaa0f16d326cd2c2147468a4c443 Author: Adrian Bunk Date: Mon Feb 25 02:07:25 2008 +0200 make atapi_dmadir static atapi_dmadir can now become static. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 1481197b50114d7212d659d41cb97f31a8934883 Author: Dale Farnsworth Date: Mon Feb 25 23:03:02 2008 +0100 Subject: lockdep: include all lock classes in all_lock_classes Add each lock class to the all_lock_classes list when it is first registered. Previously, lock classes were added to all_lock_classes when the lock class was first used. Since one of the uses of the list is to find unused locks, this didn't work well. Signed-off-by: Dale Farnsworth Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit bdb9441e9c325d50b5ae17f7d3205d65b8ed2e5f Author: Peter Zijlstra Date: Mon Feb 25 23:02:48 2008 +0100 lockdep: increase MAX_LOCK_DEPTH Some code paths exceed the current max lock depth (XFS), so increase this limit a bit. I looked at making this a dynamic allocated array, but we should not advocate insane lock depths, so stay with this as long as it works... Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 5606bf5d0cbfbc3dfa78793a3793c43dd045fb1b Author: Akinobu Mita Date: Mon Feb 25 15:37:42 2008 -0500 ext4: add missing ext4_journal_stop() Add missing ext4_journal_stop() in error handling. Signed-off-by: Akinobu Mita Signed-off-by: "Theodore Ts'o" Cc: Stephen Tweedie Cc: adilger@clusterfs.com Cc: Andrew Morton Cc: Mingming Cao commit 75f12983d9949fef67ecc133ef4727d93d42b25a Author: Christoph Hellwig Date: Mon Feb 25 20:25:21 2008 +0000 [CIFS] consolidate duplicate code in posix/unix inode handling Signed-off-by: Christoph Hellwig Signed-off-by: Steve French commit 13d77c37cab2bb906022309e1e7182c327e49916 Author: Hiroshi Shimamoto Date: Wed Feb 20 16:53:29 2008 -0800 latencytop: change /proc task_struct access method Change getting task_struct by get_proc_task() at read or write time, and returns -ESRCH if get_proc_task() returns NULL. This is same behavior as other /proc files. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit d6643d12cb0885d06a1491b16c1476abcbd53d40 Author: Hiroshi Shimamoto Date: Thu Feb 14 10:27:00 2008 -0800 latencytop: fix memory leak on latency proc file At lstats_open(), calling get_proc_task() gets task struct, but it never put. put_task_struct() should be called when releasing. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit ae0027869db7d28563cd783865fab04ffd18419c Author: Hiroshi Shimamoto Date: Thu Feb 14 10:26:24 2008 -0800 latencytop: fix kernel panic while reading latency proc file Reading /proc//latency or /proc//task//latency could cause NULL pointer dereference. In lstats_open(), get_proc_task() can return NULL, in which case the kernel will oops at lstats_show_proc() because m->private is NULL. When get_proc_task() returns NULL, the kernel should return -ENOENT. This can be reproduced by the following script. while : do date bash -c 'ls > ls.$$' & pid=$! cat /proc/$pid/latency & cat /proc/$pid/latency & cat /proc/$pid/latency & cat /proc/$pid/latency done Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar commit 2d07b255c7b8a9723010e5c74778e058dc05162e Author: Harvey Harrison Date: Fri Feb 15 09:56:34 2008 -0800 sched: add declaration of sched_tail to sched.h Avoids sparse warnings: kernel/sched.c:2170:17: warning: symbol 'schedule_tail' was not declared. Should it be static? Avoids the need for an external declaration in arch/um/process.c Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 67ca7bde2e9d3516b5ae0188330ad1059ac03f38 Author: Harvey Harrison Date: Fri Feb 15 09:56:36 2008 -0800 sched: fix signedness warnings in sched.c Unsigned long values are always assigned to switch_count, make it unsigned long. kernel/sched.c:3897:15: warning: incorrect type in assignment (different signedness) kernel/sched.c:3897:15: expected long *switch_count kernel/sched.c:3897:15: got unsigned long * kernel/sched.c:3921:16: warning: incorrect type in assignment (different signedness) kernel/sched.c:3921:16: expected long *switch_count kernel/sched.c:3921:16: got unsigned long * Signed-off-by: Harvey Harrison Signed-off-by: Ingo Molnar commit 7eee3e677d6e2e9007afcd7d79b0715525aa552e Author: Ingo Molnar Date: Fri Feb 22 10:32:21 2008 +0100 sched: clean up __pick_last_entity() a bit Signed-off-by: Ingo Molnar commit 70eee74b70c1a8485ec5f2bafa13dbc66fab6e02 Author: Balbir Singh Date: Fri Feb 22 13:25:53 2008 +0530 sched: remove duplicate code from sched_fair.c pick_task_entity() duplicates existing code. This functionality can be easily obtained using rb_last(). Avoid code duplication by using rb_last(). Signed-off-by: Balbir Singh Signed-off-by: Ingo Molnar commit 6892b75e60557a48c01d57ba320419a9e2ce9846 Author: Ingo Molnar Date: Wed Feb 13 14:02:36 2008 +0100 sched: make early bootup sched_clock() use safer do not call sched_clock() too early. Not only might rq->idle not be set up - but pure per-cpu data might not be accessible either. this solves an ia64 early bootup hang with CONFIG_PRINTK_TIME=y. Tested-by: Tony Luck Acked-by: Tony Luck Acked-by: David S. Miller Signed-off-by: Ingo Molnar commit 8ef97dd7a8721882732ea8041fc07c80be3882ba Author: Paul Mundt Date: Thu Feb 14 15:30:54 2008 +0900 sh: SH5-103 needs to select CPU_SH5. Without this, it's possible to have CONFIG_SUPERH32=y set on SH5-103 parts, which leads to much build badness. Signed-off-by: Paul Mundt commit cc645a020510cf68332a71394a32c1eacb92c6ed Author: Paul Mundt Date: Thu Feb 14 15:09:27 2008 +0900 sh: Rename SH-3 CCR3 reg to avoid synclink_cs clash. drivers/char/pcmcia/synclink_cs.c:284:1: warning: "CCR3" redefined In file included from include/asm/cache.h:13, from include/asm/processor_32.h:15, from include/asm/processor.h:60, from include/linux/prefetch.h:14, from include/linux/list.h:8, from include/linux/module.h:9, from drivers/char/pcmcia/synclink_cs.c:38: include/asm/cpu/cache.h:38:1: warning: this is the location of the previous definition Signed-off-by: Paul Mundt commit 56f5de8fe7c127f6fb94b7a061d53090fd4a1c49 Author: Sonic Zhang Date: Mon Feb 25 15:19:09 2008 +0800 Blackfin Serial Driver: Fix bug - update tx dma buffer tail before wake up processes. Also make rx dma buffer work as a loop. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 0711d857605ba598cd6d4254462d1419b233321b Author: Sonic Zhang Date: Mon Feb 25 15:16:50 2008 +0800 Blackfin Serial Driver: Fix bug - Increase buffer tail immediately before starting tx dma. http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2920 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 896aef430e5afb56b5f7b1d959226b8a6a08108a Author: Sam Ravnborg Date: Sun Feb 24 19:49:52 2008 -0800 [SPARC64]: Fix section mismatch from kernel_map_range Fix following warnings: WARNING: vmlinux.o(.text+0x4f980): Section mismatch in reference from the function kernel_map_range() to the function .init.text:__alloc_bootmem() WARNING: vmlinux.o(.text+0x4f9cc): Section mismatch in reference from the function kernel_map_range() to the function .init.text:__alloc_bootmem() alloc_bootmem() is only used during early init and for any subsequent call to kernel_map_range() the program logic avoid the call. So annotate kernel_map_range() with __ref to tell modpost to ignore the reference to a __init function. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 7769bd1c65e3dc22391d60420fea0c859e39b716 Author: Sam Ravnborg Date: Sun Feb 24 19:47:51 2008 -0800 [SPARC64]: Fix section mismatchs from dr_cpu_data Fix following warnings: WARNING: vmlinux.o(.text+0x4b258): Section mismatch in reference from the function dr_cpu_data() to the function .devinit.text:mdesc_fill_in_cpu_data() WARNING: vmlinux.o(.text+0x4b290): Section mismatch in reference from the function dr_cpu_data() to the function .cpuinit.text:cpu_up() mdesc_fill_in_cpu_data() is only used during early init and for cpu hotplug so the __cpuinit annotation is the correct choice. We have the call chain: dr_cpu_data() => dr_cpu_configure() => mdesc_fill_in_cpu_data() dr_cpu_data() is used only during early init and for cpu hotplug. So annotating them all __cpuinit solves the section mismatch and should be correct. Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit b80a71860d0cfaaa9aa0722238cf3b69bb859eee Author: David S. Miller Date: Sun Feb 24 18:45:09 2008 -0800 [SPARC]: Fix build in arch/sparc/kernel/led.c CC [M] arch/sparc/kernel/led.o arch/sparc/kernel/led.c: In function 'led_blink': arch/sparc/kernel/led.c:35: error: invalid use of undefined type 'struct timer_list' arch/sparc/kernel/led.c:35: error: 'jiffies' undeclared (first use in this function) arch/sparc/kernel/led.c:35: error: (Each undeclared identifier is reported only once arch/sparc/kernel/led.c:35: error: for each function it appears in.) arch/sparc/kernel/led.c:36: error: 'avenrun' undeclared (first use in this function) arch/sparc/kernel/led.c:36: error: 'FSHIFT' undeclared (first use in this function) arch/sparc/kernel/led.c:36: error: 'HZ' undeclared (first use in this function) arch/sparc/kernel/led.c:37: error: invalid use of undefined type 'struct timer_list' arch/sparc/kernel/led.c:39: error: invalid use of undefined type 'struct timer_list' arch/sparc/kernel/led.c:40: error: invalid use of undefined type 'struct timer_list' arch/sparc/kernel/led.c:42: error: implicit declaration of function 'add_timer' arch/sparc/kernel/led.c: In function 'led_write_proc': arch/sparc/kernel/led.c:70: error: implicit declaration of function 'copy_from_user' arch/sparc/kernel/led.c:84: error: implicit declaration of function 'del_timer_sync' arch/sparc/kernel/led.c: In function 'led_init': arch/sparc/kernel/led.c:109: error: implicit declaration of function 'init_timer' arch/sparc/kernel/led.c:110: error: invalid use of undefined type 'struct timer_list' make[1]: *** [arch/sparc/kernel/led.o] Error 1 Based upon original patch by Robert Reif. Signed-off-by: David S. Miller commit 5f2f40a92e007ec5b503db20f3f70cb331c64f65 Author: Harvey Harrison Date: Sun Feb 24 18:38:31 2008 -0800 tipc: fix integer as NULL pointer sparse warnings in tipc net/tipc/cluster.c:145:2: warning: Using plain integer as NULL pointer net/tipc/link.c:3254:36: warning: Using plain integer as NULL pointer net/tipc/ref.c:151:15: warning: Using plain integer as NULL pointer net/tipc/zone.c:85:2: warning: Using plain integer as NULL pointer Signed-off-by: Harvey Harrison Signed-off-by: David S. Miller commit 4187377b2411d43ea4470b35162917a5093857bf Author: Eric Dujardin Date: Sat Feb 23 22:51:28 2008 -0700 [POWERPC] Add export for mpc52xx_set_psc_clkdiv mpc52xx_set_psc_clkdiv is needed by PSC device drivers. Signed-off-by: Eric Dujardin Signed-off-by: Grant Likely commit 3bf319a787a881aa6ad8213b98b93b8de2b6f0e0 Author: Auke Kok Date: Thu Feb 21 15:11:13 2008 -0800 e1000e: remove unused read value in ASPM disable code. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 489815ce224e75c2fcd5ebdfaa740d7f9a4f20d3 Author: Auke Kok Date: Thu Feb 21 15:11:07 2008 -0800 e1000e: fix spelling errors in comments Fix some spelling errors and inconsistencies in comment blocks. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit de92d84ec2305c490aa1db33f6e40680f8c236a8 Author: Jesse Brandeburg Date: Thu Feb 21 15:11:02 2008 -0800 e1000e: fix flow control denial of service possibility this patch avoids a denial of service from an evildoer sending a continuous stream of flow control at our adapter that is plugged into a non-flow control enabled switch. Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 4a5694e66428607585c9f4dd14bcf4158d2de191 Author: Jesse Brandeburg Date: Thu Feb 21 15:10:57 2008 -0800 e1000e: fix flow control when using ethtool overrides Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 03ae221fe9987e22679642b5b687aebbb67bbb47 Author: Jesse Brandeburg Date: Thu Feb 21 15:10:52 2008 -0800 e1000e: fix link up message to show ethX: Signed-off-by: Jesse Brandeburg Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 31f8c4fe5d24376c15e18e2936cfa18cd7e5d917 Author: Auke Kok Date: Thu Feb 21 15:10:47 2008 -0800 e1000e: 82573 can use eerd method to read eeprom This simplifies the 82571/2/3 family initialization a bit and removes an initialization table no longer needed. Signed-off-by: Auke Kok Signed-off-by: Jeff Kirsher Signed-off-by: Jeff Garzik commit ac0b3509f048b34ba1b60f164fd811b7cbdbc27a Author: Auke Kok Date: Thu Feb 21 15:10:41 2008 -0800 ixgb: add RNBC counter - no buffer count - to ethtool stats This counter is valuable to determine if the system is unable to timely return buffers to the hardware and this counter starts to increase well before the hardware starts to drop packets. If users experience rx_no_buffer_count increasing, they should increase the amount of descriptors. That will provide more buffers for the hardware and will decrease the chance of hard drops. Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 179956f498bd8cc55fb803c4ee0cf18be59c8b01 Author: Atsushi Nemoto Date: Thu Feb 21 22:50:54 2008 +0900 macb: Fix speed setting Fix NCFGR.SPD setting on 10Mbps. This bug was introduced by conversion to generic PHY layer in kernel 2.6.23. Signed-off-by: Atsushi Nemoto Signed-off-by: Jeff Garzik commit a84d0a3d6909c871bfa617a45a7517ce9292d4fb Author: Stephen Hemminger Date: Fri Feb 22 16:00:33 2008 -0800 sky2: fix LED management Fix problems in LED management, so ethtool -p works correctly on Yukon-EC and other chips. The driver was incorrectly setting the PHY LED overide bits. Moral: read the spec sheet, not the vendor driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f11cf25ef345a320b152aa68a014c8a65cf4ed44 Author: Laura Garcia Date: Sat Feb 23 18:56:35 2008 +0100 [netdrvr] via-rhine: Use register offset definition for WOLcgClr Use register offset definition for WOLcgClr, rather than a magic number. This patch does not change the driver behaviour. Signed-off-by: Laura Garcia Liebana Signed-off-by: Jeff Garzik commit d1e7fe4d92742dd1aa28ca11512628adc79a904b Author: Adrian Bunk Date: Wed Feb 20 02:13:53 2008 +0200 net/phy/mdio_bus.c: fix a check-after-use This patch fixes a check-after-use spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Jeff Garzik commit 68707acb5b5d4e2b7583cbff0883516afed54d4f Author: Bill Hayes Date: Tue Feb 19 10:24:41 2008 -0800 igb: Fix panic with NICs with 1000BASE-SX PHY This patch eliminates a kernel panic with the igb driver in 2.6.25-rc2 when running on a Intel 82575 Ethernet controller with a 1000BASE-SX PHY. The panic does not happen with the 1000BASE-T PHY, only with a SX connection. Signed-off-by: Bill Hayes Signed-off-by: Andy Gospodarek Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit cf7822983f21617b805712eec46eb31058508d6a Author: Becky Bruce Date: Mon Feb 18 17:24:30 2008 -0600 gianfar: don't pass NULL dev ptr to DMA ops Change all dma op invocations in gianfar.c to actually pass in the device pointer. Currently, the value is ignored, but it will be used going forward as we implement archdata for 32-bit powerpc. Signed-off-by: Becky Bruce Acked-by: Andy Fleming Signed-off-by: Jeff Garzik commit 563e0ae06ff18f0b280f11cf706ba0172255ce52 Author: Francois Romieu Date: Mon Feb 18 21:20:32 2008 +0100 sis190: read the mac address from the eeprom first Reading a serie of zero from the cmos sram area do not work well with is_valid_ether_addr(). Let's read the mac address from the eeprom first as it seems more reliable. Fix for http://bugzilla.kernel.org/show_bug.cgi?id=9831 Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik commit 98e0f521456943801aacc7a4c0efb5b3bb6f89e0 Author: Harvey Harrison Date: Mon Feb 18 10:04:38 2008 -0800 tlan: add static to function definitions The forward declarations were already marked static, make the definitions be static as well. Fixes the sparse warnings as well. drivers/net/tlan.c:1403:5: warning: symbol 'TLan_HandleInvalid' was not declared. Should it be static? drivers/net/tlan.c:1435:5: warning: symbol 'TLan_HandleTxEOF' was not declared. Should it be static? drivers/net/tlan.c:1521:5: warning: symbol 'TLan_HandleStatOverflow' was not declared. Should it be static? drivers/net/tlan.c:1557:5: warning: symbol 'TLan_HandleRxEOF' was not declared. Should it be static? drivers/net/tlan.c:1692:5: warning: symbol 'TLan_HandleDummy' was not declared. Should it be static? drivers/net/tlan.c:1722:5: warning: symbol 'TLan_HandleTxEOC' was not declared. Should it be static? drivers/net/tlan.c:1770:5: warning: symbol 'TLan_HandleStatusCheck' was not declared. Should it be static? drivers/net/tlan.c:1845:5: warning: symbol 'TLan_HandleRxEOC' was not declared. Should it be static? drivers/net/tlan.c:1905:6: warning: symbol 'TLan_Timer' was not declared. Should it be static? drivers/net/tlan.c:1986:6: warning: symbol 'TLan_ResetLists' was not declared. Should it be static? drivers/net/tlan.c:2046:6: warning: symbol 'TLan_FreeLists' was not declared. Should it be static? drivers/net/tlan.c:2095:6: warning: symbol 'TLan_PrintDio' was not declared. Should it be static? drivers/net/tlan.c:2130:6: warning: symbol 'TLan_PrintList' was not declared. Should it be static? drivers/net/tlan.c:2166:6: warning: symbol 'TLan_ReadAndClearStats' was not declared. Should it be static? drivers/net/tlan.c:2242:1: warning: symbol 'TLan_ResetAdapter' was not declared. Should it be static? drivers/net/tlan.c:2328:1: warning: symbol 'TLan_FinishReset' was not declared. Should it be static? drivers/net/tlan.c:2451:6: warning: symbol 'TLan_SetMac' was not declared. Should it be static? drivers/net/tlan.c:2493:6: warning: symbol 'TLan_PhyPrint' was not declared. Should it be static? drivers/net/tlan.c:2542:6: warning: symbol 'TLan_PhyDetect' was not declared. Should it be static? drivers/net/tlan.c:2589:6: warning: symbol 'TLan_PhyPowerDown' was not declared. Should it be static? drivers/net/tlan.c:2614:6: warning: symbol 'TLan_PhyPowerUp' was not declared. Should it be static? drivers/net/tlan.c:2635:6: warning: symbol 'TLan_PhyReset' was not declared. Should it be static? drivers/net/tlan.c:2663:6: warning: symbol 'TLan_PhyStartLink' was not declared. Should it be static? drivers/net/tlan.c:2750:6: warning: symbol 'TLan_PhyFinishAutoNeg' was not declared. Should it be static? drivers/net/tlan.c:2906:5: warning: symbol 'TLan_MiiReadReg' was not declared. Should it be static? drivers/net/tlan.c:2996:6: warning: symbol 'TLan_MiiSendData' was not declared. Should it be static? drivers/net/tlan.c:3038:6: warning: symbol 'TLan_MiiSync' was not declared. Should it be static? drivers/net/tlan.c:3077:6: warning: symbol 'TLan_MiiWriteReg' was not declared. Should it be static? drivers/net/tlan.c:3147:6: warning: symbol 'TLan_EeSendStart' was not declared. Should it be static? drivers/net/tlan.c:3187:5: warning: symbol 'TLan_EeSendByte' was not declared. Should it be static? drivers/net/tlan.c:3248:6: warning: symbol 'TLan_EeReceiveByte' was not declared. Should it be static? drivers/net/tlan.c:3306:5: warning: symbol 'TLan_EeReadByte' was not declared. Should it be static? Signed-off-by: Harvey Harrison Signed-off-by: Jeff Garzik commit f5154fbf4902744cdd2bb7548487ceaac9840fd2 Author: Julia Lawall Date: Mon Feb 18 14:41:55 2008 +0100 claw: make use of DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit 61da96be07ec860e260ca4af0199b9d48d000b80 Author: Komuro Date: Mon Feb 18 22:06:19 2008 +0900 pcnet_cs: if AX88190-based card, printk "use axnet_cs instead" message. * If ConfigBase is 0x03c0 && manfid is (0x0149,0xc1ab), printk "use axnet_cs instead" message. Actually, most of the card with manfid(0x0149, 0xc1ab) use pcnet_cs driver. * remove entry (0x021b, 0x0202) Signed-off-by: Komuro Signed-off-by: Jeff Garzik commit a80763c9090fe03a1af98f0106b2aaa4ad6502f9 Author: Leonardo Potenza Date: Sun Feb 17 18:23:15 2008 +0100 drivers/net/cs89x0.c: compilation warning fix Suppress the warning message about the 'netcard_portlist' defined but not used. Signed-off-by: Leonardo Potenza Signed-off-by: Jeff Garzik commit d9d5dcc88ca5c72237e2d09d23a13a9b9d1e7445 Author: Christian Borntraeger Date: Mon Feb 18 10:02:51 2008 +0100 virtio_net: Fix oops on early interrupts - introduced by virtio reset code Signed-off-by: Jeff Garzik commit 7a7d23dac29825a75e375800573d53e49d864a42 Author: Grant Grundler Date: Sun Feb 17 11:30:23 2008 -0700 uli526x partially recognizing interface Patch fixes: http://bugzilla.kernel.org/show_bug.cgi?id=5839 Init sequence needs to poll phy until phy reset is complete. This is the same problem that I fixed in 2002 in tulip driver. Thanks to manty@manty.net for testing this patch. Thanks to Pozsar Balazs for posting/testing a similar patch before: http://lkml.org/lkml/2006/8/21/45 Signed-off-by: Grant Grundler Signed-off-by: Jeff Garzik commit 740db6d7f5bf194abf327613a5a500e3729fc19a Author: Grant Grundler Date: Sun Feb 17 11:53:49 2008 -0700 update TULIP MAINTAINERS Kyle and I are co-maintaining tulip driver. Normally kyle will review my patchs and submit them. I'll deal with bugzilla.kernel.org bugs and try to resolve those bugs. Signed-off-by: Grant Grundler Signed-off-by: Jeff Garzik commit 6cb5e57701d355737f0bc9f94c0f80ed69a95b62 Author: Andy Gospodarek Date: Fri Feb 15 14:05:25 2008 -0800 igb: fix legacy mode irq issue I booted an igb kernel with the option pci=nomsi and instantly noticed that interrupts no longer worked on my igb device. I took a look at the interrupt initialization and quickly discovered a comment stating: "DO NOT USE EIAME or IAME in legacy mode" It seemed a bit odd that bits to enable IAM were being set in legacy interrupt mode, so I dropped out the following parts and interrupts began working fine again. [Updated code flow and a nitpick spelling error --Auke] Signed-off-by: Andy Gospodarek Signed-off-by: Auke Kok Signed-off-by: Jeff Garzik commit 5bd3670f31f1c58f500e55c4cdbc243fb4b2e3df Author: Scott Wood Date: Fri Feb 15 15:08:04 2008 -0600 fs_enet: Don't call phy_mii_ioctl() in atomic context. The lock acquisition in fs_ioctl() does not appear to actually be necessary, and thus is simply removed. Signed-off-by: Scott Wood Signed-off-by: Jeff Garzik commit 21eee2dd1b5702f15924f18f923b2a281f0e72e8 Author: Thomas Klein Date: Wed Feb 13 16:18:33 2008 +0100 ehea: add kdump support This patch adds kdump support to the ehea driver. As the firmware doesn't free resource handles automatically, the driver has to run an as simple as possible free resource function in case of a crash shutdown. The function iterates over two arrays freeing all resource handles which are stored there. The arrays are kept up-to-date during normal runtime. The crash handler fn is triggered by the recently introduced PPC crash shutdown reg/unreg functions. Signed-off-by: Thomas Klein Signed-off-by: Jeff Garzik commit ffad0a44b7216d0f079dcf95a351082099d1e5fb Author: Aneesh Kumar K.V Date: Sat Feb 23 01:38:34 2008 -0500 ext4: ext4_find_next_zero_bit needs an aligned address on some arch ext4_find_next_zero_bit and ext4_find_next_bit needs a long aligned address on x8_64. Add mb_find_next_zero_bit and mb_find_next_bit and use them in the mballoc. Fix: https://bugzilla.redhat.com/show_bug.cgi?id=433286 Eric Sandeen debugged the problem and suggested the fix. Signed-off-by: Aneesh Kumar K.V Acked-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 42bf0383d1e09dd1b38f3debb13a76b2f87634b3 Author: Aneesh Kumar K.V Date: Mon Feb 25 16:38:03 2008 -0500 ext4: set EXT4_EXTENTS_FL only for directory and regular files In addition, don't inherit EXT4_EXTENTS_FL from parent directory. If we have a directory with extent flag set and later mount the file system with -o noextents, the files created in that directory will also have extent flag set but we would not have called ext4_ext_tree_init for them. This will cause error later when we are verifying the extent header Signed-off-by: Aneesh Kumar K.V Acked-off-by: Eric Sandeen Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 2c98615d3b64ce7888cd46cc668023f456daf287 Author: Aneesh Kumar K.V Date: Mon Feb 25 15:41:35 2008 -0500 ext4: Don't mark filesystem error if fallocate fails If we fail to allocate blocks don't call ext4_error. Also don't hide errors from ext4_get_blocks_wrap Signed-off-by: Aneesh Kumar K.V Signed-off-by: "Theodore Ts'o" commit f5ab0d1f8f7df937778c60c3da6f4ef939a54a7b Author: Mingming Cao Date: Mon Feb 25 15:29:55 2008 -0500 ext4: Fix BUG when writing to an unitialized extent This patch fixes a bug when writing to preallocated but uninitialized blocks, which resulted in a BUG in fs/buffer.c saying that the buffer is not mapped. When writing to a file, ext4_get_block_wrap() is called with create=1 in order to request that blocks be allocated if necessary. It currently calls ext4_get_blocks() with create=0 in order to do a lookup first. If the inode contains an unitialized data block, the buffer head is left unampped, which ext4_get_blocks_wrap() returns, causing the BUG. We fix this by checking to see if the buffer head is unmapped, and if so, we make sure the the buffer head is mapped by calling ext4_ext_get_blocks with create=1. Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 6e5e93424dc66542c548dfaa3bfebe30d46d50dd Author: Lachlan McIlroy Date: Fri Feb 22 15:36:19 2008 +1100 Remove empty file fs/xfs/Makefile-linux-2.6. commit fae603121428ba83b7343c88e68a7144525ab3eb Author: Stefan Richter Date: Wed Feb 20 21:10:06 2008 +0100 firewire: fix NULL pointer deref. and resource leak By supplying ioctl()s in the wrong order, a userspace client was able to trigger NULL pointer dereferences. Furthermore, by calling ioctl_create_iso_context more than once, new contexts could be created without ever freeing the previously created contexts. Thanks to Anders Blomdell for the report. Signed-off-by: Stefan Richter commit 09d7328e62e3b4cefe4bf3eeeeacb54f62a7ae5c Author: Stefan Richter Date: Mon Feb 18 21:38:35 2008 +0100 Documentation: correction to debugging-via-ohci1394 Rectify a factoid about firewire-ohci. Acked-by: Ingo Molnar Also fix a typo spotted by Bernhard Kaindl. Signed-off-by: Stefan Richter commit ef774c16a744f130f27c654bf9c4806e767fc773 Author: Stefan Richter Date: Sun Feb 17 14:57:10 2008 +0100 ieee1394: sbp2: fix rescan-scsi-bus rescan-scsi-bus used to add SBP-2 targets which weren't there. Signed-off-by: Stefan Richter commit 33f1c6c3529f5f279e2e98e5cca0c5bac152153b Author: Stefan Richter Date: Tue Feb 19 09:05:49 2008 +0100 firewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device Fix a kernel bug when unplugging an SBP-2 device after having its scsi_device already removed via the "delete" sysfs attribute. Signed-off-by: Stefan Richter commit 5513c5f6f9bd8c8ad3727130910fa288c62526a7 Author: Stefan Richter Date: Sun Feb 17 14:56:19 2008 +0100 firewire: fw-sbp2: fix NULL pointer deref. in slave_alloc Fix a kernel bug when running rescan-scsi-bus while a FireWire disk is connected: http://bugzilla.kernel.org/show_bug.cgi?id=10008 Signed-off-by: Stefan Richter commit 2e2705bdcb959372d54bf7f79dd9a555ec2adfb4 Author: Stefan Richter Date: Sat Feb 16 16:37:28 2008 +0100 firewire: fw-sbp2: (try to) avoid I/O errors during reconnect While fw-sbp2 takes the necessary time to reconnect to a logical unit after bus reset, the SCSI core keeps sending new commands. They are all immediately completed with host busy status, and application clients or filesystems will break quickly. The SCSI device might even be taken offline: http://bugzilla.kernel.org/show_bug.cgi?id=9734 The only remedy seems to be to block the SCSI device until reconnect. Alas the SCSI core has no useful API to block only one logical unit i.e. the scsi_device, therefore we block the entire Scsi_Host. This currently corresponds to an SBP-2 target. In case of targets with multiple logical units, we need to satisfy the dependencies between logical units by carefully tracking the blocking state of the target and its units. We block all logical units of a target as soon as one of them needs to be blocked, and keep them blocked until all of them are ready to be unblocked. Furthermore, as the history of the old sbp2 driver has shown, the scsi_block_requests() API is a minefield with high potential of deadlocks. We therefore take extra measures to keep logical units unblocked during __scsi_add_device() and during shutdown. This avoids I/O errors during reconnect in many but alas not in all cases. There may still be errors after a re-login had to be performed. Also, some bridges have been seen to cease fetching management ORBs if I/O went on up until a bus reset. In these cases, all management ORBs time out after mgt_orb_timeout. The old sbp2 driver is less vulnerable or maybe not vulnerable to this, for as yet unknown reasons. Signed-off-by: Stefan Richter commit e086fcea861f82f2086a97e401a15e1ba07e8566 Author: Steve French Date: Mon Feb 18 04:03:58 2008 +0000 [CIFS] fix build break when proc disabled Signed-off-by: Steve French commit e80de3704ac30ddb7f9a12447a2ecee32ccd7880 Author: Stefan Richter Date: Fri Feb 15 21:29:02 2008 +0100 firewire: fw-sbp2: enforce a retry of __scsi_add_device if bus generation changed fw-sbp2 is unable to reconnect while performing __scsi_add_device because there is only a single workqueue thread context available for both at the moment. This should be fixed eventually. An actual failure of __scsi_add_device is easy to handle, but an incomplete execution of __scsi_add_device with an sdev returned would remain undetected and leave the SBP-2 target unusable. Therefore we use a workaround: If there was a bus reset during __scsi_add_device (i.e. during the SCSI probe), we remove the new sdev immediately, log out, and attempt login and SCSI probe again. Tested-by: Jarod Wilson (earlier version) Signed-off-by: Stefan Richter commit 7bb6bf7c8ba0b4ccfecaa00d6faea51b0bd42c8c Author: Stefan Richter Date: Sun Feb 3 23:12:17 2008 +0100 firewire: fw-sbp2: sort includes Signed-off-by: Stefan Richter commit ce896d95cc7886ae05859c5b409a7b2f3b606ec1 Author: Stefan Richter Date: Sun Feb 3 23:11:39 2008 +0100 firewire: fw-sbp2: logout and login after failed reconnect If fw-sbp2 was too late with requesting the reconnect, the target would reject this. In this case, log out before attempting the reconnect. Else several firmwares will deny the re-login because they somehow didn't invalidate the old login. Also, don't retry reconnects in this situation. The retries won't succeed either. These changes improve chances for successful re-login and shorten the period during which the logical unit is inaccessible. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 0fa6dfdb0a2768541e998a5dab10b368de56c60a Author: Stefan Richter Date: Sun Feb 3 23:10:47 2008 +0100 firewire: fw-sbp2: don't add scsi_device twice When a reconnect failed but re-login succeeded, __scsi_add_device was called again. In those cases, __scsi_add_device succeeded and returned the pointer to the existing scsi_device. fw-sbp2 then continued orderly, except that it missed to call sbp2_cancel_orbs. SCSI core would call fw-sbp2's eh_abort_handler eventually if there had been an outstanding command. This patch avoids the needless lookups and temporary allocations in SCSI core and I/O stall and timeout until eh_abort_handler hits. Also, __scsi_add_device tolerating calls for devices which already exist is undocumented behavior on which we shouldn't rely. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 48f18c761c001a66ef1928b42799c717368b1d64 Author: Stefan Richter Date: Sun Feb 3 23:09:50 2008 +0100 firewire: fw-sbp2: log bus_id at management request failures for easier readable logs if more than one SBP-2 device is present. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit e0e60215552d4d40caf581a8d3247203fe948fe7 Author: Stefan Richter Date: Sun Feb 3 23:08:58 2008 +0100 firewire: fw-sbp2: wait for completion of fetch agent reset Like the old sbp2 driver, wait for the write transaction to the AGENT_RESET to complete before proceeding (after login, after reconnect, or in SCSI error handling). There is one occasion where AGENT_RESET is written to from atomic context when getting DEAD status for a command ORB. There we still continue without waiting for the transaction to complete because this is more difficult to fix... Signed-off-by: Stefan Richter commit d94a983526cb868658c958ab689410dc1c6a31f3 Author: Stefan Richter Date: Sun Feb 3 23:07:44 2008 +0100 ieee1394: sbp2: add INQUIRY delay workaround Add the same workaround as found in fw-sbp2 for feature parity and compatibility of the workarounds module parameter. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 9220f1946209a5b3335ea2d28f8462695885791b Author: Stefan Richter Date: Sun Feb 3 23:04:38 2008 +0100 firewire: fw-sbp2: add INQUIRY delay workaround Several different SBP-2 bridges accept a login early while the IDE device is still powering up. They are therefore unable to respond to SCSI INQUIRY immediately, and the SCSI core has to retry the INQUIRY. One of these retries is typically successful, and all is well. But in case of Momobay FX-3A, the INQUIRY retries tend to fail entirely. This can usually be avoided by waiting a little while after login before letting the SCSI core send the INQUIRY. The old sbp2 driver handles this more gracefully for as yet unknown reasons (perhaps because it waits for fetch agent resets to complete, unlike fw-sbp2 which quickly proceeds after requesting the agent reset). Therefore the workaround is not as much necessary for sbp2. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit fa6e697b85d705d37b3b03829095c22bcbe95ab6 Author: Stefan Richter Date: Sun Feb 3 23:03:00 2008 +0100 firewire: log GUID of new devices This should help to interpret user reports. E.g. one can look up the vendor OUI (first three bytes of the GUID) and thus tell what is what. Also simplifies the math in the GUID sysfs attribute. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit be6f48b0174584c9c415012ca14803c7e941e27e Author: Stefan Richter Date: Sun Jan 27 19:14:44 2008 +0100 firewire: fw-sbp2: don't retry login or reconnect after unplug If a device is being unplugged while fw-sbp2 had a login or reconnect on schedule, it would take about half a minute to shut the fw_unit down: Jan 27 18:34:54 stein firewire_sbp2: logged in to fw2.0 LUN 0000 (0 retries) Jan 27 18:34:59 stein firewire_sbp2: sbp2_scsi_abort Jan 27 18:34:59 stein scsi 25:0:0:0: Device offlined - not ready after error recovery Jan 27 18:35:01 stein firewire_sbp2: orb reply timed out, rcode=0x11 Jan 27 18:35:06 stein firewire_sbp2: orb reply timed out, rcode=0x11 Jan 27 18:35:12 stein firewire_sbp2: orb reply timed out, rcode=0x11 Jan 27 18:35:17 stein firewire_sbp2: orb reply timed out, rcode=0x11 Jan 27 18:35:22 stein firewire_sbp2: orb reply timed out, rcode=0x11 Jan 27 18:35:27 stein firewire_sbp2: orb reply timed out, rcode=0x11 Jan 27 18:35:32 stein firewire_sbp2: orb reply timed out, rcode=0x11 Jan 27 18:35:32 stein firewire_sbp2: failed to login to fw2.0 LUN 0000 Jan 27 18:35:32 stein firewire_sbp2: released fw2.0 After this patch, typically only a few seconds spent in __scsi_add_device remain: Jan 27 19:05:50 stein firewire_sbp2: logged in to fw2.0 LUN 0000 (0 retries) Jan 27 19:05:56 stein firewire_sbp2: sbp2_scsi_abort Jan 27 19:05:56 stein scsi 33:0:0:0: Device offlined - not ready after error recovery Jan 27 19:05:56 stein firewire_sbp2: released fw2.0 The benefit of this is less noise in the syslog. It furthermore avoids a few wasted CPU cycles and needlessly prolonged lifetime of a few driver objects. Signed-off-by: Stefan Richter Signed-off-by: Jarod Wilson commit 96b19062e741b715cf399312c30e0672d8889569 Author: Stefan Richter Date: Sat Feb 2 15:01:09 2008 +0100 firewire: fix "kobject_add failed for fw* with -EEXIST" There is a race between shutdown and creation of devices: fw-core may attempt to add a device with the same name of an already existing device. http://bugzilla.kernel.org/show_bug.cgi?id=9828 Impact of the bug: Happens rarely (when shutdown of a device coincides with creation of another), forces the user to unplug and replug the new device to get it working. The fix is obvious: Free the minor number *after* instead of *before* device_unregister(). This requires to take an additional reference of the fw_device as long as the IDR tree points to it. And while we are at it, we fix an additional race condition: fw_device_op_open() took its reference of the fw_device a little bit too late, hence was in danger to access an already invalid fw_device. Signed-off-by: Stefan Richter commit 1b9c12ba2fdf802a23630f70eddb0e821296634e Author: Stefan Richter Date: Sat Jan 26 17:43:23 2008 +0100 firewire: fw-sbp2: fix logout before login retry This fixes a "can't recognize device" kind of bug. If the SCSI INQUIRY failed and hence __scsi_add_device failed due to a bus reset, we tried a logout and then waited for the already scheduled login work to happen. So far so good, but the generation used for the logout was outdated, hence the logout never reached the target. The target might therefore deny the subsequent relogin attempt, which would also leave the target inaccessible. Therefore fetch a fresh device->generation for the logout. Use memory barriers to prevent our plan being foiled by compiler or hardware optimizations. Signed-off-by: Stefan Richter commit 05cca7381429e12d66c5b5c8b5c5848055b88bf7 Author: Stefan Richter Date: Sat Jan 26 17:42:45 2008 +0100 firewire: fw-sbp2: unsigned int vs. unsigned Standardize on "unsigned int" style. Sort some struct members thematically. Signed-off-by: Stefan Richter commit 70eff55d2d979cca700aa6906494f0c474f3f7ff Author: Christoph Hellwig Date: Fri Feb 15 20:55:05 2008 +0000 [CIFS] factoring out common code in get_inode_info functions Signed-off-by: Christoph Hellwig Signed-off-by: Steve French commit 825f1481ead4ce40671089bae7412ac3519e8caa Author: Theodore Ts'o Date: Fri Feb 15 15:00:38 2008 -0500 ext4: Don't use ext4_dec_count() if not needed The ext4_dec_count() function is only needed when dropping the i_nlink count on inodes which are (or which could be) directories. If we *know* that the inode in question can't possibly be a directory, use drop_nlink or clear_nlink() if we know i_nlink is 1. Signed-off-by: "Theodore Ts'o" commit c2d68ea65b0f668783c88e1f4f22738b24f3edea Author: Steve French Date: Fri Feb 15 19:20:18 2008 +0000 [CIFS] fix prepath conversion when server supports posix paths Jeff Layton that we were converting \ to / in the posix path case which is not always right (depends on what the old delim was). CC: Jeff Layton Signed-off-by: Steve French commit 11b6d6450c10066e83e19f6ff57d55678c3e9f13 Author: Igor Mammedov Date: Fri Feb 15 19:06:04 2008 +0000 [CIFS] Only convert / when server does not support posix paths Also add warning if posix path setting changes on reconnect Signed-off-by: Steve French commit 74d3487fc8aa58cec16dff7239dea1ca59bdab0e Author: Valerie Clement Date: Fri Feb 15 13:43:07 2008 -0500 ext4: modify block allocation algorithm for the last group When a directory inode is allocated in the last group and the last group contains less than s_blocks_per_group blocks, the initial block allocated for the directory is not always allocated in the same group as the directory inode, but in one of the first groups of the filesystem (group 1 for example). Depending on the current process's pid, ext4_find_near() and ext4_ext_find_goal() can return a block number greater than the maximum blocks count in the filesystem and in that case the block will be not allocated in the same group as the inode. The following patch fixes the problem. Should the modification also be done in ext2/3 code? Signed-off-by: Valerie Clement Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit e56eb6590693a5a340e8f596db2768a6e1b9e236 Author: Aneesh Kumar K.V Date: Fri Feb 15 13:48:21 2008 -0500 ext4: Don't claim block from group which has corrupt bitmap In ext4_mb_complex_scan_group, if the extent length of the newly found extentet is greater than than the total free blocks counted in group info, break without claiming the block. Document different ext4_error usage, explaining the state with which we continue if we mount with errors=continue Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 9df5643ad135c7f8c02d3b69020de4ec910f9fc0 Author: Aneesh Kumar K.V Date: Fri Feb 22 06:17:31 2008 -0500 ext4: Get journal write access before modifying the extent tree When the user was writing into an unitialized extent, ext4_ext_convert_to_initialize() was not requesting journal write access before it started to modify the extent tree. Fix this oversight. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit b35905c16ad6428551eb9e49525011bd2700cf56 Author: Aneesh Kumar K.V Date: Mon Feb 25 16:54:37 2008 -0500 ext4: Fix memory and buffer head leak in callers to ext4_ext_find_extent() The path variable returned via ext4_ext_find_extent is a kmalloc variable and needs to be freeded. It also contains a reference to buffer_head which needs to be dropped. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 4cdeed861b5f797b3fa661eb331a6bd6ad669c6a Author: Aneesh Kumar K.V Date: Fri Feb 22 06:17:31 2008 -0500 ext4: Don't leave behind a half-created inode if ext4_mkdir() fails If ext4_mkdir() fails to allocate the initial block for the directory, don't leave behind a half-created directory inode with the link count left at one. This was caused by an inappropriate call to ext4_dec_count(). Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit b73fce69ecb091a178ef9286027c370a63eb25aa Author: Valerie Clement Date: Fri Feb 15 13:48:51 2008 -0500 ext4: Fix kernel BUG at fs/ext4/mballoc.c:910! With the flex_bg feature enabled, a large file creation oopses the kernel. The BUG_ON is: BUG_ON(len >= EXT4_BLOCKS_PER_GROUP(sb)); As the allocation of the bitmaps and the inode table can be done outside the block group with flex_bg, this allows to allocate up to EXT4_BLOCKS_PER_GROUP blocks in a group. This patch fixes the oops. Signed-off-by: Valerie Clement Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 8aad018b6c1a0257b37cdf7c90cdbee2353150fd Author: Igor Mammedov Date: Fri Feb 15 18:21:49 2008 +0000 [CIFS] Fix mixed case name in structure dfs_info3_param Signed-off-by: Igor Mammedov Signed-off-by: Steve French commit 55bd725aa3a83b3935988f37275b5a80e10d4169 Author: Aneesh Kumar K.V Date: Fri Feb 15 12:47:21 2008 -0500 ext4: Fix locking hierarchy violation in ext4_fallocate() ext4_fallocate() was trying to acquire i_data_sem outside of jbd2_start_transaction/jbd2_journal_stop, which violates ext4's locking hierarchy. So we take i_mutex to prevent writes and truncates during the complete fallocate operation, and use ext4_get_block_wrap() which acquires and releases i_data_sem for each block allocation. Signed-off-by: Aneesh Kumar K.V Signed-off-by: Mingming Cao Signed-off-by: "Theodore Ts'o" commit 642be6ec218b956fbae88304449720f76ba0d578 Author: Andi Kleen Date: Mon Feb 25 17:20:46 2008 -0500 Remove incorrect BKL comments in ext4 Signed-off-by: Andi Kleen Signed-off-by: "Theodore Ts'o" commit d45ad06273f797f6239b97fd9962ecd81eec847f Author: Haavard Skinnemoen Date: Fri Feb 15 14:38:40 2008 +0100 avr32: Call tick_nohz_{stop,restart}_sched_tick() in idle loop This fixes a hang on boot with nohz enabled. nohz is not actually supported in mainline yet, but patches that add support for it are currently under review. When nohz is compiled out, the functions are no-ops, so this patch results in no functional change, but it arguably makes the code more correct. Signed-off-by: Haavard Skinnemoen commit 03a143c909b808759f188a45c75acb8f043cb209 Author: Steve French Date: Thu Feb 14 06:38:30 2008 +0000 [CIFS] fixup prefixpaths which contain multiple path components Currently, when we get a prefixpath as part of mount, the kernel only changes the first character to be a '/' or '\' depending on whether posix extensions are enabled. This is problematic as it expects mount.cifs to pass in the correct delimiter in the rest of the prefixpath. But, mount.cifs may not know *what* the correct delimiter is. It's a chicken and egg problem. Note that mount.cifs should not do conversion of the prefixpath - if we want posix behavior then '\' is legal in a path (and we have had bugs in the distant path to prove to me that customers sometimes have apps that require '\'). The kernel code assumes that the path passed in is posix (and current code will handle the first path component fine but was broken for Windows mounts for "deep" prefixpaths unless the user specified a prefixpath with '\' deep in it. So e.g. with current kernel code: 1) mount to //server/share/dir1 will work to all server types 2) mount to //server/share/dir1/subdir1 will work to Samba 3) mount to //server/share/dir1\\subdir1 will work to Windows But case two would fail to Windows without the fix. With the kernel cifs module fix case two now works. First analyzed by Jeff Layton and Simo Sorce CC: Jeff Layton CC: Simo Sorce Signed-off-by: Steve French commit f059267e7fa9e3efa1498eb963ba18ec25665c42 Author: Haavard Skinnemoen Date: Wed Feb 13 14:29:30 2008 +0100 avr32: Use correct config symbol in atstk1004 board code CONFIG_BOARD_ATSTK1002_SW2_CUSTOM should be CONFIG_BOARD_ATSTK100X_SW2_CUSTOM. Spotted by Robert P. J. Day. Signed-off-by: Haavard Skinnemoen commit 32019828d9012e584017a824f84798248c0060dd Author: Haavard Skinnemoen Date: Wed Feb 13 12:32:34 2008 +0100 avr32: Fix broken pte dump code in do_page_fault() The per-task page tables only cover the first 2GiB of the address space. For kernel addresses, we need to do the lookup in init's page tables. This is a temporary workaround until we modify the per-task page tables to cover the whole 4GiB address space. Signed-off-by: Haavard Skinnemoen commit e48a411fa097c386c6081f4ed5a952aa3e21ca2b Author: Haavard Skinnemoen Date: Mon Feb 11 16:55:19 2008 +0100 AVR32: Define PAGE_SHARED The virtual framebuffer driver needs PAGE_SHARED, which is not defined on avr32. Define it. Reported-by: Oliver Zander Signed-off-by: Haavard Skinnemoen commit c1ce264470f000ccd5965d3718f7d905d559fd64 Author: Steve French Date: Wed Feb 13 02:59:36 2008 +0000 [CIFS] fix typo Signed-off-by: Steve French commit d9f382eff6fbabcd09dad4558d1797c267e9746e Author: Shirish Pargaonkar Date: Tue Feb 12 20:46:26 2008 +0000 [CIFS] patch to fix incorrect encoding of number of aces on set mode This patch fixes an error in the experimental cifs acl code. During chmod, set security descriptor data (num aces) is not sent with little-endian encoding. Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French commit 6f7e8f376360c789cf84a0321960dcef8bf92aff Author: Roel Kluin <12o3l@tiscali.nl> Date: Tue Feb 12 20:38:10 2008 +0000 [CIFS] Fix typo in quota operations Although these experimental operations are not fully implemented, fix the typo in the definition of the quotactl operations for cifs. Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Steve French commit 90c81e0b0eda214196cbe4340facbce8cc797ee7 Author: Steve French Date: Tue Feb 12 20:32:36 2008 +0000 [CIFS] clean up some hard to read ifdefs Christoph had noticed too many ifdefs in the CIFS code making it hard to read. This patch removes about a quarter of them from the C files in cifs by improving a few key ifdefs in the .h files. Signed-off-by: Steve French commit 7cc718d56c8297bd3a3c106ca09e8abf9814bb27 Author: Marcin Slusarz Date: Sun Feb 10 11:21:54 2008 +0100 slab: avoid double initialization & do initialization in 1 place - alloc_slabmgmt: initialize all slab fields in 1 place - slab->nodeid was initialized twice: in alloc_slabmgmt and immediately after it in cache_grow Signed-off-by: Marcin Slusarz CC: Christoph Lameter Reviewed-by: Pekka Enberg Signed-off-by: Christoph Lameter commit ad7a2926b9e53cfb3020d15bdfacacc54e2b63da Author: Steve French Date: Thu Feb 7 23:25:02 2008 +0000 [CIFS] reduce checkpatch warnings Signed-off-by: Steve French commit ead03e30b050d6dda769e7e9b071c5fa720bf8d2 Author: Andrew Morton Date: Tue Feb 5 15:51:24 2008 +0000 [CIFS] fix warning in cifs_spnego.c Signed-off-by: Andrew Morton Signed-off-by: Steve French commit db288381e26e592b11572ce8199bedeadf0c0830 Author: Sonic Zhang Date: Sat Feb 2 17:05:02 2008 +0800 [Blackfin] serial driver: Add flow control support to bf54x Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 4cb4f22b19237e63c460c53fbd1c417cdaf63014 Author: Sonic Zhang Date: Sat Feb 2 14:29:25 2008 +0800 [Blackfin] serial driver: Fix bug Poll RTS/CTS status in DMA mode as well https://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3858 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 095455682e29dbbc9f93ad83db459df524524992 Author: Michael Hennerich Date: Sat Feb 2 15:58:30 2008 +0800 [Blackfin] serial driver: ADSP-BF52x arch/mach support Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 1ba7a3ee310138015e744444043ce3e947429fce Author: Mike Frysinger Date: Fri Jan 11 15:56:26 2008 +0800 [Blackfin] serial driver: use simpler comment headers and strip out information that is maintained in the scm's log Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 8851c71eb97610f0f63121d62345c969f71201a2 Author: Mike Frysinger Date: Mon Dec 24 19:48:04 2007 +0800 [Blackfin] serial driver: rework break flood anomaly handling to be more robust/realistic about what we can actually work around Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0bcfd70ea11a5d6f2362be463513a60245a62baf Author: Mike Frysinger Date: Mon Dec 24 19:40:05 2007 +0800 [Blackfin] serial driver: fix bug - cache the bits of the LSR on systems where the LSR is read-to-clear Cache the bits of the LSR on systems where the LSR is read-to-clear so that we can safely read the LSR in random places. this fixes older parts where break/framing/parity/overflow was not being detected at all in PIO mode, and this fixes newer parts where break/framing/parity/overflow was being reported all the time without being cleared. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4c195ad88b7df54b2e7340dec3446aee6ca84cd1 Author: Sonic Zhang Date: Sun Dec 23 23:18:08 2007 +0800 [Blackfin] serial driver: fix bug - should not wait for the TFI bit, just clear it when tx stop. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 99ee7b5f3a68324807650f650f2613bbe281627f Author: Sonic Zhang Date: Fri Dec 21 17:12:55 2007 +0800 [Blackfin] serial driver: Fix bug serial driver in DMA mode spams history to console on shell restart http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=2920 Fix by increasing buffer tail immediately before starting tx dma. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 75b780bd99b851682289e7a88763ede5a936edb0 Author: Sonic Zhang Date: Fri Dec 21 17:03:39 2007 +0800 [Blackfin] serial driver: Fix bug Free rx dma buffer in shutdown. Kernel crash for the serial driver in DMA mode: http://blackfin.uclinux.org/gf/project/uclinux-dist/tracker/?action=TrackerItemEdit&tracker_item_id=3679 Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 1b73351c6afcc3acbf9e29a43ee14b3c9a386503 Author: Sonic Zhang Date: Fri Dec 21 16:45:12 2007 +0800 [Blackfin] serial driver: Clean up UART DMA code. Start next TX DMA in tx dma handler instead of rx timer handler. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 759eb040901af60d8a1a2b59b93805521b156cbb Author: Sonic Zhang Date: Wed Nov 21 17:00:32 2007 +0800 Blackfin Serial driver: Fix bug - serial driver in PIO mode cant handle input very quickly Output as many bytes as possible in PIO tx handler. This reduce the number of tx interrupts and shorten the delay to handle rx interrupt. So, rx overrun disappears. Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit c051489df8b027238ff22d64d4e01ede3ad77dd5 Author: Bryan Wu Date: Fri Feb 29 12:02:10 2008 +0800 [Blackfin] arch: kill section mismatch warnings Signed-off-by: Bryan Wu commit 8b07a2a1e58beb60c4a40a46251f053d64e1eb36 Author: Mike Frysinger Date: Fri Feb 29 11:57:35 2008 +0800 [Blackfin] arch: handle the most common L1 shrinkage case (L1 does not exist for a part) so that any parts labeled for L1 instead get placed into external memory sections Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 40edad3efadb3aa486c7a5452401c4de10902496 Author: Mike Frysinger Date: Mon Feb 25 15:23:30 2008 +0800 [Blackfin] arch: add bfin_clear_PPIx_STATUS() helper funcs like we have for other parts Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fee40119a2b2abbe239438b74052854db6f3444d Author: Mike Frysinger Date: Mon Feb 25 15:06:07 2008 +0800 [Blackfin] arch: make sure we have proper description/copyright/license lines Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 3927819d511f5b5855e6f2345f24e7b04e4fd2f5 Author: Michael Hennerich Date: Mon Feb 25 14:39:50 2008 +0800 [Blackfin] arch: Fix CONFIG_PM support for BF561 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 9253d02041c60d732713c40c59b49fbde8f3bc1c Author: Michael Hennerich Date: Mon Feb 25 14:27:28 2008 +0800 [Blackfin] arch: Remove DPMC char driver option Remove redundant/obsolete/dead code from DPMC driver Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 464abc5de6ea8f4af1c1246e0d1ea7b07362db43 Author: Michael Hennerich Date: Mon Feb 25 13:50:20 2008 +0800 [Blackfin] arch: Cleanup abd Simplify: - Simplify init_arch_irq - Make code more readable - Remove useless SSYNCs - Fix comments Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit ce3b7bb61c120e1e4e70e892ec281ef2bb81d6fa Author: Michael Hennerich Date: Mon Feb 25 13:48:47 2008 +0800 [Blackfin] arch: fix bug - linux-2.6.24 (delayed) disable IRQ feature not functional for handle_simple_irq Bypass delayed disable feature by implementing chip->disable and chip->enable. http://lkml.org/lkml/2008/2/19/115 Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit d45118b14bf04e124e4d875b136d5c1c4df97d57 Author: Mike Frysinger Date: Mon Feb 25 12:24:44 2008 +0800 [Blackfin] arch: make sure we export the _bfin_swrst symbol as modules (like the watchdog) need it Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 0db5d105cd62055ea7a3b7ddf7b7408ba65a07b9 Author: Mike Frysinger Date: Mon Feb 25 12:19:57 2008 +0800 [Blackfin] arch: punt the simple ad5304 spi driver now that the generic spidev driver lets you do it from userspace Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit fe9ec9b9698b95ad21617c1db21eb0d1c040b93d Author: Michael Hennerich Date: Mon Feb 25 12:04:57 2008 +0800 [Blackfin] arch: fix bug - Move IWR Enable All to the end of init_arch_irq otherwise it fails Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 181afa94989f431e93eccd784c14c37ccb395a00 Author: Mike Frysinger Date: Mon Feb 25 11:42:17 2008 +0800 [Blackfin] arch: grab mac address from OTP on BF527-EZKIT The bf527-ezkit stores the mac address in OTP, so grab it from there rather than flash Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 549aaa8425b4a1de23cbddc650dac75b91204af6 Author: Sonic Zhang Date: Mon Feb 25 11:13:07 2008 +0800 [Blackfin] arch: Fix bug - Setting peripheral_map only when dma channel is UART2/3. Singed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit cad2ab65dd1c7d65153ffccd71c90db028fd62f0 Author: Mike Frysinger Date: Fri Feb 22 17:01:31 2008 +0800 [Blackfin] arch: add board resources for new simple-gpio char driver Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit edf056417d11fe9321ec15a55bd128e4f4c73796 Author: Mike Frysinger Date: Mon Feb 25 11:38:11 2008 +0800 [Blackfin] arch: fix bug - set right partition size in the board files - set default u-boot partition size to 256k - modify the offset with the size change - use mtd defines (append for offset and full for size) where applicable rather than churning constants when we dont have to Signed-off-by: Grace Pan Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 32320ea0a63003a249773b5e3e459e66bb5fb8f8 Author: Sonic Zhang Date: Fri Feb 22 16:43:45 2008 +0800 [Blackfin] arch: Update default config Signed-off-by: Sonic Zhang Signed-off-by: Bryan Wu commit 8929ecf84df529338d258f0ad9c1e553dfc921bc Author: Mike Frysinger Date: Fri Feb 22 16:35:20 2008 +0800 [Blackfin] arch: add fixed code to the memory map output Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c63d4e64087aa6633c07964b5f028198c5bee762 Author: Mike Frysinger Date: Fri Feb 22 16:12:01 2008 +0800 [Blackfin] arch: add handling for the mach symlink in the `make V=1` case Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 4d94bf674683b0560720bdea3b0c5d4716e1abec Author: Mike Frysinger Date: Fri Feb 22 16:03:54 2008 +0800 [Blackfin] arch: respect `make -s` when creating the asm/mach symlink Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7aa475cfb7030f491d040333a343d8c414765f1a Author: Mike Frysinger Date: Fri Feb 22 16:01:50 2008 +0800 [Blackfin] arch: fix bug add missing header file Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 7dd06cdbd37c44a468117b0ffae0b54471268035 Author: Bryan Wu Date: Thu Feb 21 16:18:43 2008 +0800 [MAINTAINERS] use new kernel.org email for kernel development. Signed-off-by: Bryan Wu